./Ultimate.py --spec ../../sv-benchmarks/c/properties/termination.prp --file ../../sv-benchmarks/c/systemc/pc_sfifo_2_true-unreach-call_false-termination.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for termination Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/config/AutomizerTermination.xml -i ../../sv-benchmarks/c/systemc/pc_sfifo_2_true-unreach-call_false-termination.cil.c -s /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/config/svcomp-Termination-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(F end) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash d321e3b1b642bcfc9c94c4888bd187898cb1af58 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE(TERM) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 07:48:11,687 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 07:48:11,688 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 07:48:11,695 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 07:48:11,695 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 07:48:11,696 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 07:48:11,697 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 07:48:11,698 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 07:48:11,699 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 07:48:11,700 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 07:48:11,700 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 07:48:11,701 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 07:48:11,701 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 07:48:11,702 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 07:48:11,702 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 07:48:11,703 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 07:48:11,703 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 07:48:11,704 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 07:48:11,705 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 07:48:11,706 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 07:48:11,707 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 07:48:11,707 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 07:48:11,708 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 07:48:11,709 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 07:48:11,709 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 07:48:11,709 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 07:48:11,710 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 07:48:11,711 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 07:48:11,711 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 07:48:11,712 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 07:48:11,712 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 07:48:11,713 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 07:48:11,713 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 07:48:11,713 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 07:48:11,713 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 07:48:11,714 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 07:48:11,714 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/config/svcomp-Termination-32bit-Automizer_Default.epf [2018-11-23 07:48:11,722 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 07:48:11,722 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 07:48:11,723 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 07:48:11,723 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 07:48:11,723 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 07:48:11,723 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2018-11-23 07:48:11,723 INFO L133 SettingsManager]: * NCSB implementation=INTSET_LAZY3 [2018-11-23 07:48:11,723 INFO L133 SettingsManager]: * Use old map elimination=false [2018-11-23 07:48:11,723 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2018-11-23 07:48:11,723 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2018-11-23 07:48:11,724 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2018-11-23 07:48:11,724 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 07:48:11,724 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 07:48:11,724 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-11-23 07:48:11,724 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 07:48:11,724 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 07:48:11,724 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=ASSUME [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=ASSUME [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=ASSUME [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 07:48:11,725 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=ASSUME [2018-11-23 07:48:11,726 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 07:48:11,726 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 07:48:11,726 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2018-11-23 07:48:11,726 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 07:48:11,726 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 07:48:11,726 INFO L133 SettingsManager]: * Dump automata to the following directory=/home/matthias/ultimate/dump/auto [2018-11-23 07:48:11,727 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-11-23 07:48:11,727 INFO L133 SettingsManager]: * TransformationType=MODULO_NEIGHBOR 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_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer 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(F end) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer 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 -> d321e3b1b642bcfc9c94c4888bd187898cb1af58 [2018-11-23 07:48:11,750 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 07:48:11,759 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 07:48:11,762 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 07:48:11,763 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 07:48:11,763 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 07:48:11,764 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/../../sv-benchmarks/c/systemc/pc_sfifo_2_true-unreach-call_false-termination.cil.c [2018-11-23 07:48:11,799 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/data/bfc9fa1fa/9d511f485f4a4463b0cf905b1f41dd0f/FLAG604ac4e39 [2018-11-23 07:48:12,207 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 07:48:12,208 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/sv-benchmarks/c/systemc/pc_sfifo_2_true-unreach-call_false-termination.cil.c [2018-11-23 07:48:12,214 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/data/bfc9fa1fa/9d511f485f4a4463b0cf905b1f41dd0f/FLAG604ac4e39 [2018-11-23 07:48:12,223 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/data/bfc9fa1fa/9d511f485f4a4463b0cf905b1f41dd0f [2018-11-23 07:48:12,225 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 07:48:12,226 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 07:48:12,226 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 07:48:12,226 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 07:48:12,229 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 07:48:12,230 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,232 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15a4b09f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12, skipping insertion in model container [2018-11-23 07:48:12,232 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,241 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 07:48:12,261 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 07:48:12,387 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:48:12,390 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 07:48:12,412 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 07:48:12,423 INFO L195 MainTranslator]: Completed translation [2018-11-23 07:48:12,424 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12 WrapperNode [2018-11-23 07:48:12,424 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 07:48:12,424 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 07:48:12,424 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 07:48:12,424 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 07:48:12,430 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,434 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,491 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 07:48:12,491 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 07:48:12,492 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 07:48:12,492 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 07:48:12,498 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,498 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,499 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,499 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,503 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,510 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,511 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... [2018-11-23 07:48:12,513 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 07:48:12,514 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 07:48:12,514 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 07:48:12,514 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 07:48:12,515 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2018-11-23 07:48:12,563 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 07:48:12,563 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 07:48:12,889 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 07:48:12,890 INFO L280 CfgBuilder]: Removed 58 assue(true) statements. [2018-11-23 07:48:12,890 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:48:12 BoogieIcfgContainer [2018-11-23 07:48:12,890 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 07:48:12,890 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2018-11-23 07:48:12,890 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2018-11-23 07:48:12,894 INFO L276 PluginConnector]: BuchiAutomizer initialized [2018-11-23 07:48:12,895 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 07:48:12,895 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 23.11 07:48:12" (1/3) ... [2018-11-23 07:48:12,896 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@1a5a00e6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 07:48:12, skipping insertion in model container [2018-11-23 07:48:12,896 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 07:48:12,896 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 07:48:12" (2/3) ... [2018-11-23 07:48:12,897 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@1a5a00e6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 23.11 07:48:12, skipping insertion in model container [2018-11-23 07:48:12,897 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2018-11-23 07:48:12,897 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:48:12" (3/3) ... [2018-11-23 07:48:12,898 INFO L375 chiAutomizerObserver]: Analyzing ICFG pc_sfifo_2_true-unreach-call_false-termination.cil.c [2018-11-23 07:48:12,947 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 07:48:12,948 INFO L374 BuchiCegarLoop]: Interprodecural is true [2018-11-23 07:48:12,948 INFO L375 BuchiCegarLoop]: Hoare is false [2018-11-23 07:48:12,948 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2018-11-23 07:48:12,948 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 07:48:12,948 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 07:48:12,949 INFO L379 BuchiCegarLoop]: Difference is false [2018-11-23 07:48:12,949 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 07:48:12,949 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2018-11-23 07:48:12,963 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 92 states. [2018-11-23 07:48:12,985 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 61 [2018-11-23 07:48:12,985 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:12,985 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:12,992 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:12,992 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:12,992 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2018-11-23 07:48:12,992 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 92 states. [2018-11-23 07:48:12,995 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 61 [2018-11-23 07:48:12,995 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:12,995 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:12,996 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:12,996 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,001 INFO L794 eck$LassoCheckResult]: Stem: 37#ULTIMATE.startENTRYtrue ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 13#L-1true havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 76#L452true havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 10#L212true assume !(1 == ~q_req_up~0); 9#L212-1true assume !(1 == ~p_dw_i~0);~p_dw_st~0 := 2; 43#L227-1true assume !(1 == ~c_dr_i~0);~c_dr_st~0 := 2; 56#L232-1true assume !(0 == ~q_read_ev~0); 59#L265-1true assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; 21#L270-1true havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 42#L55true assume 1 == ~p_dw_pc~0; 72#L56true assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 44#L66true is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 74#L67true activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 69#L305true assume !(0 != activate_threads_~tmp~1); 75#L305-2true havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 62#L74true assume !(1 == ~c_dr_pc~0); 31#L74-2true is_do_read_c_triggered_~__retres1~1 := 0; 63#L85true is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 90#L86true activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 77#L313true assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 78#L313-2true assume !(1 == ~q_read_ev~0); 50#L283-1true assume !(1 == ~q_write_ev~0); 3#L409-1true [2018-11-23 07:48:13,002 INFO L796 eck$LassoCheckResult]: Loop: 3#L409-1true assume !false; 47#L410true start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 4#L354true assume false; 40#L370true start_simulation_~kernel_st~0 := 2; 7#L212-2true assume !(1 == ~q_req_up~0); 5#L212-3true start_simulation_~kernel_st~0 := 3; 57#L265-2true assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 51#L265-4true assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; 15#L270-3true havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 11#L55-3true assume 1 == ~p_dw_pc~0; 68#L56-1true assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 41#L66-1true is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 70#L67-1true activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 53#L305-3true assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 58#L305-5true havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 29#L74-3true assume 1 == ~c_dr_pc~0; 86#L75-1true assume 1 == ~q_write_ev~0;is_do_read_c_triggered_~__retres1~1 := 1; 33#L85-1true is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 87#L86-1true activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 80#L313-3true assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 61#L313-5true assume !(1 == ~q_read_ev~0); 73#L283-3true assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; 81#L288-3true havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 12#L245-1true assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 65#L257-1true exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 91#L258-1true stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 32#L384true assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 18#L391true stop_simulation_#res := stop_simulation_~__retres2~0; 39#L392true start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 83#L426true assume !(0 != start_simulation_~tmp~4); 3#L409-1true [2018-11-23 07:48:13,006 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,006 INFO L82 PathProgramCache]: Analyzing trace with hash 1146955365, now seen corresponding path program 1 times [2018-11-23 07:48:13,008 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,008 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,049 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,049 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,124 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,126 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,126 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,128 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 07:48:13,129 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,129 INFO L82 PathProgramCache]: Analyzing trace with hash -518202494, now seen corresponding path program 1 times [2018-11-23 07:48:13,129 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,129 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,130 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,137 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,137 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,137 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:48:13,138 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,152 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:13,153 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:13,154 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 3 states. [2018-11-23 07:48:13,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,170 INFO L93 Difference]: Finished difference Result 92 states and 135 transitions. [2018-11-23 07:48:13,171 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:13,172 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 92 states and 135 transitions. [2018-11-23 07:48:13,174 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 59 [2018-11-23 07:48:13,177 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 92 states to 86 states and 129 transitions. [2018-11-23 07:48:13,178 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 86 [2018-11-23 07:48:13,178 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 86 [2018-11-23 07:48:13,179 INFO L73 IsDeterministic]: Start isDeterministic. Operand 86 states and 129 transitions. [2018-11-23 07:48:13,179 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,179 INFO L705 BuchiCegarLoop]: Abstraction has 86 states and 129 transitions. [2018-11-23 07:48:13,190 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states and 129 transitions. [2018-11-23 07:48:13,199 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2018-11-23 07:48:13,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2018-11-23 07:48:13,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 129 transitions. [2018-11-23 07:48:13,201 INFO L728 BuchiCegarLoop]: Abstraction has 86 states and 129 transitions. [2018-11-23 07:48:13,201 INFO L608 BuchiCegarLoop]: Abstraction has 86 states and 129 transitions. [2018-11-23 07:48:13,201 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2018-11-23 07:48:13,201 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 86 states and 129 transitions. [2018-11-23 07:48:13,203 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 59 [2018-11-23 07:48:13,203 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,203 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,203 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,203 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,204 INFO L794 eck$LassoCheckResult]: Stem: 246#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 215#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 216#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 213#L212 assume !(1 == ~q_req_up~0); 206#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 207#L227-1 assume !(1 == ~c_dr_i~0);~c_dr_st~0 := 2; 252#L232-1 assume !(0 == ~q_read_ev~0); 262#L265-1 assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; 227#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 228#L55 assume 1 == ~p_dw_pc~0; 251#L56 assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 245#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 253#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 273#L305 assume !(0 != activate_threads_~tmp~1); 274#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 265#L74 assume !(1 == ~c_dr_pc~0); 236#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 237#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 267#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 276#L313 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 277#L313-2 assume !(1 == ~q_read_ev~0); 255#L283-1 assume !(1 == ~q_write_ev~0); 193#L409-1 [2018-11-23 07:48:13,204 INFO L796 eck$LassoCheckResult]: Loop: 193#L409-1 assume !false; 194#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 195#L354 assume !false; 196#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 241#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 242#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 270#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 256#L334 assume !(0 != eval_~tmp___1~0); 249#L370 start_simulation_~kernel_st~0 := 2; 202#L212-2 assume !(1 == ~q_req_up~0); 197#L212-3 start_simulation_~kernel_st~0 := 3; 198#L265-2 assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 258#L265-4 assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; 219#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 208#L55-3 assume 1 == ~p_dw_pc~0; 209#L56-1 assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 205#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 250#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 259#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 260#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 234#L74-3 assume !(1 == ~c_dr_pc~0); 231#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 232#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 239#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 278#L313-3 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 263#L313-5 assume !(1 == ~q_read_ev~0); 264#L283-3 assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; 275#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 210#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 211#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 269#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 238#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 221#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 222#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 248#L426 assume !(0 != start_simulation_~tmp~4); 193#L409-1 [2018-11-23 07:48:13,204 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,204 INFO L82 PathProgramCache]: Analyzing trace with hash -1153867225, now seen corresponding path program 1 times [2018-11-23 07:48:13,204 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,204 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,205 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,227 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,227 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,227 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,227 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 07:48:13,228 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,228 INFO L82 PathProgramCache]: Analyzing trace with hash 1442171118, now seen corresponding path program 1 times [2018-11-23 07:48:13,228 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,228 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,228 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,229 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,229 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,262 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,262 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,262 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,262 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,262 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:13,263 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:13,263 INFO L87 Difference]: Start difference. First operand 86 states and 129 transitions. cyclomatic complexity: 44 Second operand 3 states. [2018-11-23 07:48:13,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,282 INFO L93 Difference]: Finished difference Result 86 states and 128 transitions. [2018-11-23 07:48:13,283 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:13,283 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 86 states and 128 transitions. [2018-11-23 07:48:13,284 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 59 [2018-11-23 07:48:13,285 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 86 states to 86 states and 128 transitions. [2018-11-23 07:48:13,285 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 86 [2018-11-23 07:48:13,286 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 86 [2018-11-23 07:48:13,286 INFO L73 IsDeterministic]: Start isDeterministic. Operand 86 states and 128 transitions. [2018-11-23 07:48:13,286 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,286 INFO L705 BuchiCegarLoop]: Abstraction has 86 states and 128 transitions. [2018-11-23 07:48:13,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states and 128 transitions. [2018-11-23 07:48:13,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 86. [2018-11-23 07:48:13,290 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2018-11-23 07:48:13,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 128 transitions. [2018-11-23 07:48:13,291 INFO L728 BuchiCegarLoop]: Abstraction has 86 states and 128 transitions. [2018-11-23 07:48:13,291 INFO L608 BuchiCegarLoop]: Abstraction has 86 states and 128 transitions. [2018-11-23 07:48:13,291 INFO L442 BuchiCegarLoop]: ======== Iteration 3============ [2018-11-23 07:48:13,291 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 86 states and 128 transitions. [2018-11-23 07:48:13,292 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 59 [2018-11-23 07:48:13,292 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,292 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,293 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,293 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,293 INFO L794 eck$LassoCheckResult]: Stem: 425#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 394#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 395#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 387#L212 assume !(1 == ~q_req_up~0); 385#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 386#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 431#L232-1 assume !(0 == ~q_read_ev~0); 441#L265-1 assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; 404#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 405#L55 assume 1 == ~p_dw_pc~0; 430#L56 assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 421#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 432#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 450#L305 assume !(0 != activate_threads_~tmp~1); 451#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 444#L74 assume !(1 == ~c_dr_pc~0); 415#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 416#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 446#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 455#L313 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 456#L313-2 assume !(1 == ~q_read_ev~0); 434#L283-1 assume !(1 == ~q_write_ev~0); 372#L409-1 [2018-11-23 07:48:13,294 INFO L796 eck$LassoCheckResult]: Loop: 372#L409-1 assume !false; 373#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 374#L354 assume !false; 375#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 422#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 423#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 449#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 435#L334 assume !(0 != eval_~tmp___1~0); 428#L370 start_simulation_~kernel_st~0 := 2; 381#L212-2 assume !(1 == ~q_req_up~0); 376#L212-3 start_simulation_~kernel_st~0 := 3; 377#L265-2 assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 437#L265-4 assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; 398#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 389#L55-3 assume 1 == ~p_dw_pc~0; 390#L56-1 assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 384#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 429#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 438#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 439#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 413#L74-3 assume !(1 == ~c_dr_pc~0); 410#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 411#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 418#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 457#L313-3 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 442#L313-5 assume !(1 == ~q_read_ev~0); 443#L283-3 assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; 454#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 391#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 392#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 448#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 417#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 400#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 401#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 427#L426 assume !(0 != start_simulation_~tmp~4); 372#L409-1 [2018-11-23 07:48:13,294 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,294 INFO L82 PathProgramCache]: Analyzing trace with hash 434480677, now seen corresponding path program 1 times [2018-11-23 07:48:13,294 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,294 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,295 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,295 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,295 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,326 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,326 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,327 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,327 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 07:48:13,327 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,327 INFO L82 PathProgramCache]: Analyzing trace with hash 1442171118, now seen corresponding path program 2 times [2018-11-23 07:48:13,327 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,327 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,328 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,328 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,328 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,356 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,356 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,357 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,357 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,357 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:13,357 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:13,357 INFO L87 Difference]: Start difference. First operand 86 states and 128 transitions. cyclomatic complexity: 43 Second operand 3 states. [2018-11-23 07:48:13,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,398 INFO L93 Difference]: Finished difference Result 167 states and 243 transitions. [2018-11-23 07:48:13,398 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:13,399 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 167 states and 243 transitions. [2018-11-23 07:48:13,400 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 118 [2018-11-23 07:48:13,401 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 167 states to 167 states and 243 transitions. [2018-11-23 07:48:13,402 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 167 [2018-11-23 07:48:13,402 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 167 [2018-11-23 07:48:13,402 INFO L73 IsDeterministic]: Start isDeterministic. Operand 167 states and 243 transitions. [2018-11-23 07:48:13,403 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,403 INFO L705 BuchiCegarLoop]: Abstraction has 167 states and 243 transitions. [2018-11-23 07:48:13,403 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 167 states and 243 transitions. [2018-11-23 07:48:13,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 167 to 167. [2018-11-23 07:48:13,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 167 states. [2018-11-23 07:48:13,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 167 states to 167 states and 243 transitions. [2018-11-23 07:48:13,412 INFO L728 BuchiCegarLoop]: Abstraction has 167 states and 243 transitions. [2018-11-23 07:48:13,412 INFO L608 BuchiCegarLoop]: Abstraction has 167 states and 243 transitions. [2018-11-23 07:48:13,412 INFO L442 BuchiCegarLoop]: ======== Iteration 4============ [2018-11-23 07:48:13,413 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 167 states and 243 transitions. [2018-11-23 07:48:13,415 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 118 [2018-11-23 07:48:13,415 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,415 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,416 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,416 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,416 INFO L794 eck$LassoCheckResult]: Stem: 688#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 656#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 657#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 653#L212 assume !(1 == ~q_req_up~0); 655#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 754#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 750#L232-1 assume !(0 == ~q_read_ev~0); 707#L265-1 assume !(0 == ~q_write_ev~0); 668#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 669#L55 assume 1 == ~p_dw_pc~0; 749#L56 assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0 := 1; 746#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 726#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 727#L305 assume !(0 != activate_threads_~tmp~1); 728#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 729#L74 assume !(1 == ~c_dr_pc~0); 678#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 679#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 713#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 730#L313 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 731#L313-2 assume !(1 == ~q_read_ev~0); 698#L283-1 assume !(1 == ~q_write_ev~0); 699#L409-1 [2018-11-23 07:48:13,416 INFO L796 eck$LassoCheckResult]: Loop: 699#L409-1 assume !false; 778#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 772#L354 assume !false; 771#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 769#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 768#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 767#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 765#L334 assume !(0 != eval_~tmp___1~0); 763#L370 start_simulation_~kernel_st~0 := 2; 761#L212-2 assume !(1 == ~q_req_up~0); 759#L212-3 start_simulation_~kernel_st~0 := 3; 758#L265-2 assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 757#L265-4 assume !(0 == ~q_write_ev~0); 755#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 753#L55-3 assume !(1 == ~p_dw_pc~0); 643#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 644#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 692#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 745#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 744#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 743#L74-3 assume !(1 == ~c_dr_pc~0); 735#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 752#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 751#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 732#L313-3 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 708#L313-5 assume !(1 == ~q_read_ev~0); 709#L283-3 assume !(1 == ~q_write_ev~0); 725#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 793#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 791#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 790#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 789#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 788#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 787#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 781#L426 assume !(0 != start_simulation_~tmp~4); 699#L409-1 [2018-11-23 07:48:13,417 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,417 INFO L82 PathProgramCache]: Analyzing trace with hash -845383001, now seen corresponding path program 1 times [2018-11-23 07:48:13,417 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,417 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,418 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,418 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:13,418 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,443 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,443 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,443 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,443 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 07:48:13,444 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,444 INFO L82 PathProgramCache]: Analyzing trace with hash -656697805, now seen corresponding path program 1 times [2018-11-23 07:48:13,444 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,444 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,444 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,445 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,445 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,463 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,463 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,464 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,464 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,464 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:13,464 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:13,464 INFO L87 Difference]: Start difference. First operand 167 states and 243 transitions. cyclomatic complexity: 77 Second operand 3 states. [2018-11-23 07:48:13,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,501 INFO L93 Difference]: Finished difference Result 281 states and 402 transitions. [2018-11-23 07:48:13,501 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:13,501 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 281 states and 402 transitions. [2018-11-23 07:48:13,504 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 230 [2018-11-23 07:48:13,505 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 281 states to 281 states and 402 transitions. [2018-11-23 07:48:13,506 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 281 [2018-11-23 07:48:13,506 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 281 [2018-11-23 07:48:13,506 INFO L73 IsDeterministic]: Start isDeterministic. Operand 281 states and 402 transitions. [2018-11-23 07:48:13,507 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,507 INFO L705 BuchiCegarLoop]: Abstraction has 281 states and 402 transitions. [2018-11-23 07:48:13,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states and 402 transitions. [2018-11-23 07:48:13,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 275. [2018-11-23 07:48:13,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 275 states. [2018-11-23 07:48:13,516 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 394 transitions. [2018-11-23 07:48:13,516 INFO L728 BuchiCegarLoop]: Abstraction has 275 states and 394 transitions. [2018-11-23 07:48:13,517 INFO L608 BuchiCegarLoop]: Abstraction has 275 states and 394 transitions. [2018-11-23 07:48:13,517 INFO L442 BuchiCegarLoop]: ======== Iteration 5============ [2018-11-23 07:48:13,517 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 275 states and 394 transitions. [2018-11-23 07:48:13,518 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 224 [2018-11-23 07:48:13,518 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,518 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,519 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,519 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,519 INFO L794 eck$LassoCheckResult]: Stem: 1142#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 1109#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 1110#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 1105#L212 assume !(1 == ~q_req_up~0); 1107#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 1150#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 1151#L232-1 assume !(0 == ~q_read_ev~0); 1164#L265-1 assume !(0 == ~q_write_ev~0); 1120#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 1121#L55 assume !(1 == ~p_dw_pc~0); 1137#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 1138#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 1186#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 1187#L305 assume !(0 != activate_threads_~tmp~1); 1203#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 1202#L74 assume !(1 == ~c_dr_pc~0); 1132#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 1133#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 1171#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 1194#L313 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 1341#L313-2 assume !(1 == ~q_read_ev~0); 1155#L283-1 assume !(1 == ~q_write_ev~0); 1156#L409-1 [2018-11-23 07:48:13,519 INFO L796 eck$LassoCheckResult]: Loop: 1156#L409-1 assume !false; 1338#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 1332#L354 assume !false; 1331#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 1329#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 1328#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 1327#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 1325#L334 assume !(0 != eval_~tmp___1~0); 1324#L370 start_simulation_~kernel_st~0 := 2; 1098#L212-2 assume !(1 == ~q_req_up~0); 1091#L212-3 start_simulation_~kernel_st~0 := 3; 1092#L265-2 assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 1321#L265-4 assume !(0 == ~q_write_ev~0); 1113#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 1108#L55-3 assume !(1 == ~p_dw_pc~0); 1096#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 1097#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 1145#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 1157#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 1158#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 1130#L74-3 assume !(1 == ~c_dr_pc~0); 1127#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 1128#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 1135#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 1191#L313-3 assume 0 != activate_threads_~tmp___0~1;~c_dr_st~0 := 0; 1166#L313-5 assume !(1 == ~q_read_ev~0); 1167#L283-3 assume !(1 == ~q_write_ev~0); 1185#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 1102#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 1103#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 1346#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 1344#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 1343#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 1342#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 1340#L426 assume !(0 != start_simulation_~tmp~4); 1156#L409-1 [2018-11-23 07:48:13,520 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,520 INFO L82 PathProgramCache]: Analyzing trace with hash -2124707736, now seen corresponding path program 1 times [2018-11-23 07:48:13,520 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,520 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,521 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,521 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,577 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,577 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,577 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 07:48:13,578 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 07:48:13,578 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,578 INFO L82 PathProgramCache]: Analyzing trace with hash -656697805, now seen corresponding path program 2 times [2018-11-23 07:48:13,578 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,578 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,578 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,578 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,579 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,592 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,593 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,593 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,593 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,593 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 07:48:13,593 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 07:48:13,594 INFO L87 Difference]: Start difference. First operand 275 states and 394 transitions. cyclomatic complexity: 121 Second operand 5 states. [2018-11-23 07:48:13,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,654 INFO L93 Difference]: Finished difference Result 662 states and 954 transitions. [2018-11-23 07:48:13,655 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 07:48:13,655 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 662 states and 954 transitions. [2018-11-23 07:48:13,659 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 596 [2018-11-23 07:48:13,662 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 662 states to 662 states and 954 transitions. [2018-11-23 07:48:13,662 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 662 [2018-11-23 07:48:13,663 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 662 [2018-11-23 07:48:13,663 INFO L73 IsDeterministic]: Start isDeterministic. Operand 662 states and 954 transitions. [2018-11-23 07:48:13,665 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,665 INFO L705 BuchiCegarLoop]: Abstraction has 662 states and 954 transitions. [2018-11-23 07:48:13,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 662 states and 954 transitions. [2018-11-23 07:48:13,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 662 to 284. [2018-11-23 07:48:13,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 284 states. [2018-11-23 07:48:13,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 400 transitions. [2018-11-23 07:48:13,677 INFO L728 BuchiCegarLoop]: Abstraction has 284 states and 400 transitions. [2018-11-23 07:48:13,677 INFO L608 BuchiCegarLoop]: Abstraction has 284 states and 400 transitions. [2018-11-23 07:48:13,677 INFO L442 BuchiCegarLoop]: ======== Iteration 6============ [2018-11-23 07:48:13,677 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 284 states and 400 transitions. [2018-11-23 07:48:13,679 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 230 [2018-11-23 07:48:13,679 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,679 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,679 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,680 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,680 INFO L794 eck$LassoCheckResult]: Stem: 2093#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 2060#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 2061#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 2052#L212 assume !(1 == ~q_req_up~0); 2054#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 2099#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 2100#L232-1 assume !(0 == ~q_read_ev~0); 2113#L265-1 assume !(0 == ~q_write_ev~0); 2117#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 2158#L55 assume !(1 == ~p_dw_pc~0); 2157#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 2156#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 2155#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 2154#L305 assume !(0 != activate_threads_~tmp~1); 2153#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 2152#L74 assume !(1 == ~c_dr_pc~0); 2083#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 2084#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 2146#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 2147#L313 assume !(0 != activate_threads_~tmp___0~1); 2220#L313-2 assume !(1 == ~q_read_ev~0); 2104#L283-1 assume !(1 == ~q_write_ev~0); 2105#L409-1 [2018-11-23 07:48:13,680 INFO L796 eck$LassoCheckResult]: Loop: 2105#L409-1 assume !false; 2210#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 2198#L354 assume !false; 2196#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 2193#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 2190#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 2188#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 2185#L334 assume !(0 != eval_~tmp___1~0); 2182#L370 start_simulation_~kernel_st~0 := 2; 2177#L212-2 assume !(1 == ~q_req_up~0); 2172#L212-3 start_simulation_~kernel_st~0 := 3; 2170#L265-2 assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 2168#L265-4 assume !(0 == ~q_write_ev~0); 2064#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 2055#L55-3 assume !(1 == ~p_dw_pc~0); 2056#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 2272#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 2271#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 2270#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 2269#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 2268#L74-3 assume !(1 == ~c_dr_pc~0); 2266#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 2265#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 2264#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 2263#L313-3 assume !(0 != activate_threads_~tmp___0~1); 2262#L313-5 assume !(1 == ~q_read_ev~0); 2261#L283-3 assume !(1 == ~q_write_ev~0); 2231#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 2260#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 2258#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 2257#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 2256#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 2255#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 2253#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 2237#L426 assume !(0 != start_simulation_~tmp~4); 2105#L409-1 [2018-11-23 07:48:13,680 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,680 INFO L82 PathProgramCache]: Analyzing trace with hash -2124705814, now seen corresponding path program 1 times [2018-11-23 07:48:13,680 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,681 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,681 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,681 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:13,681 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:13,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:13,706 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,706 INFO L82 PathProgramCache]: Analyzing trace with hash 44366773, now seen corresponding path program 1 times [2018-11-23 07:48:13,706 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,706 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,707 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,707 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,707 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,730 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,731 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,731 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,731 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,731 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:13,731 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:13,731 INFO L87 Difference]: Start difference. First operand 284 states and 400 transitions. cyclomatic complexity: 118 Second operand 3 states. [2018-11-23 07:48:13,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,777 INFO L93 Difference]: Finished difference Result 385 states and 524 transitions. [2018-11-23 07:48:13,777 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:13,778 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 385 states and 524 transitions. [2018-11-23 07:48:13,780 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 298 [2018-11-23 07:48:13,782 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 385 states to 385 states and 524 transitions. [2018-11-23 07:48:13,782 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 385 [2018-11-23 07:48:13,783 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 385 [2018-11-23 07:48:13,783 INFO L73 IsDeterministic]: Start isDeterministic. Operand 385 states and 524 transitions. [2018-11-23 07:48:13,784 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,784 INFO L705 BuchiCegarLoop]: Abstraction has 385 states and 524 transitions. [2018-11-23 07:48:13,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 385 states and 524 transitions. [2018-11-23 07:48:13,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 385 to 385. [2018-11-23 07:48:13,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 385 states. [2018-11-23 07:48:13,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 385 states to 385 states and 524 transitions. [2018-11-23 07:48:13,793 INFO L728 BuchiCegarLoop]: Abstraction has 385 states and 524 transitions. [2018-11-23 07:48:13,793 INFO L608 BuchiCegarLoop]: Abstraction has 385 states and 524 transitions. [2018-11-23 07:48:13,793 INFO L442 BuchiCegarLoop]: ======== Iteration 7============ [2018-11-23 07:48:13,793 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 385 states and 524 transitions. [2018-11-23 07:48:13,795 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 298 [2018-11-23 07:48:13,795 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,795 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,796 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,796 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,796 INFO L794 eck$LassoCheckResult]: Stem: 2768#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 2734#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 2735#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 2727#L212 assume !(1 == ~q_req_up~0); 2729#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 2773#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 2774#L232-1 assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; 2784#L265-1 assume !(0 == ~q_write_ev~0); 2971#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 2970#L55 assume !(1 == ~p_dw_pc~0); 2969#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 2968#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 2967#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 2966#L305 assume !(0 != activate_threads_~tmp~1); 2965#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 2964#L74 assume !(1 == ~c_dr_pc~0); 2962#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 2959#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 2957#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 2952#L313 assume !(0 != activate_threads_~tmp___0~1); 2937#L313-2 assume 1 == ~q_read_ev~0;~q_read_ev~0 := 2; 2777#L283-1 assume !(1 == ~q_write_ev~0); 2712#L409-1 [2018-11-23 07:48:13,797 INFO L796 eck$LassoCheckResult]: Loop: 2712#L409-1 assume !false; 2713#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 2714#L354 assume !false; 2715#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 2765#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 2766#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 2796#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 2778#L334 assume !(0 != eval_~tmp___1~0); 2771#L370 start_simulation_~kernel_st~0 := 2; 2721#L212-2 assume !(1 == ~q_req_up~0); 2716#L212-3 start_simulation_~kernel_st~0 := 3; 2717#L265-2 assume !(0 == ~q_read_ev~0); 2786#L265-4 assume !(0 == ~q_write_ev~0); 3096#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 3095#L55-3 assume !(1 == ~p_dw_pc~0); 3094#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 3092#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 2803#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 2781#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 2782#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 2755#L74-3 assume !(1 == ~c_dr_pc~0); 2757#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 3087#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 3086#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 2864#L313-3 assume !(0 != activate_threads_~tmp___0~1); 2861#L313-5 assume !(1 == ~q_read_ev~0); 2789#L283-3 assume !(1 == ~q_write_ev~0); 2804#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 2731#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 2732#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 2794#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 2760#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 2741#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 2742#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 2770#L426 assume !(0 != start_simulation_~tmp~4); 2712#L409-1 [2018-11-23 07:48:13,797 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,797 INFO L82 PathProgramCache]: Analyzing trace with hash -1103637522, now seen corresponding path program 1 times [2018-11-23 07:48:13,797 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,797 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,798 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,822 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,822 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,822 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:13,823 INFO L799 eck$LassoCheckResult]: stem already infeasible [2018-11-23 07:48:13,823 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,823 INFO L82 PathProgramCache]: Analyzing trace with hash -89646733, now seen corresponding path program 1 times [2018-11-23 07:48:13,823 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,823 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,824 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,824 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,824 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:13,874 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:13,874 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:13,874 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 07:48:13,874 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:13,874 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:13,875 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:13,875 INFO L87 Difference]: Start difference. First operand 385 states and 524 transitions. cyclomatic complexity: 141 Second operand 3 states. [2018-11-23 07:48:13,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:13,917 INFO L93 Difference]: Finished difference Result 662 states and 899 transitions. [2018-11-23 07:48:13,917 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:13,918 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 662 states and 899 transitions. [2018-11-23 07:48:13,922 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 528 [2018-11-23 07:48:13,925 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 662 states to 662 states and 899 transitions. [2018-11-23 07:48:13,925 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 662 [2018-11-23 07:48:13,926 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 662 [2018-11-23 07:48:13,926 INFO L73 IsDeterministic]: Start isDeterministic. Operand 662 states and 899 transitions. [2018-11-23 07:48:13,927 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:13,927 INFO L705 BuchiCegarLoop]: Abstraction has 662 states and 899 transitions. [2018-11-23 07:48:13,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 662 states and 899 transitions. [2018-11-23 07:48:13,937 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 662 to 662. [2018-11-23 07:48:13,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 662 states. [2018-11-23 07:48:13,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 662 states to 662 states and 899 transitions. [2018-11-23 07:48:13,940 INFO L728 BuchiCegarLoop]: Abstraction has 662 states and 899 transitions. [2018-11-23 07:48:13,940 INFO L608 BuchiCegarLoop]: Abstraction has 662 states and 899 transitions. [2018-11-23 07:48:13,940 INFO L442 BuchiCegarLoop]: ======== Iteration 8============ [2018-11-23 07:48:13,940 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 662 states and 899 transitions. [2018-11-23 07:48:13,943 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 528 [2018-11-23 07:48:13,943 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:13,943 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:13,944 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,944 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:13,944 INFO L794 eck$LassoCheckResult]: Stem: 3825#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 3791#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 3792#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 3783#L212 assume !(1 == ~q_req_up~0); 3785#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 3832#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 3833#L232-1 assume !(0 == ~q_read_ev~0); 3849#L265-1 assume !(0 == ~q_write_ev~0); 3851#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 3831#L55 assume !(1 == ~p_dw_pc~0); 3820#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 3821#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 3970#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 3969#L305 assume !(0 != activate_threads_~tmp~1); 3968#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 3967#L74 assume !(1 == ~c_dr_pc~0); 3940#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 3941#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 3932#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 3933#L313 assume !(0 != activate_threads_~tmp___0~1); 4000#L313-2 assume !(1 == ~q_read_ev~0); 3837#L283-1 assume !(1 == ~q_write_ev~0); 3838#L409-1 [2018-11-23 07:48:13,944 INFO L796 eck$LassoCheckResult]: Loop: 3838#L409-1 assume !false; 3990#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 3983#L354 assume !false; 3984#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 3978#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 3979#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 4052#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 4047#L334 assume !(0 != eval_~tmp___1~0); 4043#L370 start_simulation_~kernel_st~0 := 2; 4039#L212-2 assume !(1 == ~q_req_up~0); 4040#L212-3 start_simulation_~kernel_st~0 := 3; 4171#L265-2 assume !(0 == ~q_read_ev~0); 4168#L265-4 assume !(0 == ~q_write_ev~0); 4165#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 4156#L55-3 assume !(1 == ~p_dw_pc~0); 4154#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 4152#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 4150#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 4148#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 4146#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 4144#L74-3 assume !(1 == ~c_dr_pc~0); 4140#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 4138#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 4136#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 4118#L313-3 assume !(0 != activate_threads_~tmp___0~1); 4113#L313-5 assume !(1 == ~q_read_ev~0); 4108#L283-3 assume !(1 == ~q_write_ev~0); 4104#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 4101#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 4098#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 4096#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 4094#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 4092#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 4090#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 4087#L426 assume !(0 != start_simulation_~tmp~4); 3838#L409-1 [2018-11-23 07:48:13,945 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,945 INFO L82 PathProgramCache]: Analyzing trace with hash -2124705814, now seen corresponding path program 2 times [2018-11-23 07:48:13,945 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,945 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,946 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:13,946 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:13,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:13,956 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:13,956 INFO L82 PathProgramCache]: Analyzing trace with hash -89646733, now seen corresponding path program 2 times [2018-11-23 07:48:13,957 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:13,957 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:13,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,957 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:13,958 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:13,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:14,001 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:14,002 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:14,002 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 07:48:14,002 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:14,002 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 07:48:14,002 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 07:48:14,002 INFO L87 Difference]: Start difference. First operand 662 states and 899 transitions. cyclomatic complexity: 239 Second operand 5 states. [2018-11-23 07:48:14,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:14,074 INFO L93 Difference]: Finished difference Result 954 states and 1287 transitions. [2018-11-23 07:48:14,074 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 07:48:14,074 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 954 states and 1287 transitions. [2018-11-23 07:48:14,078 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 812 [2018-11-23 07:48:14,080 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 954 states to 954 states and 1287 transitions. [2018-11-23 07:48:14,080 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 954 [2018-11-23 07:48:14,081 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 954 [2018-11-23 07:48:14,081 INFO L73 IsDeterministic]: Start isDeterministic. Operand 954 states and 1287 transitions. [2018-11-23 07:48:14,082 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:14,082 INFO L705 BuchiCegarLoop]: Abstraction has 954 states and 1287 transitions. [2018-11-23 07:48:14,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 954 states and 1287 transitions. [2018-11-23 07:48:14,089 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 954 to 686. [2018-11-23 07:48:14,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 686 states. [2018-11-23 07:48:14,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 686 states to 686 states and 923 transitions. [2018-11-23 07:48:14,091 INFO L728 BuchiCegarLoop]: Abstraction has 686 states and 923 transitions. [2018-11-23 07:48:14,091 INFO L608 BuchiCegarLoop]: Abstraction has 686 states and 923 transitions. [2018-11-23 07:48:14,091 INFO L442 BuchiCegarLoop]: ======== Iteration 9============ [2018-11-23 07:48:14,091 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 686 states and 923 transitions. [2018-11-23 07:48:14,093 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 552 [2018-11-23 07:48:14,093 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:14,093 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:14,094 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,094 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,094 INFO L794 eck$LassoCheckResult]: Stem: 5459#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 5423#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 5424#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 5416#L212 assume !(1 == ~q_req_up~0); 5418#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 5467#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 5468#L232-1 assume !(0 == ~q_read_ev~0); 5599#L265-1 assume !(0 == ~q_write_ev~0); 5598#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 5597#L55 assume !(1 == ~p_dw_pc~0); 5596#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 5595#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 5594#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 5593#L305 assume !(0 != activate_threads_~tmp~1); 5592#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 5591#L74 assume !(1 == ~c_dr_pc~0); 5586#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 5587#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 5567#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 5568#L313 assume !(0 != activate_threads_~tmp___0~1); 5511#L313-2 assume !(1 == ~q_read_ev~0); 5512#L283-1 assume !(1 == ~q_write_ev~0); 6035#L409-1 [2018-11-23 07:48:14,094 INFO L796 eck$LassoCheckResult]: Loop: 6035#L409-1 assume !false; 6033#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 6026#L354 assume !false; 6004#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 5987#L245 assume !(0 == ~p_dw_st~0); 5985#L249 assume !(0 == ~c_dr_st~0);exists_runnable_thread_~__retres1~2 := 0; 5984#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 5849#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 5850#L334 assume !(0 != eval_~tmp___1~0); 5981#L370 start_simulation_~kernel_st~0 := 2; 5409#L212-2 assume !(1 == ~q_req_up~0); 5411#L212-3 start_simulation_~kernel_st~0 := 3; 5484#L265-2 assume !(0 == ~q_read_ev~0); 5485#L265-4 assume !(0 == ~q_write_ev~0); 6020#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 6019#L55-3 assume !(1 == ~p_dw_pc~0); 6018#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 6017#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 6016#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 6012#L305-3 assume 0 != activate_threads_~tmp~1;~p_dw_st~0 := 0; 6010#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 6009#L74-3 assume !(1 == ~c_dr_pc~0); 5442#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 5443#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 6006#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 6005#L313-3 assume !(0 != activate_threads_~tmp___0~1); 5988#L313-5 assume !(1 == ~q_read_ev~0); 5489#L283-3 assume !(1 == ~q_write_ev~0); 6050#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 6049#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 6047#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 6046#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 6045#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 6044#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 6042#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 6039#L426 assume !(0 != start_simulation_~tmp~4); 6035#L409-1 [2018-11-23 07:48:14,094 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,095 INFO L82 PathProgramCache]: Analyzing trace with hash -2124705814, now seen corresponding path program 3 times [2018-11-23 07:48:14,095 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,095 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,095 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,095 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:14,096 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,105 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,106 INFO L82 PathProgramCache]: Analyzing trace with hash 1115731674, now seen corresponding path program 1 times [2018-11-23 07:48:14,106 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,106 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,106 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,107 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:14,107 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:14,150 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:14,150 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:14,150 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-23 07:48:14,151 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:14,151 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-23 07:48:14,151 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-23 07:48:14,151 INFO L87 Difference]: Start difference. First operand 686 states and 923 transitions. cyclomatic complexity: 239 Second operand 5 states. [2018-11-23 07:48:14,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:14,217 INFO L93 Difference]: Finished difference Result 950 states and 1267 transitions. [2018-11-23 07:48:14,218 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 07:48:14,218 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 950 states and 1267 transitions. [2018-11-23 07:48:14,222 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 816 [2018-11-23 07:48:14,226 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 950 states to 950 states and 1267 transitions. [2018-11-23 07:48:14,227 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 950 [2018-11-23 07:48:14,227 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 950 [2018-11-23 07:48:14,227 INFO L73 IsDeterministic]: Start isDeterministic. Operand 950 states and 1267 transitions. [2018-11-23 07:48:14,229 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:14,229 INFO L705 BuchiCegarLoop]: Abstraction has 950 states and 1267 transitions. [2018-11-23 07:48:14,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 950 states and 1267 transitions. [2018-11-23 07:48:14,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 950 to 692. [2018-11-23 07:48:14,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 692 states. [2018-11-23 07:48:14,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 692 states to 692 states and 913 transitions. [2018-11-23 07:48:14,241 INFO L728 BuchiCegarLoop]: Abstraction has 692 states and 913 transitions. [2018-11-23 07:48:14,242 INFO L608 BuchiCegarLoop]: Abstraction has 692 states and 913 transitions. [2018-11-23 07:48:14,242 INFO L442 BuchiCegarLoop]: ======== Iteration 10============ [2018-11-23 07:48:14,242 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 692 states and 913 transitions. [2018-11-23 07:48:14,244 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 558 [2018-11-23 07:48:14,245 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:14,245 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:14,245 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,246 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,246 INFO L794 eck$LassoCheckResult]: Stem: 7108#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 7073#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 7074#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 7070#L212 assume !(1 == ~q_req_up~0); 7072#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 7118#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 7119#L232-1 assume !(0 == ~q_read_ev~0); 7246#L265-1 assume !(0 == ~q_write_ev~0); 7245#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 7244#L55 assume !(1 == ~p_dw_pc~0); 7243#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 7242#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 7241#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 7240#L305 assume !(0 != activate_threads_~tmp~1); 7239#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 7238#L74 assume !(1 == ~c_dr_pc~0); 7235#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 7236#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 7230#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 7231#L313 assume !(0 != activate_threads_~tmp___0~1); 7160#L313-2 assume !(1 == ~q_read_ev~0); 7122#L283-1 assume !(1 == ~q_write_ev~0); 7123#L409-1 [2018-11-23 07:48:14,246 INFO L796 eck$LassoCheckResult]: Loop: 7123#L409-1 assume !false; 7458#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 7445#L354 assume !false; 7442#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 7439#L245 assume !(0 == ~p_dw_st~0); 7434#L249 assume !(0 == ~c_dr_st~0);exists_runnable_thread_~__retres1~2 := 0; 7430#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 7427#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 7423#L334 assume !(0 != eval_~tmp___1~0); 7419#L370 start_simulation_~kernel_st~0 := 2; 7414#L212-2 assume !(1 == ~q_req_up~0); 7415#L212-3 start_simulation_~kernel_st~0 := 3; 7594#L265-2 assume !(0 == ~q_read_ev~0); 7592#L265-4 assume !(0 == ~q_write_ev~0); 7590#L270-3 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 7588#L55-3 assume !(1 == ~p_dw_pc~0); 7585#L55-5 is_do_write_p_triggered_~__retres1~0 := 0; 7582#L66-1 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 7579#L67-1 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 7576#L305-3 assume !(0 != activate_threads_~tmp~1); 7571#L305-5 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 7568#L74-3 assume !(1 == ~c_dr_pc~0); 7564#L74-5 is_do_read_c_triggered_~__retres1~1 := 0; 7561#L85-1 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 7558#L86-1 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 7556#L313-3 assume !(0 != activate_threads_~tmp___0~1); 7553#L313-5 assume !(1 == ~q_read_ev~0); 7552#L283-3 assume !(1 == ~q_write_ev~0); 7490#L288-3 havoc stop_simulation_#res;havoc stop_simulation_#t~ret8, stop_simulation_~tmp~3, stop_simulation_~__retres2~0;havoc stop_simulation_~tmp~3;havoc stop_simulation_~__retres2~0;havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 7548#L245-1 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 7545#L257-1 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 7543#L258-1 stop_simulation_#t~ret8 := exists_runnable_thread_#res;stop_simulation_~tmp~3 := stop_simulation_#t~ret8;havoc stop_simulation_#t~ret8; 7541#L384 assume 0 != stop_simulation_~tmp~3;stop_simulation_~__retres2~0 := 0; 7539#L391 stop_simulation_#res := stop_simulation_~__retres2~0; 7537#L392 start_simulation_#t~ret9 := stop_simulation_#res;start_simulation_~tmp~4 := start_simulation_#t~ret9;havoc start_simulation_#t~ret9; 7536#L426 assume !(0 != start_simulation_~tmp~4); 7123#L409-1 [2018-11-23 07:48:14,246 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,246 INFO L82 PathProgramCache]: Analyzing trace with hash -2124705814, now seen corresponding path program 4 times [2018-11-23 07:48:14,246 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,247 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,247 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,247 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:14,247 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,257 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,258 INFO L82 PathProgramCache]: Analyzing trace with hash -472616228, now seen corresponding path program 1 times [2018-11-23 07:48:14,258 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,258 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,258 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,259 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:14,259 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:14,288 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:14,288 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:14,288 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 07:48:14,289 INFO L811 eck$LassoCheckResult]: loop already infeasible [2018-11-23 07:48:14,289 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:14,289 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:14,289 INFO L87 Difference]: Start difference. First operand 692 states and 913 transitions. cyclomatic complexity: 223 Second operand 3 states. [2018-11-23 07:48:14,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:14,324 INFO L93 Difference]: Finished difference Result 837 states and 1079 transitions. [2018-11-23 07:48:14,324 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:14,324 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 837 states and 1079 transitions. [2018-11-23 07:48:14,328 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 695 [2018-11-23 07:48:14,331 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 837 states to 837 states and 1079 transitions. [2018-11-23 07:48:14,332 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 837 [2018-11-23 07:48:14,332 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 837 [2018-11-23 07:48:14,333 INFO L73 IsDeterministic]: Start isDeterministic. Operand 837 states and 1079 transitions. [2018-11-23 07:48:14,334 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:14,334 INFO L705 BuchiCegarLoop]: Abstraction has 837 states and 1079 transitions. [2018-11-23 07:48:14,334 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 837 states and 1079 transitions. [2018-11-23 07:48:14,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 837 to 837. [2018-11-23 07:48:14,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 837 states. [2018-11-23 07:48:14,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 837 states to 837 states and 1079 transitions. [2018-11-23 07:48:14,347 INFO L728 BuchiCegarLoop]: Abstraction has 837 states and 1079 transitions. [2018-11-23 07:48:14,347 INFO L608 BuchiCegarLoop]: Abstraction has 837 states and 1079 transitions. [2018-11-23 07:48:14,347 INFO L442 BuchiCegarLoop]: ======== Iteration 11============ [2018-11-23 07:48:14,347 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 837 states and 1079 transitions. [2018-11-23 07:48:14,350 INFO L131 ngComponentsAnalysis]: Automaton has 8 accepting balls. 695 [2018-11-23 07:48:14,351 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:14,351 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:14,351 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,351 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,352 INFO L794 eck$LassoCheckResult]: Stem: 8640#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 8605#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 8606#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 8602#L212 assume !(1 == ~q_req_up~0); 8604#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 8646#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 8647#L232-1 assume !(0 == ~q_read_ev~0); 8665#L265-1 assume !(0 == ~q_write_ev~0); 8619#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 8620#L55 assume !(1 == ~p_dw_pc~0); 8638#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 8639#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 8648#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 8684#L305 assume !(0 != activate_threads_~tmp~1); 9208#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 9187#L74 assume !(1 == ~c_dr_pc~0); 9183#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 9181#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 9179#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 9172#L313 assume !(0 != activate_threads_~tmp___0~1); 9169#L313-2 assume !(1 == ~q_read_ev~0); 8655#L283-1 assume !(1 == ~q_write_ev~0); 8656#L409-1 assume !false; 9385#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 9380#L354 [2018-11-23 07:48:14,352 INFO L796 eck$LassoCheckResult]: Loop: 9380#L354 assume !false; 9378#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 9263#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 9262#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 9217#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 9216#L334 assume 0 != eval_~tmp___1~0; 9214#L334-1 assume 0 == ~p_dw_st~0;eval_~tmp~2 := eval_#t~nondet6;havoc eval_#t~nondet6; 8590#L343 assume !(0 != eval_~tmp~2); 8591#L339 assume !(0 == ~c_dr_st~0); 9380#L354 [2018-11-23 07:48:14,352 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,352 INFO L82 PathProgramCache]: Analyzing trace with hash -1732817812, now seen corresponding path program 1 times [2018-11-23 07:48:14,352 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,352 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,353 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,353 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:14,353 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,363 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,363 INFO L82 PathProgramCache]: Analyzing trace with hash -446247985, now seen corresponding path program 1 times [2018-11-23 07:48:14,363 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,363 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,364 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,364 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:14,364 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,369 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,369 INFO L82 PathProgramCache]: Analyzing trace with hash 316098500, now seen corresponding path program 1 times [2018-11-23 07:48:14,369 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,369 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,370 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,370 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:14,370 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 07:48:14,391 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 07:48:14,391 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 07:48:14,391 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 07:48:14,481 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 07:48:14,481 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 07:48:14,481 INFO L87 Difference]: Start difference. First operand 837 states and 1079 transitions. cyclomatic complexity: 250 Second operand 3 states. [2018-11-23 07:48:14,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 07:48:14,633 INFO L93 Difference]: Finished difference Result 1083 states and 1374 transitions. [2018-11-23 07:48:14,634 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 07:48:14,634 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 1083 states and 1374 transitions. [2018-11-23 07:48:14,637 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 933 [2018-11-23 07:48:14,640 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 1083 states to 1083 states and 1374 transitions. [2018-11-23 07:48:14,640 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 1083 [2018-11-23 07:48:14,641 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 1083 [2018-11-23 07:48:14,641 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1083 states and 1374 transitions. [2018-11-23 07:48:14,642 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2018-11-23 07:48:14,642 INFO L705 BuchiCegarLoop]: Abstraction has 1083 states and 1374 transitions. [2018-11-23 07:48:14,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1083 states and 1374 transitions. [2018-11-23 07:48:14,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1083 to 1083. [2018-11-23 07:48:14,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 1083 states. [2018-11-23 07:48:14,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1083 states to 1083 states and 1374 transitions. [2018-11-23 07:48:14,651 INFO L728 BuchiCegarLoop]: Abstraction has 1083 states and 1374 transitions. [2018-11-23 07:48:14,651 INFO L608 BuchiCegarLoop]: Abstraction has 1083 states and 1374 transitions. [2018-11-23 07:48:14,651 INFO L442 BuchiCegarLoop]: ======== Iteration 12============ [2018-11-23 07:48:14,651 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 1083 states and 1374 transitions. [2018-11-23 07:48:14,653 INFO L131 ngComponentsAnalysis]: Automaton has 10 accepting balls. 933 [2018-11-23 07:48:14,653 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2018-11-23 07:48:14,653 INFO L119 BuchiIsEmpty]: Starting construction of run [2018-11-23 07:48:14,654 INFO L866 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,654 INFO L867 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 07:48:14,654 INFO L794 eck$LassoCheckResult]: Stem: 10571#ULTIMATE.startENTRY ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; 10532#L-1 havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; 10533#L452 havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; 10529#L212 assume !(1 == ~q_req_up~0); 10525#L212-1 assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; 10526#L227-1 assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; 10594#L232-1 assume !(0 == ~q_read_ev~0); 10595#L265-1 assume !(0 == ~q_write_ev~0); 10598#L270-1 havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; 10577#L55 assume !(1 == ~p_dw_pc~0); 10569#L55-2 is_do_write_p_triggered_~__retres1~0 := 0; 10570#L66 is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; 10616#L67 activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; 10613#L305 assume !(0 != activate_threads_~tmp~1); 10614#L305-2 havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; 10601#L74 assume !(1 == ~c_dr_pc~0); 10602#L74-2 is_do_read_c_triggered_~__retres1~1 := 0; 11240#L85 is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; 11238#L86 activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; 10617#L313 assume !(0 != activate_threads_~tmp___0~1); 10618#L313-2 assume !(1 == ~q_read_ev~0); 10585#L283-1 assume !(1 == ~q_write_ev~0); 10586#L409-1 assume !false; 11243#L410 start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; 11232#L354 [2018-11-23 07:48:14,654 INFO L796 eck$LassoCheckResult]: Loop: 11232#L354 assume !false; 11242#L330 havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; 11241#L245 assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; 11239#L257 exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; 11237#L258 eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; 11236#L334 assume 0 != eval_~tmp___1~0; 11235#L334-1 assume 0 == ~p_dw_st~0;eval_~tmp~2 := eval_#t~nondet6;havoc eval_#t~nondet6; 11234#L343 assume !(0 != eval_~tmp~2); 11233#L339 assume 0 == ~c_dr_st~0;eval_~tmp___0~2 := eval_#t~nondet7;havoc eval_#t~nondet7; 11221#L358 assume !(0 != eval_~tmp___0~2); 11232#L354 [2018-11-23 07:48:14,654 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,654 INFO L82 PathProgramCache]: Analyzing trace with hash -1732817812, now seen corresponding path program 2 times [2018-11-23 07:48:14,654 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,655 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,655 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,655 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:14,655 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,664 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,664 INFO L82 PathProgramCache]: Analyzing trace with hash -948787220, now seen corresponding path program 1 times [2018-11-23 07:48:14,664 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,664 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,665 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 07:48:14,665 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,673 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 07:48:14,674 INFO L82 PathProgramCache]: Analyzing trace with hash 1209117335, now seen corresponding path program 1 times [2018-11-23 07:48:14,674 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 07:48:14,674 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 07:48:14,674 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,674 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 07:48:14,675 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 07:48:14,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 07:48:14,858 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 76 ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; [?] havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; [?] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; [?] assume !(1 == ~q_req_up~0); [?] assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; [?] assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; [?] assume !(0 == ~q_read_ev~0); [?] assume !(0 == ~q_write_ev~0); [?] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; [?] assume !(1 == ~p_dw_pc~0); [?] is_do_write_p_triggered_~__retres1~0 := 0; [?] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [?] activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; [?] assume !(0 != activate_threads_~tmp~1); [?] havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; [?] assume !(1 == ~c_dr_pc~0); [?] is_do_read_c_triggered_~__retres1~1 := 0; [?] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [?] activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; [?] assume !(0 != activate_threads_~tmp___0~1); [?] assume !(1 == ~q_read_ev~0); [?] assume !(1 == ~q_write_ev~0); [?] assume !false; [?] start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; [L15] int q_buf_0 ; [L16] int q_free ; [L17] int q_read_ev ; [L18] int q_write_ev ; [L19] int q_req_up ; [L20] int q_ev ; [L41] int p_num_write ; [L42] int p_last_write ; [L43] int p_dw_st ; [L44] int p_dw_pc ; [L45] int p_dw_i ; [L46] int c_num_read ; [L47] int c_last_read ; [L48] int c_dr_st ; [L49] int c_dr_pc ; [L50] int c_dr_i ; [L154] static int a_t ; [L456] int __retres1 ; [L442] q_free = 1 [L443] q_write_ev = 2 [L444] q_read_ev = q_write_ev [L445] p_num_write = 0 [L446] p_dw_pc = 0 [L447] p_dw_i = 1 [L448] c_num_read = 0 [L449] c_dr_pc = 0 [L450] c_dr_i = 1 [L396] int kernel_st ; [L397] int tmp ; [L401] kernel_st = 0 [L212] COND FALSE !((int )q_req_up == 1) [L227] COND TRUE (int )p_dw_i == 1 [L228] p_dw_st = 0 [L232] COND TRUE (int )c_dr_i == 1 [L233] c_dr_st = 0 [L265] COND FALSE !((int )q_read_ev == 0) [L270] COND FALSE !((int )q_write_ev == 0) [L298] int tmp ; [L299] int tmp___0 ; [L52] int __retres1 ; [L55] COND FALSE !((int )p_dw_pc == 1) [L65] __retres1 = 0 [L67] return (__retres1); [L303] tmp = is_do_write_p_triggered() [L305] COND FALSE !(\read(tmp)) [L71] int __retres1 ; [L74] COND FALSE !((int )c_dr_pc == 1) [L84] __retres1 = 0 [L86] return (__retres1); [L311] tmp___0 = is_do_read_c_triggered() [L313] COND FALSE !(\read(tmp___0)) [L283] COND FALSE !((int )q_read_ev == 1) [L288] COND FALSE !((int )q_write_ev == 1) [L409] COND TRUE 1 [L412] kernel_st = 1 [L323] int tmp ; [L324] int tmp___0 ; [L325] int tmp___1 ; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false; [?] havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; [?] assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; [?] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [?] eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; [?] assume 0 != eval_~tmp___1~0; [?] assume 0 == ~p_dw_st~0;eval_~tmp~2 := eval_#t~nondet6;havoc eval_#t~nondet6; [?] assume !(0 != eval_~tmp~2); [?] assume 0 == ~c_dr_st~0;eval_~tmp___0~2 := eval_#t~nondet7;havoc eval_#t~nondet7; [?] assume !(0 != eval_~tmp___0~2); [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) [L329] COND TRUE 1 [L242] int __retres1 ; [L245] COND TRUE (int )p_dw_st == 0 [L246] __retres1 = 1 [L258] return (__retres1); [L332] tmp___1 = exists_runnable_thread() [L334] COND TRUE \read(tmp___1) [L339] COND TRUE (int )p_dw_st == 0 [L341] tmp = __VERIFIER_nondet_int() [L343] COND FALSE !(\read(tmp)) [L354] COND TRUE (int )c_dr_st == 0 [L356] tmp___0 = __VERIFIER_nondet_int() [L358] COND FALSE !(\read(tmp___0)) ----- [2018-11-23 07:48:14,934 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 23.11 07:48:14 BoogieIcfgContainer [2018-11-23 07:48:14,934 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2018-11-23 07:48:14,934 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 07:48:14,934 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 07:48:14,934 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 07:48:14,935 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 07:48:12" (3/4) ... [2018-11-23 07:48:14,937 INFO L141 WitnessPrinter]: Generating witness for non-termination counterexample ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; [?] havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; [?] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; [?] assume !(1 == ~q_req_up~0); [?] assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; [?] assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; [?] assume !(0 == ~q_read_ev~0); [?] assume !(0 == ~q_write_ev~0); [?] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; [?] assume !(1 == ~p_dw_pc~0); [?] is_do_write_p_triggered_~__retres1~0 := 0; [?] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [?] activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; [?] assume !(0 != activate_threads_~tmp~1); [?] havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; [?] assume !(1 == ~c_dr_pc~0); [?] is_do_read_c_triggered_~__retres1~1 := 0; [?] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [?] activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; [?] assume !(0 != activate_threads_~tmp___0~1); [?] assume !(1 == ~q_read_ev~0); [?] assume !(1 == ~q_write_ev~0); [?] assume !false; [?] start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; [L15] int q_buf_0 ; [L16] int q_free ; [L17] int q_read_ev ; [L18] int q_write_ev ; [L19] int q_req_up ; [L20] int q_ev ; [L41] int p_num_write ; [L42] int p_last_write ; [L43] int p_dw_st ; [L44] int p_dw_pc ; [L45] int p_dw_i ; [L46] int c_num_read ; [L47] int c_last_read ; [L48] int c_dr_st ; [L49] int c_dr_pc ; [L50] int c_dr_i ; [L154] static int a_t ; [L456] int __retres1 ; [L442] q_free = 1 [L443] q_write_ev = 2 [L444] q_read_ev = q_write_ev [L445] p_num_write = 0 [L446] p_dw_pc = 0 [L447] p_dw_i = 1 [L448] c_num_read = 0 [L449] c_dr_pc = 0 [L450] c_dr_i = 1 [L396] int kernel_st ; [L397] int tmp ; [L401] kernel_st = 0 [L212] COND FALSE !((int )q_req_up == 1) [L227] COND TRUE (int )p_dw_i == 1 [L228] p_dw_st = 0 [L232] COND TRUE (int )c_dr_i == 1 [L233] c_dr_st = 0 [L265] COND FALSE !((int )q_read_ev == 0) [L270] COND FALSE !((int )q_write_ev == 0) [L298] int tmp ; [L299] int tmp___0 ; [L52] int __retres1 ; [L55] COND FALSE !((int )p_dw_pc == 1) [L65] __retres1 = 0 [L67] return (__retres1); [L303] tmp = is_do_write_p_triggered() [L305] COND FALSE !(\read(tmp)) [L71] int __retres1 ; [L74] COND FALSE !((int )c_dr_pc == 1) [L84] __retres1 = 0 [L86] return (__retres1); [L311] tmp___0 = is_do_read_c_triggered() [L313] COND FALSE !(\read(tmp___0)) [L283] COND FALSE !((int )q_read_ev == 1) [L288] COND FALSE !((int )q_write_ev == 1) [L409] COND TRUE 1 [L412] kernel_st = 1 [L323] int tmp ; [L324] int tmp___0 ; [L325] int tmp___1 ; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false; [?] havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; [?] assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; [?] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [?] eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; [?] assume 0 != eval_~tmp___1~0; [?] assume 0 == ~p_dw_st~0;eval_~tmp~2 := eval_#t~nondet6;havoc eval_#t~nondet6; [?] assume !(0 != eval_~tmp~2); [?] assume 0 == ~c_dr_st~0;eval_~tmp___0~2 := eval_#t~nondet7;havoc eval_#t~nondet7; [?] assume !(0 != eval_~tmp___0~2); [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) [L329] COND TRUE 1 [L242] int __retres1 ; [L245] COND TRUE (int )p_dw_st == 0 [L246] __retres1 = 1 [L258] return (__retres1); [L332] tmp___1 = exists_runnable_thread() [L334] COND TRUE \read(tmp___1) [L339] COND TRUE (int )p_dw_st == 0 [L341] tmp = __VERIFIER_nondet_int() [L343] COND FALSE !(\read(tmp)) [L354] COND TRUE (int )c_dr_st == 0 [L356] tmp___0 = __VERIFIER_nondet_int() [L358] COND FALSE !(\read(tmp___0)) ----- [2018-11-23 07:48:15,035 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_7d19af87-bfd4-4c29-b00c-a712da7d4b57/bin-2019/uautomizer/witness.graphml [2018-11-23 07:48:15,036 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 07:48:15,036 INFO L168 Benchmark]: Toolchain (without parser) took 2811.23 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 959.2 MB in the beginning and 1.0 GB in the end (delta: -70.0 MB). Peak memory consumption was 66.3 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,037 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 07:48:15,037 INFO L168 Benchmark]: CACSL2BoogieTranslator took 197.83 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 943.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,037 INFO L168 Benchmark]: Boogie Procedure Inliner took 67.04 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 943.1 MB in the beginning and 1.1 GB in the end (delta: -193.3 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,038 INFO L168 Benchmark]: Boogie Preprocessor took 22.07 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,038 INFO L168 Benchmark]: RCFGBuilder took 376.17 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 33.1 MB). Peak memory consumption was 33.1 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,038 INFO L168 Benchmark]: BuchiAutomizer took 2043.66 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 65.2 MB). Peak memory consumption was 65.2 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,039 INFO L168 Benchmark]: Witness Printer took 101.56 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 07:48:15,046 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 197.83 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 943.1 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 67.04 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 943.1 MB in the beginning and 1.1 GB in the end (delta: -193.3 MB). Peak memory consumption was 14.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 22.07 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 5.4 MB). Peak memory consumption was 5.4 MB. Max. memory is 11.5 GB. * RCFGBuilder took 376.17 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 33.1 MB). Peak memory consumption was 33.1 MB. Max. memory is 11.5 GB. * BuchiAutomizer took 2043.66 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 65.2 MB). Peak memory consumption was 65.2 MB. Max. memory is 11.5 GB. * Witness Printer took 101.56 ms. Allocated memory is still 1.2 GB. Free memory was 1.0 GB in the beginning and 1.0 GB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Constructed decomposition of program Your program was decomposed into 11 terminating modules (11 trivial, 0 deterministic, 0 nondeterministic) and one nonterminating remainder module.11 modules have a trivial ranking function, the largest among these consists of 5 locations. The remainder module has 1083 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 1.9s and 12 iterations. TraceHistogramMax:1. Analysis of lassos took 1.0s. Construction of modules took 0.3s. Büchi inclusion checks took 0.2s. Highest rank in rank-based complementation 0. Minimization of det autom 11. Minimization of nondet autom 0. Automata minimization 0.1s AutomataMinimizationTime, 11 MinimizatonAttempts, 910 StatesRemovedByMinimization, 4 NontrivialMinimizations. Non-live state removal took 0.0s Buchi closure took 0.0s. Biggest automaton had 1083 states and ocurred in iteration 11. Nontrivial modules had stage [0, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 1379 SDtfs, 1517 SDslu, 1761 SDs, 0 SdLazy, 161 SolverSat, 50 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.3s Time LassoAnalysisResults: nont1 unkn0 SFLI4 SFLT0 conc1 concLT0 SILN0 SILU0 SILI6 SILT0 lasso0 LassoPreprocessingBenchmarks: LassoTerminationAnalysisBenchmarks: not availableLassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 0 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 0 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - FixpointNonTerminationResult [Line: 329]: Nontermination argument in form of an infinite program execution. Nontermination argument in form of an infinite execution State at position 0 is {} State at position 1 is {p_last_write=0, c_dr_i=1, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@7e4c959=0, c_dr_pc=0, a_t=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@31e020b2=0, \result=0, \result=0, c_num_read=0, tmp=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@14daf05d=0, c_dr_st=0, kernel_st=1, q_read_ev=2, p_dw_i=1, tmp___1=1, q_req_up=0, tmp___0=0, q_write_ev=2, __retres1=1, p_dw_pc=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@349bfd97=0, q_free=1, __retres1=0, p_dw_st=0, \result=0, q_ev=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@23d7bd2b=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@577cbe8=0, c_last_read=0, tmp___0=0, __retres1=0, tmp=0, p_num_write=0, q_buf_0=0, __retres1=0, tmp=0, \result=1} - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 329]: Nonterminating execution ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; [?] havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; [?] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; [?] assume !(1 == ~q_req_up~0); [?] assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; [?] assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; [?] assume !(0 == ~q_read_ev~0); [?] assume !(0 == ~q_write_ev~0); [?] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; [?] assume !(1 == ~p_dw_pc~0); [?] is_do_write_p_triggered_~__retres1~0 := 0; [?] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [?] activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; [?] assume !(0 != activate_threads_~tmp~1); [?] havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; [?] assume !(1 == ~c_dr_pc~0); [?] is_do_read_c_triggered_~__retres1~1 := 0; [?] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [?] activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; [?] assume !(0 != activate_threads_~tmp___0~1); [?] assume !(1 == ~q_read_ev~0); [?] assume !(1 == ~q_write_ev~0); [?] assume !false; [?] start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; [L15] int q_buf_0 ; [L16] int q_free ; [L17] int q_read_ev ; [L18] int q_write_ev ; [L19] int q_req_up ; [L20] int q_ev ; [L41] int p_num_write ; [L42] int p_last_write ; [L43] int p_dw_st ; [L44] int p_dw_pc ; [L45] int p_dw_i ; [L46] int c_num_read ; [L47] int c_last_read ; [L48] int c_dr_st ; [L49] int c_dr_pc ; [L50] int c_dr_i ; [L154] static int a_t ; [L456] int __retres1 ; [L442] q_free = 1 [L443] q_write_ev = 2 [L444] q_read_ev = q_write_ev [L445] p_num_write = 0 [L446] p_dw_pc = 0 [L447] p_dw_i = 1 [L448] c_num_read = 0 [L449] c_dr_pc = 0 [L450] c_dr_i = 1 [L396] int kernel_st ; [L397] int tmp ; [L401] kernel_st = 0 [L212] COND FALSE !((int )q_req_up == 1) [L227] COND TRUE (int )p_dw_i == 1 [L228] p_dw_st = 0 [L232] COND TRUE (int )c_dr_i == 1 [L233] c_dr_st = 0 [L265] COND FALSE !((int )q_read_ev == 0) [L270] COND FALSE !((int )q_write_ev == 0) [L298] int tmp ; [L299] int tmp___0 ; [L52] int __retres1 ; [L55] COND FALSE !((int )p_dw_pc == 1) [L65] __retres1 = 0 [L67] return (__retres1); [L303] tmp = is_do_write_p_triggered() [L305] COND FALSE !(\read(tmp)) [L71] int __retres1 ; [L74] COND FALSE !((int )c_dr_pc == 1) [L84] __retres1 = 0 [L86] return (__retres1); [L311] tmp___0 = is_do_read_c_triggered() [L313] COND FALSE !(\read(tmp___0)) [L283] COND FALSE !((int )q_read_ev == 1) [L288] COND FALSE !((int )q_write_ev == 1) [L409] COND TRUE 1 [L412] kernel_st = 1 [L323] int tmp ; [L324] int tmp___0 ; [L325] int tmp___1 ; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false; [?] havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; [?] assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; [?] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [?] eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; [?] assume 0 != eval_~tmp___1~0; [?] assume 0 == ~p_dw_st~0;eval_~tmp~2 := eval_#t~nondet6;havoc eval_#t~nondet6; [?] assume !(0 != eval_~tmp~2); [?] assume 0 == ~c_dr_st~0;eval_~tmp___0~2 := eval_#t~nondet7;havoc eval_#t~nondet7; [?] assume !(0 != eval_~tmp___0~2); [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) [L329] COND TRUE 1 [L242] int __retres1 ; [L245] COND TRUE (int )p_dw_st == 0 [L246] __retres1 = 1 [L258] return (__retres1); [L332] tmp___1 = exists_runnable_thread() [L334] COND TRUE \read(tmp___1) [L339] COND TRUE (int )p_dw_st == 0 [L341] tmp = __VERIFIER_nondet_int() [L343] COND FALSE !(\read(tmp)) [L354] COND TRUE (int )c_dr_st == 0 [L356] tmp___0 = __VERIFIER_nondet_int() [L358] COND FALSE !(\read(tmp___0)) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; [?] havoc main_#res;havoc main_~__retres1~3;havoc main_~__retres1~3;~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; [?] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4;havoc start_simulation_~kernel_st~0;havoc start_simulation_~tmp~4;start_simulation_~kernel_st~0 := 0; [?] assume !(1 == ~q_req_up~0); [?] assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; [?] assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; [?] assume !(0 == ~q_read_ev~0); [?] assume !(0 == ~q_write_ev~0); [?] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1;havoc activate_threads_~tmp~1;havoc activate_threads_~tmp___0~1;havoc is_do_write_p_triggered_#res;havoc is_do_write_p_triggered_~__retres1~0;havoc is_do_write_p_triggered_~__retres1~0; [?] assume !(1 == ~p_dw_pc~0); [?] is_do_write_p_triggered_~__retres1~0 := 0; [?] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [?] activate_threads_#t~ret3 := is_do_write_p_triggered_#res;activate_threads_~tmp~1 := activate_threads_#t~ret3;havoc activate_threads_#t~ret3; [?] assume !(0 != activate_threads_~tmp~1); [?] havoc is_do_read_c_triggered_#res;havoc is_do_read_c_triggered_~__retres1~1;havoc is_do_read_c_triggered_~__retres1~1; [?] assume !(1 == ~c_dr_pc~0); [?] is_do_read_c_triggered_~__retres1~1 := 0; [?] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [?] activate_threads_#t~ret4 := is_do_read_c_triggered_#res;activate_threads_~tmp___0~1 := activate_threads_#t~ret4;havoc activate_threads_#t~ret4; [?] assume !(0 != activate_threads_~tmp___0~1); [?] assume !(1 == ~q_read_ev~0); [?] assume !(1 == ~q_write_ev~0); [?] assume !false; [?] start_simulation_~kernel_st~0 := 1;havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0;havoc eval_~tmp~2;havoc eval_~tmp___0~2;havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212-L218] assume !(1 == ~q_req_up~0); [L227-L231] assume 1 == ~p_dw_i~0; [L228] ~p_dw_st~0 := 0; [L232-L236] assume 1 == ~c_dr_i~0; [L233] ~c_dr_st~0 := 0; [L265-L269] assume !(0 == ~q_read_ev~0); [L270-L274] assume !(0 == ~q_write_ev~0); [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55-L64] assume !(1 == ~p_dw_pc~0); [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] assume !(0 != activate_threads_~tmp~1); [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74-L83] assume !(1 == ~c_dr_pc~0); [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] assume !(0 != activate_threads_~tmp___0~1); [L283-L287] assume !(1 == ~q_read_ev~0); [L288-L292] assume !(1 == ~q_write_ev~0); [L409-L431] assume !false; [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [?] havoc main_#res; [?] havoc main_~__retres1~3; [L456] havoc main_~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L461] havoc start_simulation_#t~ret9, start_simulation_~kernel_st~0, start_simulation_~tmp~4; [L396] havoc start_simulation_~kernel_st~0; [L397] havoc start_simulation_~tmp~4; [L401] start_simulation_~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L405] havoc activate_threads_#t~ret3, activate_threads_#t~ret4, activate_threads_~tmp~1, activate_threads_~tmp___0~1; [L298] havoc activate_threads_~tmp~1; [L299] havoc activate_threads_~tmp___0~1; [L303] havoc is_do_write_p_triggered_#res; [L303] havoc is_do_write_p_triggered_~__retres1~0; [L52] havoc is_do_write_p_triggered_~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] is_do_write_p_triggered_~__retres1~0 := 0; [L67] is_do_write_p_triggered_#res := is_do_write_p_triggered_~__retres1~0; [L303] activate_threads_#t~ret3 := is_do_write_p_triggered_#res; [L303] activate_threads_~tmp~1 := activate_threads_#t~ret3; [L303] havoc activate_threads_#t~ret3; [L305-L309] COND FALSE !(0 != activate_threads_~tmp~1) [L311] havoc is_do_read_c_triggered_#res; [L311] havoc is_do_read_c_triggered_~__retres1~1; [L71] havoc is_do_read_c_triggered_~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] is_do_read_c_triggered_~__retres1~1 := 0; [L86] is_do_read_c_triggered_#res := is_do_read_c_triggered_~__retres1~1; [L311] activate_threads_#t~ret4 := is_do_read_c_triggered_#res; [L311] activate_threads_~tmp___0~1 := activate_threads_#t~ret4; [L311] havoc activate_threads_#t~ret4; [L313-L317] COND FALSE !(0 != activate_threads_~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] start_simulation_~kernel_st~0 := 1; [L413] havoc eval_#t~ret5, eval_#t~nondet6, eval_#t~nondet7, eval_~tmp~2, eval_~tmp___0~2, eval_~tmp___1~0; [L323] havoc eval_~tmp~2; [L324] havoc eval_~tmp___0~2; [L325] havoc eval_~tmp___1~0; [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L15] ~q_buf_0~0 := 0; [L16] ~q_free~0 := 0; [L17] ~q_read_ev~0 := 0; [L18] ~q_write_ev~0 := 0; [L19] ~q_req_up~0 := 0; [L20] ~q_ev~0 := 0; [L41] ~p_num_write~0 := 0; [L42] ~p_last_write~0 := 0; [L43] ~p_dw_st~0 := 0; [L44] ~p_dw_pc~0 := 0; [L45] ~p_dw_i~0 := 0; [L46] ~c_num_read~0 := 0; [L47] ~c_last_read~0 := 0; [L48] ~c_dr_st~0 := 0; [L49] ~c_dr_pc~0 := 0; [L50] ~c_dr_i~0 := 0; [L154] ~a_t~0 := 0; [L456] havoc ~__retres1~3; [L442] ~q_free~0 := 1; [L443] ~q_write_ev~0 := 2; [L444] ~q_read_ev~0 := ~q_write_ev~0; [L445] ~p_num_write~0 := 0; [L446] ~p_dw_pc~0 := 0; [L447] ~p_dw_i~0 := 1; [L448] ~c_num_read~0 := 0; [L449] ~c_dr_pc~0 := 0; [L450] ~c_dr_i~0 := 1; [L396] havoc ~kernel_st~0; [L397] havoc ~tmp~4; [L401] ~kernel_st~0 := 0; [L212] COND FALSE !(1 == ~q_req_up~0) [L227] COND TRUE 1 == ~p_dw_i~0 [L228] ~p_dw_st~0 := 0; [L232] COND TRUE 1 == ~c_dr_i~0 [L233] ~c_dr_st~0 := 0; [L265] COND FALSE !(0 == ~q_read_ev~0) [L270] COND FALSE !(0 == ~q_write_ev~0) [L298] havoc ~tmp~1; [L299] havoc ~tmp___0~1; [L52] havoc ~__retres1~0; [L55] COND FALSE !(1 == ~p_dw_pc~0) [L65] ~__retres1~0 := 0; [L67] #res := ~__retres1~0; [L303] ~tmp~1 := #t~ret3; [L303] havoc #t~ret3; [L305-L309] COND FALSE !(0 != ~tmp~1) [L71] havoc ~__retres1~1; [L74] COND FALSE !(1 == ~c_dr_pc~0) [L84] ~__retres1~1 := 0; [L86] #res := ~__retres1~1; [L311] ~tmp___0~1 := #t~ret4; [L311] havoc #t~ret4; [L313-L317] COND FALSE !(0 != ~tmp___0~1) [L283] COND FALSE !(1 == ~q_read_ev~0) [L288] COND FALSE !(1 == ~q_write_ev~0) [L409-L431] COND FALSE !(false) [L412] ~kernel_st~0 := 1; [L323] havoc ~tmp~2; [L324] havoc ~tmp___0~2; [L325] havoc ~tmp___1~0; [L15] int q_buf_0 ; [L16] int q_free ; [L17] int q_read_ev ; [L18] int q_write_ev ; [L19] int q_req_up ; [L20] int q_ev ; [L41] int p_num_write ; [L42] int p_last_write ; [L43] int p_dw_st ; [L44] int p_dw_pc ; [L45] int p_dw_i ; [L46] int c_num_read ; [L47] int c_last_read ; [L48] int c_dr_st ; [L49] int c_dr_pc ; [L50] int c_dr_i ; [L154] static int a_t ; [L456] int __retres1 ; [L442] q_free = 1 [L443] q_write_ev = 2 [L444] q_read_ev = q_write_ev [L445] p_num_write = 0 [L446] p_dw_pc = 0 [L447] p_dw_i = 1 [L448] c_num_read = 0 [L449] c_dr_pc = 0 [L450] c_dr_i = 1 [L396] int kernel_st ; [L397] int tmp ; [L401] kernel_st = 0 [L212] COND FALSE !((int )q_req_up == 1) [L227] COND TRUE (int )p_dw_i == 1 [L228] p_dw_st = 0 [L232] COND TRUE (int )c_dr_i == 1 [L233] c_dr_st = 0 [L265] COND FALSE !((int )q_read_ev == 0) [L270] COND FALSE !((int )q_write_ev == 0) [L298] int tmp ; [L299] int tmp___0 ; [L52] int __retres1 ; [L55] COND FALSE !((int )p_dw_pc == 1) [L65] __retres1 = 0 [L67] return (__retres1); [L303] tmp = is_do_write_p_triggered() [L305] COND FALSE !(\read(tmp)) [L71] int __retres1 ; [L74] COND FALSE !((int )c_dr_pc == 1) [L84] __retres1 = 0 [L86] return (__retres1); [L311] tmp___0 = is_do_read_c_triggered() [L313] COND FALSE !(\read(tmp___0)) [L283] COND FALSE !((int )q_read_ev == 1) [L288] COND FALSE !((int )q_write_ev == 1) [L409] COND TRUE 1 [L412] kernel_st = 1 [L323] int tmp ; [L324] int tmp___0 ; [L325] int tmp___1 ; ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] assume !false; [?] havoc exists_runnable_thread_#res;havoc exists_runnable_thread_~__retres1~2;havoc exists_runnable_thread_~__retres1~2; [?] assume 0 == ~p_dw_st~0;exists_runnable_thread_~__retres1~2 := 1; [?] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [?] eval_#t~ret5 := exists_runnable_thread_#res;eval_~tmp___1~0 := eval_#t~ret5;havoc eval_#t~ret5; [?] assume 0 != eval_~tmp___1~0; [?] assume 0 == ~p_dw_st~0;eval_~tmp~2 := eval_#t~nondet6;havoc eval_#t~nondet6; [?] assume !(0 != eval_~tmp~2); [?] assume 0 == ~c_dr_st~0;eval_~tmp___0~2 := eval_#t~nondet7;havoc eval_#t~nondet7; [?] assume !(0 != eval_~tmp___0~2); [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [L329-L369] assume !false; [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245-L255] assume 0 == ~p_dw_st~0; [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] assume 0 != eval_~tmp___1~0; [L339-L353] assume 0 == ~p_dw_st~0; [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] assume !(0 != eval_~tmp~2); [L354-L368] assume 0 == ~c_dr_st~0; [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] assume !(0 != eval_~tmp___0~2); [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [L329-L369] COND FALSE !(false) [L332] havoc exists_runnable_thread_#res; [L332] havoc exists_runnable_thread_~__retres1~2; [L242] havoc exists_runnable_thread_~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] exists_runnable_thread_~__retres1~2 := 1; [L258] exists_runnable_thread_#res := exists_runnable_thread_~__retres1~2; [L332] eval_#t~ret5 := exists_runnable_thread_#res; [L332] eval_~tmp___1~0 := eval_#t~ret5; [L332] havoc eval_#t~ret5; [L334-L338] COND TRUE 0 != eval_~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] eval_~tmp~2 := eval_#t~nondet6; [L341] havoc eval_#t~nondet6; [L343-L350] COND FALSE !(0 != eval_~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] eval_~tmp___0~2 := eval_#t~nondet7; [L356] havoc eval_#t~nondet7; [L358-L365] COND FALSE !(0 != eval_~tmp___0~2) [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [L329-L369] COND FALSE !(false) [L242] havoc ~__retres1~2; [L245] COND TRUE 0 == ~p_dw_st~0 [L246] ~__retres1~2 := 1; [L258] #res := ~__retres1~2; [L332] ~tmp___1~0 := #t~ret5; [L332] havoc #t~ret5; [L334-L338] COND TRUE 0 != ~tmp___1~0 [L339] COND TRUE 0 == ~p_dw_st~0 [L341] ~tmp~2 := #t~nondet6; [L341] havoc #t~nondet6; [L343-L350] COND FALSE !(0 != ~tmp~2) [L354] COND TRUE 0 == ~c_dr_st~0 [L356] ~tmp___0~2 := #t~nondet7; [L356] havoc #t~nondet7; [L358-L365] COND FALSE !(0 != ~tmp___0~2) [L329] COND TRUE 1 [L242] int __retres1 ; [L245] COND TRUE (int )p_dw_st == 0 [L246] __retres1 = 1 [L258] return (__retres1); [L332] tmp___1 = exists_runnable_thread() [L334] COND TRUE \read(tmp___1) [L339] COND TRUE (int )p_dw_st == 0 [L341] tmp = __VERIFIER_nondet_int() [L343] COND FALSE !(\read(tmp)) [L354] COND TRUE (int )c_dr_st == 0 [L356] tmp___0 = __VERIFIER_nondet_int() [L358] COND FALSE !(\read(tmp___0)) ----- Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L15] int q_buf_0 ; [L16] int q_free ; [L17] int q_read_ev ; [L18] int q_write_ev ; [L19] int q_req_up ; [L20] int q_ev ; [L41] int p_num_write ; [L42] int p_last_write ; [L43] int p_dw_st ; [L44] int p_dw_pc ; [L45] int p_dw_i ; [L46] int c_num_read ; [L47] int c_last_read ; [L48] int c_dr_st ; [L49] int c_dr_pc ; [L50] int c_dr_i ; [L154] static int a_t ; [L456] int __retres1 ; [L442] q_free = 1 [L443] q_write_ev = 2 [L444] q_read_ev = q_write_ev [L445] p_num_write = 0 [L446] p_dw_pc = 0 [L447] p_dw_i = 1 [L448] c_num_read = 0 [L449] c_dr_pc = 0 [L450] c_dr_i = 1 [L396] int kernel_st ; [L397] int tmp ; [L401] kernel_st = 0 [L212] COND FALSE !((int )q_req_up == 1) [L227] COND TRUE (int )p_dw_i == 1 [L228] p_dw_st = 0 [L232] COND TRUE (int )c_dr_i == 1 [L233] c_dr_st = 0 [L265] COND FALSE !((int )q_read_ev == 0) [L270] COND FALSE !((int )q_write_ev == 0) [L298] int tmp ; [L299] int tmp___0 ; [L52] int __retres1 ; [L55] COND FALSE !((int )p_dw_pc == 1) [L65] __retres1 = 0 [L67] return (__retres1); [L303] tmp = is_do_write_p_triggered() [L305] COND FALSE !(\read(tmp)) [L71] int __retres1 ; [L74] COND FALSE !((int )c_dr_pc == 1) [L84] __retres1 = 0 [L86] return (__retres1); [L311] tmp___0 = is_do_read_c_triggered() [L313] COND FALSE !(\read(tmp___0)) [L283] COND FALSE !((int )q_read_ev == 1) [L288] COND FALSE !((int )q_write_ev == 1) [L409] COND TRUE 1 [L412] kernel_st = 1 [L323] int tmp ; [L324] int tmp___0 ; [L325] int tmp___1 ; Loop: [L329] COND TRUE 1 [L242] int __retres1 ; [L245] COND TRUE (int )p_dw_st == 0 [L246] __retres1 = 1 [L258] return (__retres1); [L332] tmp___1 = exists_runnable_thread() [L334] COND TRUE \read(tmp___1) [L339] COND TRUE (int )p_dw_st == 0 [L341] tmp = __VERIFIER_nondet_int() [L343] COND FALSE !(\read(tmp)) [L354] COND TRUE (int )c_dr_st == 0 [L356] tmp___0 = __VERIFIER_nondet_int() [L358] COND FALSE !(\read(tmp___0)) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! Received shutdown request...