NO Ultimate: Cannot open display: This is Ultimate 0.1.24-8dc7c08-m [2020-06-21 23:52:39,395 INFO L170 SettingsManager]: Resetting all preferences to default values... [2020-06-21 23:52:39,397 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2020-06-21 23:52:39,408 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-06-21 23:52:39,409 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-06-21 23:52:39,410 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-06-21 23:52:39,411 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-06-21 23:52:39,412 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2020-06-21 23:52:39,414 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-06-21 23:52:39,415 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-06-21 23:52:39,416 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-06-21 23:52:39,416 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-06-21 23:52:39,417 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-06-21 23:52:39,418 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-06-21 23:52:39,419 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-06-21 23:52:39,419 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-06-21 23:52:39,420 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-06-21 23:52:39,422 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-06-21 23:52:39,424 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2020-06-21 23:52:39,426 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-06-21 23:52:39,427 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-06-21 23:52:39,428 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-06-21 23:52:39,430 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-06-21 23:52:39,430 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-06-21 23:52:39,430 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-06-21 23:52:39,431 INFO L174 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-06-21 23:52:39,431 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-06-21 23:52:39,432 INFO L177 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-06-21 23:52:39,432 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-06-21 23:52:39,433 INFO L174 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-06-21 23:52:39,433 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-06-21 23:52:39,434 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2020-06-21 23:52:39,435 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-06-21 23:52:39,435 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2020-06-21 23:52:39,436 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-06-21 23:52:39,436 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-06-21 23:52:39,436 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2020-06-21 23:52:39,437 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2020-06-21 23:52:39,438 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2020-06-21 23:52:39,438 INFO L98 SettingsManager]: Beginning loading settings from /export/starexec/sandbox2/solver/bin/./../termcomp2017.epf [2020-06-21 23:52:39,452 INFO L110 SettingsManager]: Loading preferences was successful [2020-06-21 23:52:39,453 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2020-06-21 23:52:39,454 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-06-21 23:52:39,454 INFO L133 SettingsManager]: * Rewrite not-equals=true [2020-06-21 23:52:39,454 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2020-06-21 23:52:39,454 INFO L133 SettingsManager]: * Minimize states using LBE with the strategy=SINGLE [2020-06-21 23:52:39,454 INFO L133 SettingsManager]: * Use SBE=true [2020-06-21 23:52:39,455 INFO L131 SettingsManager]: Preferences of BuchiAutomizer differ from their defaults: [2020-06-21 23:52:39,455 INFO L133 SettingsManager]: * Use old map elimination=false [2020-06-21 23:52:39,455 INFO L133 SettingsManager]: * Use external solver (rank synthesis)=false [2020-06-21 23:52:39,455 INFO L133 SettingsManager]: * Buchi interpolant automaton construction strategy=DANDELION [2020-06-21 23:52:39,455 INFO L133 SettingsManager]: * Use only trivial implications for array writes=true [2020-06-21 23:52:39,455 INFO L133 SettingsManager]: * Rank analysis=LINEAR_WITH_GUESSES [2020-06-21 23:52:39,456 INFO L133 SettingsManager]: * Construct termination proof for TermComp=true [2020-06-21 23:52:39,456 INFO L133 SettingsManager]: * Command for external solver (GNTA synthesis)=z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 [2020-06-21 23:52:39,456 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-06-21 23:52:39,456 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2020-06-21 23:52:39,456 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2020-06-21 23:52:39,456 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2020-06-21 23:52:39,457 INFO L133 SettingsManager]: * Assume nondeterminstic values are in range=false [2020-06-21 23:52:39,457 INFO L133 SettingsManager]: * How to treat unsigned ints differently from normal ones=IGNORE [2020-06-21 23:52:39,457 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-06-21 23:52:39,457 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-06-21 23:52:39,457 INFO L133 SettingsManager]: * To the following directory=/home/matthias/ultimate/dump [2020-06-21 23:52:39,457 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:5000 [2020-06-21 23:52:39,458 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-06-21 23:52:39,458 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-06-21 23:52:39,458 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2020-06-21 23:52:39,458 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-06-21 23:52:39,484 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-06-21 23:52:39,497 INFO L259 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-06-21 23:52:39,500 INFO L215 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-06-21 23:52:39,502 INFO L271 PluginConnector]: Initializing CDTParser... [2020-06-21 23:52:39,502 INFO L276 PluginConnector]: CDTParser initialized [2020-06-21 23:52:39,503 INFO L430 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /export/starexec/sandbox2/benchmark/theBenchmark.c [2020-06-21 23:52:39,573 INFO L221 CDTParser]: Created temporary CDT project at /export/starexec/sandbox2/tmp/2d9b79b1c6aa4eb3841d044c34d4829d/FLAGbe68be9c4 [2020-06-21 23:52:39,935 INFO L307 CDTParser]: Found 1 translation units. [2020-06-21 23:52:39,936 INFO L161 CDTParser]: Scanning /export/starexec/sandbox2/benchmark/theBenchmark.c [2020-06-21 23:52:39,945 INFO L355 CDTParser]: About to delete temporary CDT project at /export/starexec/sandbox2/tmp/2d9b79b1c6aa4eb3841d044c34d4829d/FLAGbe68be9c4 [2020-06-21 23:52:40,332 INFO L363 CDTParser]: Successfully deleted /export/starexec/sandbox2/tmp/2d9b79b1c6aa4eb3841d044c34d4829d [2020-06-21 23:52:40,344 INFO L297 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-06-21 23:52:40,345 INFO L131 ToolchainWalker]: Walking toolchain with 7 elements. [2020-06-21 23:52:40,346 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-06-21 23:52:40,346 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-06-21 23:52:40,350 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2020-06-21 23:52:40,351 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,355 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4ef38891 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40, skipping insertion in model container [2020-06-21 23:52:40,355 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,363 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-06-21 23:52:40,393 INFO L176 MainTranslator]: Built tables and reachable declarations [2020-06-21 23:52:40,642 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-06-21 23:52:40,648 INFO L191 MainTranslator]: Completed pre-run [2020-06-21 23:52:40,683 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-06-21 23:52:40,701 INFO L195 MainTranslator]: Completed translation [2020-06-21 23:52:40,701 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40 WrapperNode [2020-06-21 23:52:40,702 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-06-21 23:52:40,702 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2020-06-21 23:52:40,703 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2020-06-21 23:52:40,703 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2020-06-21 23:52:40,712 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,720 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,749 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2020-06-21 23:52:40,749 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-06-21 23:52:40,749 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-06-21 23:52:40,750 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2020-06-21 23:52:40,760 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,760 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,761 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,762 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,766 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,774 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,776 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... [2020-06-21 23:52:40,778 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-06-21 23:52:40,779 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-06-21 23:52:40,779 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-06-21 23:52:40,779 INFO L276 PluginConnector]: RCFGBuilder initialized [2020-06-21 23:52:40,780 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (1/1) ... No working directory specified, using /export/starexec/sandbox2/solver/bin/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:5000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:5000 [2020-06-21 23:52:40,851 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-06-21 23:52:40,851 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-06-21 23:52:41,185 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-06-21 23:52:41,185 INFO L286 CfgBuilder]: Removed 44 assue(true) statements. [2020-06-21 23:52:41,206 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.06 11:52:41 BoogieIcfgContainer [2020-06-21 23:52:41,206 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-06-21 23:52:41,207 INFO L113 PluginConnector]: ------------------------BlockEncodingV2---------------------------- [2020-06-21 23:52:41,207 INFO L271 PluginConnector]: Initializing BlockEncodingV2... [2020-06-21 23:52:41,209 INFO L276 PluginConnector]: BlockEncodingV2 initialized [2020-06-21 23:52:41,210 INFO L185 PluginConnector]: Executing the observer BlockEncodingObserver from plugin BlockEncodingV2 for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.06 11:52:41" (1/1) ... [2020-06-21 23:52:41,230 INFO L313 BlockEncoder]: Initial Icfg 75 locations, 115 edges [2020-06-21 23:52:41,232 INFO L258 BlockEncoder]: Using Remove infeasible edges [2020-06-21 23:52:41,233 INFO L263 BlockEncoder]: Using Maximize final states [2020-06-21 23:52:41,233 INFO L270 BlockEncoder]: Using Minimize states even if more edges are added than removed.=false [2020-06-21 23:52:41,234 INFO L276 BlockEncoder]: Using Minimize states using LBE with the strategy=SINGLE [2020-06-21 23:52:41,236 INFO L296 BlockEncoder]: Using Remove sink states [2020-06-21 23:52:41,237 INFO L171 BlockEncoder]: Using Apply optimizations until nothing changes=true [2020-06-21 23:52:41,237 INFO L179 BlockEncoder]: Using Rewrite not-equals [2020-06-21 23:52:41,270 INFO L185 BlockEncoder]: Using Use SBE [2020-06-21 23:52:41,306 INFO L200 BlockEncoder]: SBE split 33 edges [2020-06-21 23:52:41,311 INFO L70 emoveInfeasibleEdges]: Removed 11 edges and 0 locations because of local infeasibility [2020-06-21 23:52:41,313 INFO L71 MaximizeFinalStates]: 0 new accepting states [2020-06-21 23:52:41,353 INFO L100 BaseMinimizeStates]: Removed 30 edges and 15 locations by large block encoding [2020-06-21 23:52:41,356 INFO L70 RemoveSinkStates]: Removed 8 edges and 5 locations by removing sink states [2020-06-21 23:52:41,358 INFO L70 emoveInfeasibleEdges]: Removed 0 edges and 0 locations because of local infeasibility [2020-06-21 23:52:41,358 INFO L71 MaximizeFinalStates]: 0 new accepting states [2020-06-21 23:52:41,366 INFO L100 BaseMinimizeStates]: Removed 6 edges and 3 locations by large block encoding [2020-06-21 23:52:41,367 INFO L70 RemoveSinkStates]: Removed 0 edges and 0 locations by removing sink states [2020-06-21 23:52:41,367 INFO L70 emoveInfeasibleEdges]: Removed 0 edges and 0 locations because of local infeasibility [2020-06-21 23:52:41,368 INFO L71 MaximizeFinalStates]: 0 new accepting states [2020-06-21 23:52:41,368 INFO L100 BaseMinimizeStates]: Removed 0 edges and 0 locations by large block encoding [2020-06-21 23:52:41,368 INFO L70 RemoveSinkStates]: Removed 0 edges and 0 locations by removing sink states [2020-06-21 23:52:41,369 INFO L313 BlockEncoder]: Encoded RCFG 52 locations, 111 edges [2020-06-21 23:52:41,369 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.blockencoding CFG 21.06 11:52:41 BasicIcfg [2020-06-21 23:52:41,369 INFO L132 PluginConnector]: ------------------------ END BlockEncodingV2---------------------------- [2020-06-21 23:52:41,370 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-06-21 23:52:41,371 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-06-21 23:52:41,374 INFO L276 PluginConnector]: TraceAbstraction initialized [2020-06-21 23:52:41,374 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 21.06 11:52:40" (1/4) ... [2020-06-21 23:52:41,375 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1c5e6e6b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,375 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (2/4) ... [2020-06-21 23:52:41,376 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1c5e6e6b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,376 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.06 11:52:41" (3/4) ... [2020-06-21 23:52:41,376 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1c5e6e6b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,376 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.blockencoding CFG 21.06 11:52:41" (4/4) ... [2020-06-21 23:52:41,378 INFO L112 eAbstractionObserver]: Analyzing ICFG theBenchmark.c_BEv2 [2020-06-21 23:52:41,388 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2020-06-21 23:52:41,396 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 0 error locations. [2020-06-21 23:52:41,414 INFO L257 AbstractCegarLoop]: Starting to check reachability of 0 error locations. [2020-06-21 23:52:41,444 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2020-06-21 23:52:41,445 INFO L382 AbstractCegarLoop]: Interprodecural is true [2020-06-21 23:52:41,445 INFO L383 AbstractCegarLoop]: Hoare is true [2020-06-21 23:52:41,445 INFO L384 AbstractCegarLoop]: Compute interpolants for ForwardPredicates [2020-06-21 23:52:41,445 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-06-21 23:52:41,445 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-06-21 23:52:41,446 INFO L387 AbstractCegarLoop]: Difference is false [2020-06-21 23:52:41,446 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-06-21 23:52:41,446 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-06-21 23:52:41,462 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states. [2020-06-21 23:52:41,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-06-21 23:52:41,474 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 52 states. [2020-06-21 23:52:41,544 INFO L448 ceAbstractionStarter]: For program point L151(lines 150 185) no Hoare annotation was computed. [2020-06-21 23:52:41,544 INFO L448 ceAbstractionStarter]: For program point L52(lines 52 57) no Hoare annotation was computed. [2020-06-21 23:52:41,544 INFO L448 ceAbstractionStarter]: For program point L52-1(lines 52 57) no Hoare annotation was computed. [2020-06-21 23:52:41,545 INFO L451 ceAbstractionStarter]: At program point L242(lines 242 246) the Hoare annotation is: true [2020-06-21 23:52:41,545 INFO L448 ceAbstractionStarter]: For program point L242-1(lines 237 277) no Hoare annotation was computed. [2020-06-21 23:52:41,545 INFO L448 ceAbstractionStarter]: For program point L139(lines 139 147) no Hoare annotation was computed. [2020-06-21 23:52:41,545 INFO L448 ceAbstractionStarter]: For program point L292(lines 292 297) no Hoare annotation was computed. [2020-06-21 23:52:41,545 INFO L451 ceAbstractionStarter]: At program point L226(lines 213 228) the Hoare annotation is: true [2020-06-21 23:52:41,545 INFO L451 ceAbstractionStarter]: At program point L226-1(lines 213 228) the Hoare annotation is: true [2020-06-21 23:52:41,546 INFO L448 ceAbstractionStarter]: For program point L32(lines 32 41) no Hoare annotation was computed. [2020-06-21 23:52:41,546 INFO L448 ceAbstractionStarter]: For program point L32-2(lines 32 41) no Hoare annotation was computed. [2020-06-21 23:52:41,546 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-06-21 23:52:41,546 INFO L448 ceAbstractionStarter]: For program point L32-3(lines 32 41) no Hoare annotation was computed. [2020-06-21 23:52:41,546 INFO L448 ceAbstractionStarter]: For program point L251(lines 251 258) no Hoare annotation was computed. [2020-06-21 23:52:41,546 INFO L448 ceAbstractionStarter]: For program point L32-5(lines 32 41) no Hoare annotation was computed. [2020-06-21 23:52:41,546 INFO L448 ceAbstractionStarter]: For program point L218(lines 218 223) no Hoare annotation was computed. [2020-06-21 23:52:41,547 INFO L448 ceAbstractionStarter]: For program point L218-1(lines 218 223) no Hoare annotation was computed. [2020-06-21 23:52:41,547 INFO L451 ceAbstractionStarter]: At program point L313-1(lines 192 325) the Hoare annotation is: true [2020-06-21 23:52:41,547 INFO L451 ceAbstractionStarter]: At program point L247(lines 237 277) the Hoare annotation is: true [2020-06-21 23:52:41,547 INFO L448 ceAbstractionStarter]: For program point L152-1(lines 152 162) no Hoare annotation was computed. [2020-06-21 23:52:41,547 INFO L448 ceAbstractionStarter]: For program point L214(lines 214 224) no Hoare annotation was computed. [2020-06-21 23:52:41,547 INFO L448 ceAbstractionStarter]: For program point L214-1(lines 214 224) no Hoare annotation was computed. [2020-06-21 23:52:41,548 INFO L448 ceAbstractionStarter]: For program point L82(lines 82 86) no Hoare annotation was computed. [2020-06-21 23:52:41,548 INFO L451 ceAbstractionStarter]: At program point L82-2(lines 66 90) the Hoare annotation is: true [2020-06-21 23:52:41,548 INFO L448 ceAbstractionStarter]: For program point L82-3(lines 82 86) no Hoare annotation was computed. [2020-06-21 23:52:41,548 INFO L451 ceAbstractionStarter]: At program point L82-5(lines 66 90) the Hoare annotation is: true [2020-06-21 23:52:41,548 INFO L451 ceAbstractionStarter]: At program point L107-1(lines 95 132) the Hoare annotation is: true [2020-06-21 23:52:41,548 INFO L448 ceAbstractionStarter]: For program point L74(lines 74 78) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L448 ceAbstractionStarter]: For program point L74-2(lines 74 78) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L448 ceAbstractionStarter]: For program point L74-3(lines 74 78) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L448 ceAbstractionStarter]: For program point L74-5(lines 74 78) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L448 ceAbstractionStarter]: For program point L99(lines 99 103) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L448 ceAbstractionStarter]: For program point L33(lines 33 38) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L448 ceAbstractionStarter]: For program point L33-1(lines 33 38) no Hoare annotation was computed. [2020-06-21 23:52:41,549 INFO L451 ceAbstractionStarter]: At program point L62(lines 50 64) the Hoare annotation is: true [2020-06-21 23:52:41,550 INFO L451 ceAbstractionStarter]: At program point L62-1(lines 50 64) the Hoare annotation is: true [2020-06-21 23:52:41,550 INFO L448 ceAbstractionStarter]: For program point L108(lines 107 127) no Hoare annotation was computed. [2020-06-21 23:52:41,550 INFO L448 ceAbstractionStarter]: For program point L96(lines 96 104) no Hoare annotation was computed. [2020-06-21 23:52:41,550 INFO L448 ceAbstractionStarter]: For program point L51(lines 51 60) no Hoare annotation was computed. [2020-06-21 23:52:41,550 INFO L448 ceAbstractionStarter]: For program point L51-2(lines 51 60) no Hoare annotation was computed. [2020-06-21 23:52:41,550 INFO L448 ceAbstractionStarter]: For program point L51-3(lines 51 60) no Hoare annotation was computed. [2020-06-21 23:52:41,550 INFO L451 ceAbstractionStarter]: At program point L142(lines 142 146) the Hoare annotation is: true [2020-06-21 23:52:41,551 INFO L448 ceAbstractionStarter]: For program point L51-5(lines 51 60) no Hoare annotation was computed. [2020-06-21 23:52:41,551 INFO L451 ceAbstractionStarter]: At program point L109(lines 95 132) the Hoare annotation is: true [2020-06-21 23:52:41,551 INFO L451 ceAbstractionStarter]: At program point L299(lines 288 301) the Hoare annotation is: true [2020-06-21 23:52:41,551 INFO L451 ceAbstractionStarter]: At program point L43(lines 31 45) the Hoare annotation is: true [2020-06-21 23:52:41,551 INFO L448 ceAbstractionStarter]: For program point L266(lines 266 273) no Hoare annotation was computed. [2020-06-21 23:52:41,551 INFO L451 ceAbstractionStarter]: At program point L43-1(lines 31 45) the Hoare annotation is: true [2020-06-21 23:52:41,552 INFO L451 ceAbstractionStarter]: At program point L10-2(lines 138 190) the Hoare annotation is: true [2020-06-21 23:52:41,552 INFO L451 ceAbstractionStarter]: At program point L262(lines 237 277) the Hoare annotation is: true [2020-06-21 23:52:41,552 INFO L448 ceAbstractionStarter]: For program point L196(lines 196 200) no Hoare annotation was computed. [2020-06-21 23:52:41,552 INFO L448 ceAbstractionStarter]: For program point L196-2(lines 195 208) no Hoare annotation was computed. [2020-06-21 23:52:41,561 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 21.06 11:52:41 BasicIcfg [2020-06-21 23:52:41,562 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-06-21 23:52:41,562 INFO L113 PluginConnector]: ------------------------BuchiAutomizer---------------------------- [2020-06-21 23:52:41,563 INFO L271 PluginConnector]: Initializing BuchiAutomizer... [2020-06-21 23:52:41,566 INFO L276 PluginConnector]: BuchiAutomizer initialized [2020-06-21 23:52:41,567 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2020-06-21 23:52:41,567 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "CDTParser AST 21.06 11:52:40" (1/5) ... [2020-06-21 23:52:41,568 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@35ada225 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,568 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2020-06-21 23:52:41,568 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 21.06 11:52:40" (2/5) ... [2020-06-21 23:52:41,568 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@35ada225 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer AST 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,568 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2020-06-21 23:52:41,569 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.06 11:52:41" (3/5) ... [2020-06-21 23:52:41,569 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@35ada225 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,569 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2020-06-21 23:52:41,569 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.blockencoding CFG 21.06 11:52:41" (4/5) ... [2020-06-21 23:52:41,570 INFO L205 PluginConnector]: Invalid model from BuchiAutomizer for observer de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer.BuchiAutomizerObserver@35ada225 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 21.06 11:52:41, skipping insertion in model container [2020-06-21 23:52:41,570 INFO L102 BuchiAutomizer]: Safety of program was proven or not checked, starting termination analysis [2020-06-21 23:52:41,570 INFO L185 PluginConnector]: Executing the observer BuchiAutomizerObserver from plugin BuchiAutomizer for "de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 21.06 11:52:41" (5/5) ... [2020-06-21 23:52:41,571 INFO L375 chiAutomizerObserver]: Analyzing ICFG theBenchmark.c_BEv2 [2020-06-21 23:52:41,596 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2020-06-21 23:52:41,596 INFO L374 BuchiCegarLoop]: Interprodecural is true [2020-06-21 23:52:41,597 INFO L375 BuchiCegarLoop]: Hoare is true [2020-06-21 23:52:41,597 INFO L376 BuchiCegarLoop]: Compute interpolants for ForwardPredicates [2020-06-21 23:52:41,597 INFO L377 BuchiCegarLoop]: Backedges is STRAIGHT_LINE [2020-06-21 23:52:41,597 INFO L378 BuchiCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-06-21 23:52:41,597 INFO L379 BuchiCegarLoop]: Difference is false [2020-06-21 23:52:41,597 INFO L380 BuchiCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-06-21 23:52:41,597 INFO L383 BuchiCegarLoop]: ======== Iteration 0==of CEGAR loop == BuchiCegarLoop======== [2020-06-21 23:52:41,602 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states. [2020-06-21 23:52:41,622 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2020-06-21 23:52:41,622 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:41,623 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:41,631 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2020-06-21 23:52:41,631 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:41,631 INFO L442 BuchiCegarLoop]: ======== Iteration 1============ [2020-06-21 23:52:41,631 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states. [2020-06-21 23:52:41,635 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2020-06-21 23:52:41,635 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:41,635 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:41,636 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2020-06-21 23:52:41,636 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:41,641 INFO L794 eck$LassoCheckResult]: Stem: 26#ULTIMATE.startENTRYtrue [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 54#L196true [454] L196-->L196-2: Formula: (and (< v_~p_dw_i~0_4 1) (= v_~p_dw_st~0_3 2)) InVars {~p_dw_i~0=v_~p_dw_i~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_3, ~p_dw_i~0=v_~p_dw_i~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 52#L196-2true [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 40#L313-1true [2020-06-21 23:52:41,642 INFO L796 eck$LassoCheckResult]: Loop: 40#L313-1true [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 43#L262true [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 48#L214true [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 14#L226true [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 22#L242true [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 47#L214-1true [404] L214-1-->L226-1: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4 1) (= v_~p_dw_st~0_4 0)) InVars {~p_dw_st~0=v_~p_dw_st~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_4, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 13#L226-1true [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 18#L292true [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 11#L299true [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 40#L313-1true [2020-06-21 23:52:41,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:41,648 INFO L82 PathProgramCache]: Analyzing trace with hash 543998, now seen corresponding path program 1 times [2020-06-21 23:52:41,650 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:41,650 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:41,670 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,670 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:41,670 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:41,746 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:41,748 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:41,748 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:41,753 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:41,753 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:41,753 INFO L82 PathProgramCache]: Analyzing trace with hash 65342963, now seen corresponding path program 1 times [2020-06-21 23:52:41,754 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:41,754 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:41,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,755 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:41,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:41,784 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:41,785 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:41,785 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-06-21 23:52:41,786 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:41,801 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:41,801 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:41,803 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 3 states. [2020-06-21 23:52:41,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:41,907 INFO L93 Difference]: Finished difference Result 52 states and 110 transitions. [2020-06-21 23:52:41,908 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:41,911 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 52 states and 110 transitions. [2020-06-21 23:52:41,914 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2020-06-21 23:52:41,920 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 52 states to 52 states and 110 transitions. [2020-06-21 23:52:41,921 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2020-06-21 23:52:41,921 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2020-06-21 23:52:41,922 INFO L73 IsDeterministic]: Start isDeterministic. Operand 52 states and 110 transitions. [2020-06-21 23:52:41,923 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:41,923 INFO L706 BuchiCegarLoop]: Abstraction has 52 states and 110 transitions. [2020-06-21 23:52:41,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states and 110 transitions. [2020-06-21 23:52:41,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2020-06-21 23:52:41,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-06-21 23:52:41,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 110 transitions. [2020-06-21 23:52:41,956 INFO L729 BuchiCegarLoop]: Abstraction has 52 states and 110 transitions. [2020-06-21 23:52:41,956 INFO L609 BuchiCegarLoop]: Abstraction has 52 states and 110 transitions. [2020-06-21 23:52:41,956 INFO L442 BuchiCegarLoop]: ======== Iteration 2============ [2020-06-21 23:52:41,957 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states and 110 transitions. [2020-06-21 23:52:41,958 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2020-06-21 23:52:41,958 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:41,958 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:41,959 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2020-06-21 23:52:41,959 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:41,960 INFO L794 eck$LassoCheckResult]: Stem: 151#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 152#L196 [453] L196-->L196-2: Formula: (and (> v_~p_dw_i~0_4 1) (= v_~p_dw_st~0_3 2)) InVars {~p_dw_i~0=v_~p_dw_i~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_3, ~p_dw_i~0=v_~p_dw_i~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 166#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 134#L313-1 [2020-06-21 23:52:41,960 INFO L796 eck$LassoCheckResult]: Loop: 134#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 127#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 163#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 139#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 140#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 149#L214-1 [404] L214-1-->L226-1: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4 1) (= v_~p_dw_st~0_4 0)) InVars {~p_dw_st~0=v_~p_dw_st~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_4, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 137#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 138#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 133#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 134#L313-1 [2020-06-21 23:52:41,960 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:41,961 INFO L82 PathProgramCache]: Analyzing trace with hash 543967, now seen corresponding path program 1 times [2020-06-21 23:52:41,961 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:41,961 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:41,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,962 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:41,962 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:41,979 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:41,980 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:41,980 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:41,980 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:41,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:41,981 INFO L82 PathProgramCache]: Analyzing trace with hash 65342963, now seen corresponding path program 2 times [2020-06-21 23:52:41,981 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:41,981 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:41,982 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,982 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:41,982 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:41,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:42,004 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:42,005 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:42,005 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-06-21 23:52:42,005 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:42,005 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:42,006 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:42,006 INFO L87 Difference]: Start difference. First operand 52 states and 110 transitions. cyclomatic complexity: 59 Second operand 3 states. [2020-06-21 23:52:42,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:42,113 INFO L93 Difference]: Finished difference Result 52 states and 109 transitions. [2020-06-21 23:52:42,114 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:42,115 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 52 states and 109 transitions. [2020-06-21 23:52:42,117 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2020-06-21 23:52:42,118 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 52 states to 52 states and 109 transitions. [2020-06-21 23:52:42,118 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 52 [2020-06-21 23:52:42,119 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 52 [2020-06-21 23:52:42,119 INFO L73 IsDeterministic]: Start isDeterministic. Operand 52 states and 109 transitions. [2020-06-21 23:52:42,119 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:42,120 INFO L706 BuchiCegarLoop]: Abstraction has 52 states and 109 transitions. [2020-06-21 23:52:42,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states and 109 transitions. [2020-06-21 23:52:42,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2020-06-21 23:52:42,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2020-06-21 23:52:42,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 109 transitions. [2020-06-21 23:52:42,124 INFO L729 BuchiCegarLoop]: Abstraction has 52 states and 109 transitions. [2020-06-21 23:52:42,124 INFO L609 BuchiCegarLoop]: Abstraction has 52 states and 109 transitions. [2020-06-21 23:52:42,124 INFO L442 BuchiCegarLoop]: ======== Iteration 3============ [2020-06-21 23:52:42,124 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 52 states and 109 transitions. [2020-06-21 23:52:42,126 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 49 [2020-06-21 23:52:42,126 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:42,126 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:42,126 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2020-06-21 23:52:42,126 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:42,127 INFO L794 eck$LassoCheckResult]: Stem: 263#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 264#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 278#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 246#L313-1 [2020-06-21 23:52:42,127 INFO L796 eck$LassoCheckResult]: Loop: 246#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 239#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 275#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 251#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 252#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 261#L214-1 [404] L214-1-->L226-1: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4 1) (= v_~p_dw_st~0_4 0)) InVars {~p_dw_st~0=v_~p_dw_st~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_4, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 249#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 250#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 245#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 246#L313-1 [2020-06-21 23:52:42,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,128 INFO L82 PathProgramCache]: Analyzing trace with hash 542882, now seen corresponding path program 1 times [2020-06-21 23:52:42,128 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,128 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,129 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,129 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:42,129 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,159 INFO L82 PathProgramCache]: Analyzing trace with hash 65342963, now seen corresponding path program 3 times [2020-06-21 23:52:42,159 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,160 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,161 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:42,161 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:42,180 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:42,180 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:42,180 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-06-21 23:52:42,180 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:42,181 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-06-21 23:52:42,181 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-06-21 23:52:42,181 INFO L87 Difference]: Start difference. First operand 52 states and 109 transitions. cyclomatic complexity: 58 Second operand 4 states. [2020-06-21 23:52:42,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:42,503 INFO L93 Difference]: Finished difference Result 141 states and 290 transitions. [2020-06-21 23:52:42,506 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-06-21 23:52:42,506 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 141 states and 290 transitions. [2020-06-21 23:52:42,509 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 138 [2020-06-21 23:52:42,512 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 141 states to 141 states and 290 transitions. [2020-06-21 23:52:42,512 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 141 [2020-06-21 23:52:42,513 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 141 [2020-06-21 23:52:42,513 INFO L73 IsDeterministic]: Start isDeterministic. Operand 141 states and 290 transitions. [2020-06-21 23:52:42,514 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:42,514 INFO L706 BuchiCegarLoop]: Abstraction has 141 states and 290 transitions. [2020-06-21 23:52:42,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states and 290 transitions. [2020-06-21 23:52:42,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 54. [2020-06-21 23:52:42,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2020-06-21 23:52:42,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 111 transitions. [2020-06-21 23:52:42,521 INFO L729 BuchiCegarLoop]: Abstraction has 54 states and 111 transitions. [2020-06-21 23:52:42,521 INFO L609 BuchiCegarLoop]: Abstraction has 54 states and 111 transitions. [2020-06-21 23:52:42,521 INFO L442 BuchiCegarLoop]: ======== Iteration 4============ [2020-06-21 23:52:42,521 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 54 states and 111 transitions. [2020-06-21 23:52:42,522 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 51 [2020-06-21 23:52:42,523 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:42,523 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:42,523 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2020-06-21 23:52:42,523 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:42,524 INFO L794 eck$LassoCheckResult]: Stem: 464#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 465#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 481#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 448#L313-1 [2020-06-21 23:52:42,524 INFO L796 eck$LassoCheckResult]: Loop: 448#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 441#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 477#L214 [459] L214-->L218: Formula: (< v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 475#L218 [464] L218-->L226: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13 0) (> 0 v_~c_dr_st~0_8)) InVars {~c_dr_st~0=v_~c_dr_st~0_8} OutVars{~c_dr_st~0=v_~c_dr_st~0_8, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 476#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 482#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 479#L214-1 [404] L214-1-->L226-1: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4 1) (= v_~p_dw_st~0_4 0)) InVars {~p_dw_st~0=v_~p_dw_st~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_4, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 451#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 452#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 447#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 448#L313-1 [2020-06-21 23:52:42,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,525 INFO L82 PathProgramCache]: Analyzing trace with hash 542882, now seen corresponding path program 2 times [2020-06-21 23:52:42,525 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,525 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,526 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,526 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:42,526 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,539 INFO L82 PathProgramCache]: Analyzing trace with hash -839165818, now seen corresponding path program 1 times [2020-06-21 23:52:42,539 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,539 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,540 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,540 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:42,540 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:42,556 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:42,557 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:42,557 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:42,557 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:42,557 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:42,557 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:42,558 INFO L87 Difference]: Start difference. First operand 54 states and 111 transitions. cyclomatic complexity: 58 Second operand 3 states. [2020-06-21 23:52:42,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:42,714 INFO L93 Difference]: Finished difference Result 87 states and 174 transitions. [2020-06-21 23:52:42,715 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:42,715 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 87 states and 174 transitions. [2020-06-21 23:52:42,717 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 84 [2020-06-21 23:52:42,718 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 87 states to 87 states and 174 transitions. [2020-06-21 23:52:42,719 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 87 [2020-06-21 23:52:42,719 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 87 [2020-06-21 23:52:42,719 INFO L73 IsDeterministic]: Start isDeterministic. Operand 87 states and 174 transitions. [2020-06-21 23:52:42,720 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:42,720 INFO L706 BuchiCegarLoop]: Abstraction has 87 states and 174 transitions. [2020-06-21 23:52:42,720 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states and 174 transitions. [2020-06-21 23:52:42,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 87. [2020-06-21 23:52:42,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 87 states. [2020-06-21 23:52:42,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 174 transitions. [2020-06-21 23:52:42,726 INFO L729 BuchiCegarLoop]: Abstraction has 87 states and 174 transitions. [2020-06-21 23:52:42,727 INFO L609 BuchiCegarLoop]: Abstraction has 87 states and 174 transitions. [2020-06-21 23:52:42,727 INFO L442 BuchiCegarLoop]: ======== Iteration 5============ [2020-06-21 23:52:42,727 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 87 states and 174 transitions. [2020-06-21 23:52:42,728 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 84 [2020-06-21 23:52:42,728 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:42,728 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:42,728 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1] [2020-06-21 23:52:42,728 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:42,729 INFO L794 eck$LassoCheckResult]: Stem: 612#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 613#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 631#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 623#L313-1 [2020-06-21 23:52:42,729 INFO L796 eck$LassoCheckResult]: Loop: 623#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 588#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 625#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 638#L218 [464] L218-->L226: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13 0) (> 0 v_~c_dr_st~0_8)) InVars {~c_dr_st~0=v_~c_dr_st~0_8} OutVars{~c_dr_st~0=v_~c_dr_st~0_8, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 636#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 633#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 634#L214-1 [404] L214-1-->L226-1: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4 1) (= v_~p_dw_st~0_4 0)) InVars {~p_dw_st~0=v_~p_dw_st~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_4, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_4} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 650#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 648#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 647#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 623#L313-1 [2020-06-21 23:52:42,730 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,730 INFO L82 PathProgramCache]: Analyzing trace with hash 542882, now seen corresponding path program 3 times [2020-06-21 23:52:42,730 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,730 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,731 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,731 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:42,731 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,742 INFO L82 PathProgramCache]: Analyzing trace with hash 903644517, now seen corresponding path program 1 times [2020-06-21 23:52:42,743 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,743 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,743 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,744 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:42,744 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:42,757 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:42,757 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:42,758 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:42,758 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:42,758 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:42,758 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:42,759 INFO L87 Difference]: Start difference. First operand 87 states and 174 transitions. cyclomatic complexity: 88 Second operand 3 states. [2020-06-21 23:52:42,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:42,876 INFO L93 Difference]: Finished difference Result 123 states and 236 transitions. [2020-06-21 23:52:42,876 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:42,876 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 123 states and 236 transitions. [2020-06-21 23:52:42,878 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 119 [2020-06-21 23:52:42,880 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 123 states to 123 states and 236 transitions. [2020-06-21 23:52:42,880 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 123 [2020-06-21 23:52:42,880 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 123 [2020-06-21 23:52:42,881 INFO L73 IsDeterministic]: Start isDeterministic. Operand 123 states and 236 transitions. [2020-06-21 23:52:42,882 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:42,882 INFO L706 BuchiCegarLoop]: Abstraction has 123 states and 236 transitions. [2020-06-21 23:52:42,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states and 236 transitions. [2020-06-21 23:52:42,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 108. [2020-06-21 23:52:42,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 108 states. [2020-06-21 23:52:42,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 207 transitions. [2020-06-21 23:52:42,890 INFO L729 BuchiCegarLoop]: Abstraction has 108 states and 207 transitions. [2020-06-21 23:52:42,890 INFO L609 BuchiCegarLoop]: Abstraction has 108 states and 207 transitions. [2020-06-21 23:52:42,890 INFO L442 BuchiCegarLoop]: ======== Iteration 6============ [2020-06-21 23:52:42,890 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 108 states and 207 transitions. [2020-06-21 23:52:42,891 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 104 [2020-06-21 23:52:42,892 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:42,892 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:42,893 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:42,893 INFO L868 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] [2020-06-21 23:52:42,893 INFO L794 eck$LassoCheckResult]: Stem: 831#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 832#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 853#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 854#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 861#L262 [2020-06-21 23:52:42,894 INFO L796 eck$LassoCheckResult]: Loop: 861#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 859#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 858#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 857#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 855#L242-1 [470] L242-1-->L247: Formula: (< v_~p_dw_st~0_12 0) InVars {~p_dw_st~0=v_~p_dw_st~0_12} OutVars{~p_dw_st~0=v_~p_dw_st~0_12} AuxVars[] AssignedVars[] 856#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 877#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 878#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 882#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 852#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 848#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 829#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 802#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 803#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 826#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 870#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 868#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 867#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 866#L82-3 [513] L82-3-->L82-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 865#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 864#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 862#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 861#L262 [2020-06-21 23:52:42,894 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,895 INFO L82 PathProgramCache]: Analyzing trace with hash 16829863, now seen corresponding path program 1 times [2020-06-21 23:52:42,895 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,895 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,896 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,896 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:42,896 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:42,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:42,907 INFO L82 PathProgramCache]: Analyzing trace with hash -1896095386, now seen corresponding path program 1 times [2020-06-21 23:52:42,907 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:42,907 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:42,908 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,908 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:42,908 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:42,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:42,922 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:42,922 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:42,922 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:42,923 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:42,923 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:42,923 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:42,924 INFO L87 Difference]: Start difference. First operand 108 states and 207 transitions. cyclomatic complexity: 100 Second operand 3 states. [2020-06-21 23:52:43,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:43,004 INFO L93 Difference]: Finished difference Result 75 states and 142 transitions. [2020-06-21 23:52:43,005 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:43,005 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 75 states and 142 transitions. [2020-06-21 23:52:43,006 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 71 [2020-06-21 23:52:43,007 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 75 states to 75 states and 142 transitions. [2020-06-21 23:52:43,007 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 75 [2020-06-21 23:52:43,007 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 75 [2020-06-21 23:52:43,007 INFO L73 IsDeterministic]: Start isDeterministic. Operand 75 states and 142 transitions. [2020-06-21 23:52:43,008 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:43,008 INFO L706 BuchiCegarLoop]: Abstraction has 75 states and 142 transitions. [2020-06-21 23:52:43,008 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states and 142 transitions. [2020-06-21 23:52:43,012 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 75. [2020-06-21 23:52:43,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2020-06-21 23:52:43,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 142 transitions. [2020-06-21 23:52:43,013 INFO L729 BuchiCegarLoop]: Abstraction has 75 states and 142 transitions. [2020-06-21 23:52:43,014 INFO L609 BuchiCegarLoop]: Abstraction has 75 states and 142 transitions. [2020-06-21 23:52:43,014 INFO L442 BuchiCegarLoop]: ======== Iteration 7============ [2020-06-21 23:52:43,014 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 75 states and 142 transitions. [2020-06-21 23:52:43,014 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 71 [2020-06-21 23:52:43,015 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:43,015 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:43,015 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:43,015 INFO L868 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] [2020-06-21 23:52:43,016 INFO L794 eck$LassoCheckResult]: Stem: 1018#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 1019#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 1040#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 1034#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 1030#L262 [2020-06-21 23:52:43,017 INFO L796 eck$LassoCheckResult]: Loop: 1030#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 1045#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 1044#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 1043#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 1042#L242-1 [469] L242-1-->L247: Formula: (> v_~p_dw_st~0_12 0) InVars {~p_dw_st~0=v_~p_dw_st~0_12} OutVars{~p_dw_st~0=v_~p_dw_st~0_12} AuxVars[] AssignedVars[] 1014#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 991#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 992#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 1008#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 1010#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 1037#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 1020#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 994#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 995#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 1015#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1050#L51-3 [507] L51-3-->L51-5: Formula: (> v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 1011#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 986#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 987#L82-3 [513] L82-3-->L82-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 1024#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 1031#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1028#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 1030#L262 [2020-06-21 23:52:43,017 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,017 INFO L82 PathProgramCache]: Analyzing trace with hash 16829863, now seen corresponding path program 2 times [2020-06-21 23:52:43,017 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,017 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,018 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,018 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:43,019 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,029 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,029 INFO L82 PathProgramCache]: Analyzing trace with hash 1910882430, now seen corresponding path program 1 times [2020-06-21 23:52:43,029 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,029 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,030 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,030 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:43,030 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:43,047 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:43,047 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:43,047 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:43,047 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:43,048 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:43,048 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:43,048 INFO L87 Difference]: Start difference. First operand 75 states and 142 transitions. cyclomatic complexity: 68 Second operand 3 states. [2020-06-21 23:52:43,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:43,171 INFO L93 Difference]: Finished difference Result 90 states and 169 transitions. [2020-06-21 23:52:43,172 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:43,172 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 90 states and 169 transitions. [2020-06-21 23:52:43,173 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 86 [2020-06-21 23:52:43,174 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 90 states to 90 states and 169 transitions. [2020-06-21 23:52:43,174 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 90 [2020-06-21 23:52:43,175 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 90 [2020-06-21 23:52:43,175 INFO L73 IsDeterministic]: Start isDeterministic. Operand 90 states and 169 transitions. [2020-06-21 23:52:43,181 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:43,181 INFO L706 BuchiCegarLoop]: Abstraction has 90 states and 169 transitions. [2020-06-21 23:52:43,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states and 169 transitions. [2020-06-21 23:52:43,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 75. [2020-06-21 23:52:43,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2020-06-21 23:52:43,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 140 transitions. [2020-06-21 23:52:43,189 INFO L729 BuchiCegarLoop]: Abstraction has 75 states and 140 transitions. [2020-06-21 23:52:43,189 INFO L609 BuchiCegarLoop]: Abstraction has 75 states and 140 transitions. [2020-06-21 23:52:43,189 INFO L442 BuchiCegarLoop]: ======== Iteration 8============ [2020-06-21 23:52:43,189 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 75 states and 140 transitions. [2020-06-21 23:52:43,190 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 71 [2020-06-21 23:52:43,190 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:43,190 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:43,191 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:43,191 INFO L868 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] [2020-06-21 23:52:43,191 INFO L794 eck$LassoCheckResult]: Stem: 1187#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 1188#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 1210#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 1211#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 1214#L262 [2020-06-21 23:52:43,192 INFO L796 eck$LassoCheckResult]: Loop: 1214#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 1207#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 1208#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 1215#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 1212#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 1200#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 1196#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 1192#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1195#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 1184#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 1162#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 1163#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 1179#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 1181#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 1226#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 1189#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 1165#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 1166#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 1185#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1223#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 1221#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1220#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 1219#L82-3 [513] L82-3-->L82-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 1218#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 1217#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1216#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 1214#L262 [2020-06-21 23:52:43,193 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,193 INFO L82 PathProgramCache]: Analyzing trace with hash 16829863, now seen corresponding path program 3 times [2020-06-21 23:52:43,193 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,193 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,194 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:43,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,204 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,204 INFO L82 PathProgramCache]: Analyzing trace with hash -1091903989, now seen corresponding path program 1 times [2020-06-21 23:52:43,204 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,204 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,205 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:43,205 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:43,237 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:43,237 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:43,237 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-06-21 23:52:43,238 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:43,238 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-06-21 23:52:43,238 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-06-21 23:52:43,238 INFO L87 Difference]: Start difference. First operand 75 states and 140 transitions. cyclomatic complexity: 66 Second operand 4 states. [2020-06-21 23:52:43,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:43,481 INFO L93 Difference]: Finished difference Result 179 states and 322 transitions. [2020-06-21 23:52:43,481 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-06-21 23:52:43,482 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 179 states and 322 transitions. [2020-06-21 23:52:43,484 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 175 [2020-06-21 23:52:43,485 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 179 states to 179 states and 322 transitions. [2020-06-21 23:52:43,486 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 179 [2020-06-21 23:52:43,486 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 179 [2020-06-21 23:52:43,486 INFO L73 IsDeterministic]: Start isDeterministic. Operand 179 states and 322 transitions. [2020-06-21 23:52:43,487 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:43,487 INFO L706 BuchiCegarLoop]: Abstraction has 179 states and 322 transitions. [2020-06-21 23:52:43,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 179 states and 322 transitions. [2020-06-21 23:52:43,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 179 to 79. [2020-06-21 23:52:43,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-06-21 23:52:43,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 144 transitions. [2020-06-21 23:52:43,492 INFO L729 BuchiCegarLoop]: Abstraction has 79 states and 144 transitions. [2020-06-21 23:52:43,492 INFO L609 BuchiCegarLoop]: Abstraction has 79 states and 144 transitions. [2020-06-21 23:52:43,492 INFO L442 BuchiCegarLoop]: ======== Iteration 9============ [2020-06-21 23:52:43,492 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 79 states and 144 transitions. [2020-06-21 23:52:43,493 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 75 [2020-06-21 23:52:43,493 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:43,493 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:43,494 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:43,494 INFO L868 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] [2020-06-21 23:52:43,494 INFO L794 eck$LassoCheckResult]: Stem: 1452#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 1453#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 1477#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 1470#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 1464#L262 [2020-06-21 23:52:43,495 INFO L796 eck$LassoCheckResult]: Loop: 1464#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 1472#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 1476#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 1492#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 1480#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 1471#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 1461#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 1456#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1459#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 1448#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 1428#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 1429#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 1443#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 1445#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 1473#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 1450#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 1426#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 1427#L74-3 [504] L74-3-->L74-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 1446#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1416#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 1417#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1421#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 1422#L82-3 [513] L82-3-->L82-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 1457#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 1465#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1462#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 1464#L262 [2020-06-21 23:52:43,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,496 INFO L82 PathProgramCache]: Analyzing trace with hash 16829863, now seen corresponding path program 4 times [2020-06-21 23:52:43,496 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,496 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,497 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,497 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:43,497 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,506 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,506 INFO L82 PathProgramCache]: Analyzing trace with hash 1395608844, now seen corresponding path program 1 times [2020-06-21 23:52:43,506 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,506 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,507 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,507 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:43,507 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:43,538 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:43,538 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:43,538 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-06-21 23:52:43,539 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:43,539 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-06-21 23:52:43,539 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-06-21 23:52:43,539 INFO L87 Difference]: Start difference. First operand 79 states and 144 transitions. cyclomatic complexity: 66 Second operand 4 states. [2020-06-21 23:52:43,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:43,735 INFO L93 Difference]: Finished difference Result 183 states and 320 transitions. [2020-06-21 23:52:43,735 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-06-21 23:52:43,735 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 183 states and 320 transitions. [2020-06-21 23:52:43,737 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 179 [2020-06-21 23:52:43,738 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 183 states to 183 states and 320 transitions. [2020-06-21 23:52:43,738 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 183 [2020-06-21 23:52:43,739 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 183 [2020-06-21 23:52:43,739 INFO L73 IsDeterministic]: Start isDeterministic. Operand 183 states and 320 transitions. [2020-06-21 23:52:43,739 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is deterministic. [2020-06-21 23:52:43,740 INFO L706 BuchiCegarLoop]: Abstraction has 183 states and 320 transitions. [2020-06-21 23:52:43,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states and 320 transitions. [2020-06-21 23:52:43,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 85. [2020-06-21 23:52:43,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2020-06-21 23:52:43,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 150 transitions. [2020-06-21 23:52:43,744 INFO L729 BuchiCegarLoop]: Abstraction has 85 states and 150 transitions. [2020-06-21 23:52:43,744 INFO L609 BuchiCegarLoop]: Abstraction has 85 states and 150 transitions. [2020-06-21 23:52:43,744 INFO L442 BuchiCegarLoop]: ======== Iteration 10============ [2020-06-21 23:52:43,744 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 85 states and 150 transitions. [2020-06-21 23:52:43,745 INFO L131 ngComponentsAnalysis]: Automaton has 1 accepting balls. 81 [2020-06-21 23:52:43,745 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:43,745 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:43,746 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:43,746 INFO L868 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] [2020-06-21 23:52:43,746 INFO L794 eck$LassoCheckResult]: Stem: 1730#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 1731#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 1752#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 1753#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 1745#L262 [2020-06-21 23:52:43,747 INFO L796 eck$LassoCheckResult]: Loop: 1745#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 1746#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 1751#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 1757#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 1756#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 1744#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 1739#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 1733#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1738#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 1722#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 1700#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 1701#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 1716#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 1718#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 1747#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 1728#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 1698#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 1699#L74-3 [504] L74-3-->L74-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 1723#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1688#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 1689#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 1766#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 1764#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 1761#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 1760#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 1758#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 1745#L262 [2020-06-21 23:52:43,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,747 INFO L82 PathProgramCache]: Analyzing trace with hash 16829863, now seen corresponding path program 5 times [2020-06-21 23:52:43,747 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,747 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,748 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:43,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,757 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,758 INFO L82 PathProgramCache]: Analyzing trace with hash 1395638635, now seen corresponding path program 1 times [2020-06-21 23:52:43,758 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,758 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,758 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,759 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:43,759 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:43,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:43,780 INFO L82 PathProgramCache]: Analyzing trace with hash 690695057, now seen corresponding path program 1 times [2020-06-21 23:52:43,780 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:43,780 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:43,781 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,781 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:43,781 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:43,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:43,800 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:43,801 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:43,801 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:44,074 WARN L188 SmtUtils]: Spent 267.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 82 [2020-06-21 23:52:44,177 WARN L188 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2020-06-21 23:52:44,196 INFO L216 LassoAnalysis]: Preferences: [2020-06-21 23:52:44,198 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2020-06-21 23:52:44,198 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2020-06-21 23:52:44,198 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2020-06-21 23:52:44,198 INFO L127 ssoRankerPreferences]: Use exernal solver: true [2020-06-21 23:52:44,198 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 [2020-06-21 23:52:44,198 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2020-06-21 23:52:44,198 INFO L130 ssoRankerPreferences]: Path of dumped script: [2020-06-21 23:52:44,199 INFO L131 ssoRankerPreferences]: Filename of dumped script: theBenchmark.c_BEv2_Iteration10_Loop [2020-06-21 23:52:44,199 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2020-06-21 23:52:44,199 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2020-06-21 23:52:44,221 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,234 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,236 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,244 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,247 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,256 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,264 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,266 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,273 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,276 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,285 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,288 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,293 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,296 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,300 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,305 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,310 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,315 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,593 INFO L300 LassoAnalysis]: Preprocessing complete. [2020-06-21 23:52:44,593 INFO L412 LassoAnalysis]: Checking for nontermination... No working directory specified, using /export/starexec/sandbox2/solver/bin/z3 Starting monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 [2020-06-21 23:52:44,601 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2020-06-21 23:52:44,602 INFO L163 nArgumentSynthesizer]: Using integer mode. [2020-06-21 23:52:44,613 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2020-06-21 23:52:44,613 INFO L448 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_eval_#t~nondet4=4, ULTIMATE.start_eval_~tmp~1=4} Honda state: {ULTIMATE.start_eval_#t~nondet4=4, ULTIMATE.start_eval_~tmp~1=4} Generalized eigenvectors: [] Lambdas: [] Nus: [] No working directory specified, using /export/starexec/sandbox2/solver/bin/z3 Starting monitored process 3 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 [2020-06-21 23:52:44,644 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2020-06-21 23:52:44,644 INFO L163 nArgumentSynthesizer]: Using integer mode. [2020-06-21 23:52:44,651 INFO L445 LassoAnalysis]: Proved nontermination for one component. [2020-06-21 23:52:44,652 INFO L448 LassoAnalysis]: Non-Termination argument consisting of: Initial state: {ULTIMATE.start_immediate_notify_threads_#t~ret1=0} Honda state: {ULTIMATE.start_immediate_notify_threads_#t~ret1=0} Generalized eigenvectors: [] Lambdas: [] Nus: [] No working directory specified, using /export/starexec/sandbox2/solver/bin/z3 Starting monitored process 4 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 [2020-06-21 23:52:44,690 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 0 Nilpotent components: true [2020-06-21 23:52:44,691 INFO L163 nArgumentSynthesizer]: Using integer mode. No working directory specified, using /export/starexec/sandbox2/solver/bin/z3 Starting monitored process 5 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 SMTLIB2_COMPLIANT=true -memory:4560 -smt2 -in -t:12000 [2020-06-21 23:52:44,729 INFO L151 nArgumentSynthesizer]: Nontermination analysis: NONLINEAR Allow bounded executions: true Number of generalized eigenvectors: 3 Nilpotent components: true [2020-06-21 23:52:44,729 INFO L163 nArgumentSynthesizer]: Using integer mode. [2020-06-21 23:52:44,741 INFO L452 LassoAnalysis]: Proving nontermination failed: No geometric nontermination argument exists. [2020-06-21 23:52:44,766 INFO L216 LassoAnalysis]: Preferences: [2020-06-21 23:52:44,766 INFO L124 ssoRankerPreferences]: Compute integeral hull: false [2020-06-21 23:52:44,766 INFO L125 ssoRankerPreferences]: Enable LassoPartitioneer: true [2020-06-21 23:52:44,766 INFO L126 ssoRankerPreferences]: Term annotations enabled: false [2020-06-21 23:52:44,766 INFO L127 ssoRankerPreferences]: Use exernal solver: false [2020-06-21 23:52:44,767 INFO L128 ssoRankerPreferences]: SMT solver command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2020-06-21 23:52:44,767 INFO L129 ssoRankerPreferences]: Dump SMT script to file: false [2020-06-21 23:52:44,767 INFO L130 ssoRankerPreferences]: Path of dumped script: [2020-06-21 23:52:44,767 INFO L131 ssoRankerPreferences]: Filename of dumped script: theBenchmark.c_BEv2_Iteration10_Loop [2020-06-21 23:52:44,767 INFO L132 ssoRankerPreferences]: MapElimAlgo: Frank [2020-06-21 23:52:44,767 INFO L282 LassoAnalysis]: Starting lasso preprocessing... [2020-06-21 23:52:44,770 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,789 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,796 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,807 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,816 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,818 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,826 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,832 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,836 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,839 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,846 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,850 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,852 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,858 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,867 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,873 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,879 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:44,886 INFO L141 MapEliminator]: Using MapEliminator with SimplificationTechnique=SIMPLIFY_DDA XnfConversionTechnique=BOTTOM_UP_WITH_LOCAL_SIMPLIFICATION AddInequalities=false OnlyTrivialImplicationsArrayWrite=true OnlyTrivialImplicationsForModifiedArguments=true OnlyArgumentsInFormula=true [2020-06-21 23:52:45,186 INFO L300 LassoAnalysis]: Preprocessing complete. [2020-06-21 23:52:45,193 INFO L497 LassoAnalysis]: Using template 'affine'. [2020-06-21 23:52:45,195 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2020-06-21 23:52:45,196 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2020-06-21 23:52:45,197 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2020-06-21 23:52:45,197 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2020-06-21 23:52:45,198 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2020-06-21 23:52:45,198 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2020-06-21 23:52:45,200 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2020-06-21 23:52:45,200 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2020-06-21 23:52:45,206 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2020-06-21 23:52:45,206 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2020-06-21 23:52:45,207 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2020-06-21 23:52:45,207 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2020-06-21 23:52:45,207 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2020-06-21 23:52:45,207 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2020-06-21 23:52:45,207 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2020-06-21 23:52:45,208 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2020-06-21 23:52:45,208 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2020-06-21 23:52:45,209 INFO L530 LassoAnalysis]: Proving termination failed for this template and these settings. [2020-06-21 23:52:45,209 INFO L122 nArgumentSynthesizer]: Termination Analysis Settings: Termination analysis: LINEAR_WITH_GUESSES Number of strict supporting invariants: 0 Number of non-strict supporting invariants: 1 Consider only non-deceasing supporting invariants: true Simplify termination arguments: true Simplify supporting invariants: trueOverapproximate stem: false [2020-06-21 23:52:45,210 INFO L339 nArgumentSynthesizer]: Template has degree 0. [2020-06-21 23:52:45,210 INFO L352 nArgumentSynthesizer]: There is no stem transition; disabling supporting invariant generation. [2020-06-21 23:52:45,210 INFO L205 nArgumentSynthesizer]: 1 stem disjuncts [2020-06-21 23:52:45,210 INFO L206 nArgumentSynthesizer]: 1 loop disjuncts [2020-06-21 23:52:45,210 INFO L207 nArgumentSynthesizer]: 2 template conjuncts. [2020-06-21 23:52:45,211 INFO L402 nArgumentSynthesizer]: We have 2 Motzkin's Theorem applications. [2020-06-21 23:52:45,211 INFO L403 nArgumentSynthesizer]: A total of 0 supporting invariants were added. [2020-06-21 23:52:45,214 INFO L421 nArgumentSynthesizer]: Found a termination argument, trying to simplify. [2020-06-21 23:52:45,217 INFO L443 ModelExtractionUtils]: Simplification made 3 calls to the SMT solver. [2020-06-21 23:52:45,217 INFO L444 ModelExtractionUtils]: 0 out of 3 variables were initially zero. Simplification set additionally 0 variables to zero. [2020-06-21 23:52:45,219 INFO L437 nArgumentSynthesizer]: Simplifying supporting invariants... [2020-06-21 23:52:45,219 INFO L440 nArgumentSynthesizer]: Removed 0 redundant supporting invariants from a total of 0. [2020-06-21 23:52:45,219 INFO L518 LassoAnalysis]: Proved termination. [2020-06-21 23:52:45,220 INFO L520 LassoAnalysis]: Termination argument consisting of: Ranking function f(~q_free~0) = -2*~q_free~0 + 1 Supporting invariants [] [2020-06-21 23:52:45,221 INFO L297 tatePredicateManager]: 0 out of 0 supporting invariants were superfluous and have been removed [2020-06-21 23:52:45,246 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:45,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:45,269 INFO L256 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 2 conjunts are in the unsatisfiable core [2020-06-21 23:52:45,270 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2020-06-21 23:52:45,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:45,301 INFO L256 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 4 conjunts are in the unsatisfiable core [2020-06-21 23:52:45,303 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2020-06-21 23:52:45,373 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:45,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:45,518 INFO L256 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 2 conjunts are in the unsatisfiable core [2020-06-21 23:52:45,519 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2020-06-21 23:52:45,969 WARN L860 $PredicateComparison]: unable to prove that (exists ((~q_free~0 Int)) (<= 1 (+ (* 2 ~q_free~0) c_oldRank0))) is different from true [2020-06-21 23:52:46,838 WARN L188 SmtUtils]: Spent 432.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2020-06-21 23:52:47,282 WARN L860 $PredicateComparison]: unable to prove that (exists ((v_prenex_2 Int)) (<= 1 (+ (* 2 v_prenex_2) c_oldRank0))) is different from true [2020-06-21 23:52:47,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:47,306 INFO L256 TraceCheckSpWp]: Trace formula consists of 92 conjuncts, 2 conjunts are in the unsatisfiable core [2020-06-21 23:52:47,307 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2020-06-21 23:52:47,754 WARN L188 SmtUtils]: Spent 433.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2020-06-21 23:52:48,225 INFO L98 LoopCannibalizer]: 3 predicates before loop cannibalization 7 predicates after loop cannibalization [2020-06-21 23:52:48,229 INFO L152 lantAutomatonBouncer]: Defining Buchi interpolant automaton with scrooge nondeterminism in stemwith honda bouncer for stem and without honda bouncer for loop.1 stem predicates 7 loop predicates [2020-06-21 23:52:48,229 INFO L69 BuchiDifferenceNCSB]: Start buchiDifferenceNCSB. First operand 85 states and 150 transitions. cyclomatic complexity: 66 Second operand 5 states. [2020-06-21 23:52:50,310 INFO L73 BuchiDifferenceNCSB]: Finished buchiDifferenceNCSB. First operand 85 states and 150 transitions. cyclomatic complexity: 66. Second operand 5 states. Result 6287 states and 10931 transitions. Complement of second has 491 states. [2020-06-21 23:52:50,311 INFO L142 InterpolantAutomaton]: Switched to read-only mode: Buchi interpolant automaton has 14 states 1 stem states 9 non-accepting loop states 3 accepting loop states [2020-06-21 23:52:50,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-06-21 23:52:50,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 724 transitions. [2020-06-21 23:52:50,315 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 14 states and 724 transitions. Stem has 4 letters. Loop has 26 letters. [2020-06-21 23:52:50,319 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2020-06-21 23:52:50,319 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 14 states and 724 transitions. Stem has 30 letters. Loop has 26 letters. [2020-06-21 23:52:50,322 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2020-06-21 23:52:50,322 INFO L84 BuchiAccepts]: Start buchiAccepts Operand 14 states and 724 transitions. Stem has 4 letters. Loop has 52 letters. [2020-06-21 23:52:50,324 INFO L116 BuchiAccepts]: Finished buchiAccepts. [2020-06-21 23:52:50,362 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 6287 states and 10931 transitions. [2020-06-21 23:52:50,416 INFO L131 ngComponentsAnalysis]: Automaton has 9 accepting balls. 827 [2020-06-21 23:52:50,425 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 6287 states to 1034 states and 1759 transitions. [2020-06-21 23:52:50,425 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 842 [2020-06-21 23:52:50,426 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 902 [2020-06-21 23:52:50,427 INFO L73 IsDeterministic]: Start isDeterministic. Operand 1034 states and 1759 transitions. [2020-06-21 23:52:50,427 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:50,427 INFO L706 BuchiCegarLoop]: Abstraction has 1034 states and 1759 transitions. [2020-06-21 23:52:50,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1034 states and 1759 transitions. [2020-06-21 23:52:50,443 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1034 to 434. [2020-06-21 23:52:50,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 434 states. [2020-06-21 23:52:50,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 434 states to 434 states and 747 transitions. [2020-06-21 23:52:50,445 INFO L729 BuchiCegarLoop]: Abstraction has 434 states and 747 transitions. [2020-06-21 23:52:50,446 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:50,446 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:50,446 INFO L87 Difference]: Start difference. First operand 434 states and 747 transitions. Second operand 3 states. [2020-06-21 23:52:50,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:50,570 INFO L93 Difference]: Finished difference Result 403 states and 690 transitions. [2020-06-21 23:52:50,570 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:50,576 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 403 states and 690 transitions. [2020-06-21 23:52:50,583 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 354 [2020-06-21 23:52:50,587 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 403 states to 371 states and 640 transitions. [2020-06-21 23:52:50,587 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 339 [2020-06-21 23:52:50,588 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 339 [2020-06-21 23:52:50,588 INFO L73 IsDeterministic]: Start isDeterministic. Operand 371 states and 640 transitions. [2020-06-21 23:52:50,588 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:50,588 INFO L706 BuchiCegarLoop]: Abstraction has 371 states and 640 transitions. [2020-06-21 23:52:50,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 371 states and 640 transitions. [2020-06-21 23:52:50,595 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 371 to 304. [2020-06-21 23:52:50,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 304 states. [2020-06-21 23:52:50,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 304 states to 304 states and 529 transitions. [2020-06-21 23:52:50,596 INFO L729 BuchiCegarLoop]: Abstraction has 304 states and 529 transitions. [2020-06-21 23:52:50,596 INFO L609 BuchiCegarLoop]: Abstraction has 304 states and 529 transitions. [2020-06-21 23:52:50,597 INFO L442 BuchiCegarLoop]: ======== Iteration 11============ [2020-06-21 23:52:50,597 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 304 states and 529 transitions. [2020-06-21 23:52:50,599 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 300 [2020-06-21 23:52:50,599 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:50,599 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:50,600 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:50,600 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:50,600 INFO L794 eck$LassoCheckResult]: Stem: 9733#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 9734#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 9779#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 9780#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 9763#L262 [2020-06-21 23:52:50,601 INFO L796 eck$LassoCheckResult]: Loop: 9763#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 9764#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 9962#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 9959#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 9939#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 9759#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 9760#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 9739#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9744#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 9710#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 9711#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 9787#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 9801#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 9797#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 9727#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 9728#L51 [309] L51-->L52: Formula: (= 1 v_~c_dr_pc~0_3) InVars {~c_dr_pc~0=v_~c_dr_pc~0_3} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_3} AuxVars[] AssignedVars[] 9730#L52 [343] L52-->L62: Formula: (and (= v_~q_write_ev~0_4 1) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_4} OutVars{~q_write_ev~0=v_~q_write_ev~0_4, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 9731#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 9795#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 9741#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 9742#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9810#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 9811#L247 [473] L247-->L262: Formula: (< 0 v_~c_dr_st~0_2) InVars {~c_dr_st~0=v_~c_dr_st~0_2} OutVars{~c_dr_st~0=v_~c_dr_st~0_2} AuxVars[] AssignedVars[] 9875#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 9895#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 9892#L218 [464] L218-->L226: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13 0) (> 0 v_~c_dr_st~0_8)) InVars {~c_dr_st~0=v_~c_dr_st~0_8} OutVars{~c_dr_st~0=v_~c_dr_st~0_8, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 9888#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 9883#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 9849#L214-1 [458] L214-1-->L218-1: Formula: (> v_~p_dw_st~0_5 0) InVars {~p_dw_st~0=v_~p_dw_st~0_5} OutVars{~p_dw_st~0=v_~p_dw_st~0_5} AuxVars[] AssignedVars[] 9850#L218-1 [416] L218-1-->L226-1: Formula: (and (= 0 v_~c_dr_st~0_5) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_5 1)) InVars {~c_dr_st~0=v_~c_dr_st~0_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_5, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_5} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 9844#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 9845#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 9806#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 9807#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 9799#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 9773#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 9752#L218 [464] L218-->L226: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13 0) (> 0 v_~c_dr_st~0_8)) InVars {~c_dr_st~0=v_~c_dr_st~0_8} OutVars{~c_dr_st~0=v_~c_dr_st~0_8, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 9753#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 9963#L242 [467] L242-->L242-1: Formula: (< v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 9719#L242-1 [469] L242-1-->L247: Formula: (> v_~p_dw_st~0_12 0) InVars {~p_dw_st~0=v_~p_dw_st~0_12} OutVars{~p_dw_st~0=v_~p_dw_st~0_12} AuxVars[] AssignedVars[] 9720#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 9685#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 9686#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 9949#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 9749#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 9938#L32-3 [495] L32-3-->L32-5: Formula: (< v_~p_dw_pc~0_11 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_11} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_11} AuxVars[] AssignedVars[] 9937#L32-5 [392] L32-5-->L43-1: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 9691#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 9692#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 9723#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 9935#L51-3 [507] L51-3-->L51-5: Formula: (> v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 9933#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 9931#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 9929#L82-3 [513] L82-3-->L82-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 9928#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 9927#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 9925#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 9763#L262 [2020-06-21 23:52:50,602 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:50,602 INFO L82 PathProgramCache]: Analyzing trace with hash 16829863, now seen corresponding path program 6 times [2020-06-21 23:52:50,602 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:50,602 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:50,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,603 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:50,603 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:50,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:50,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:50,610 INFO L82 PathProgramCache]: Analyzing trace with hash -1670093295, now seen corresponding path program 1 times [2020-06-21 23:52:50,611 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:50,611 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:50,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,612 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:50,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:50,647 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-06-21 23:52:50,647 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:50,647 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:50,648 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:50,648 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:50,648 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:50,648 INFO L87 Difference]: Start difference. First operand 304 states and 529 transitions. cyclomatic complexity: 227 Second operand 3 states. [2020-06-21 23:52:50,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:50,807 INFO L93 Difference]: Finished difference Result 521 states and 865 transitions. [2020-06-21 23:52:50,807 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:50,813 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 521 states and 865 transitions. [2020-06-21 23:52:50,817 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 503 [2020-06-21 23:52:50,821 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 521 states to 521 states and 865 transitions. [2020-06-21 23:52:50,821 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 471 [2020-06-21 23:52:50,822 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 471 [2020-06-21 23:52:50,822 INFO L73 IsDeterministic]: Start isDeterministic. Operand 521 states and 865 transitions. [2020-06-21 23:52:50,823 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:50,823 INFO L706 BuchiCegarLoop]: Abstraction has 521 states and 865 transitions. [2020-06-21 23:52:50,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 521 states and 865 transitions. [2020-06-21 23:52:50,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 521 to 413. [2020-06-21 23:52:50,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 413 states. [2020-06-21 23:52:50,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 413 states to 413 states and 685 transitions. [2020-06-21 23:52:50,835 INFO L729 BuchiCegarLoop]: Abstraction has 413 states and 685 transitions. [2020-06-21 23:52:50,835 INFO L609 BuchiCegarLoop]: Abstraction has 413 states and 685 transitions. [2020-06-21 23:52:50,835 INFO L442 BuchiCegarLoop]: ======== Iteration 12============ [2020-06-21 23:52:50,835 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 413 states and 685 transitions. [2020-06-21 23:52:50,838 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 395 [2020-06-21 23:52:50,838 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:50,838 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:50,839 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:50,839 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:50,840 INFO L794 eck$LassoCheckResult]: Stem: 10559#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 10560#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 10589#L196-2 [456] L196-2-->L313-1: Formula: (and (= v_~c_dr_st~0_4 2) (< 1 v_~c_dr_i~0_4)) InVars {~c_dr_i~0=v_~c_dr_i~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_4, ~c_dr_i~0=v_~c_dr_i~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 10590#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 10736#L262 [2020-06-21 23:52:50,841 INFO L796 eck$LassoCheckResult]: Loop: 10736#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 10789#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 10788#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 10787#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 10786#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 10785#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 10784#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 10637#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 10783#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 10638#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 10782#L32 [316] L32-->L33: Formula: (= v_~p_dw_pc~0_8 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_8} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_8} AuxVars[] AssignedVars[] 10780#L33 [352] L33-->L43: Formula: (and (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3 1) (= 1 v_~q_read_ev~0_3)) InVars {~q_read_ev~0=v_~q_read_ev~0_3} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3, ~q_read_ev~0=v_~q_read_ev~0_3} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 10779#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 10778#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 10686#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 10687#L51 [501] L51-->L51-2: Formula: (< 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 10676#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 10677#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 10669#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 10670#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 10656#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 10657#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 10764#L247 [473] L247-->L262: Formula: (< 0 v_~c_dr_st~0_2) InVars {~c_dr_st~0=v_~c_dr_st~0_2} OutVars{~c_dr_st~0=v_~c_dr_st~0_2} AuxVars[] AssignedVars[] 10805#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 10626#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 10627#L218 [464] L218-->L226: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13 0) (> 0 v_~c_dr_st~0_8)) InVars {~c_dr_st~0=v_~c_dr_st~0_8} OutVars{~c_dr_st~0=v_~c_dr_st~0_8, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 10619#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 10620#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 10615#L214-1 [458] L214-1-->L218-1: Formula: (> v_~p_dw_st~0_5 0) InVars {~p_dw_st~0=v_~p_dw_st~0_5} OutVars{~p_dw_st~0=v_~p_dw_st~0_5} AuxVars[] AssignedVars[] 10612#L218-1 [416] L218-1-->L226-1: Formula: (and (= 0 v_~c_dr_st~0_5) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_5 1)) InVars {~c_dr_st~0=v_~c_dr_st~0_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_5, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_5} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 10613#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 10743#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 10741#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 10739#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 10738#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 10579#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 10575#L218 [385] L218-->L226: Formula: (and (= 0 v_~c_dr_st~0_7) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_12 1)) InVars {~c_dr_st~0=v_~c_dr_st~0_7} OutVars{~c_dr_st~0=v_~c_dr_st~0_7, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_12} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 10538#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 10539#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 10552#L242-1 [469] L242-1-->L247: Formula: (> v_~p_dw_st~0_12 0) InVars {~p_dw_st~0=v_~p_dw_st~0_12} OutVars{~p_dw_st~0=v_~p_dw_st~0_12} AuxVars[] AssignedVars[] 10588#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 10517#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 10518#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 10839#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 10572#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 10587#L32-3 [495] L32-3-->L32-5: Formula: (< v_~p_dw_pc~0_11 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_11} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_11} AuxVars[] AssignedVars[] 10791#L32-5 [392] L32-5-->L43-1: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 10523#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 10524#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 10551#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 10750#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 10747#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 10746#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 10745#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 10742#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 10740#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 10735#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 10736#L262 [2020-06-21 23:52:50,841 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:50,841 INFO L82 PathProgramCache]: Analyzing trace with hash 16831196, now seen corresponding path program 1 times [2020-06-21 23:52:50,841 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:50,841 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:50,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:50,842 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:50,852 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:50,853 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:50,853 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:50,853 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:50,853 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:50,853 INFO L82 PathProgramCache]: Analyzing trace with hash 116020574, now seen corresponding path program 1 times [2020-06-21 23:52:50,854 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:50,854 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:50,854 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,855 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:50,855 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:50,873 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 11 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-06-21 23:52:50,874 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:50,874 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:50,874 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:50,875 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:50,875 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:50,875 INFO L87 Difference]: Start difference. First operand 413 states and 685 transitions. cyclomatic complexity: 274 Second operand 3 states. [2020-06-21 23:52:50,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:50,946 INFO L93 Difference]: Finished difference Result 413 states and 684 transitions. [2020-06-21 23:52:50,946 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:50,952 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 413 states and 684 transitions. [2020-06-21 23:52:50,956 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 395 [2020-06-21 23:52:50,959 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 413 states to 413 states and 684 transitions. [2020-06-21 23:52:50,959 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 363 [2020-06-21 23:52:50,960 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 363 [2020-06-21 23:52:50,960 INFO L73 IsDeterministic]: Start isDeterministic. Operand 413 states and 684 transitions. [2020-06-21 23:52:50,960 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:50,960 INFO L706 BuchiCegarLoop]: Abstraction has 413 states and 684 transitions. [2020-06-21 23:52:50,961 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 413 states and 684 transitions. [2020-06-21 23:52:50,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 413 to 413. [2020-06-21 23:52:50,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 413 states. [2020-06-21 23:52:50,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 413 states to 413 states and 684 transitions. [2020-06-21 23:52:50,971 INFO L729 BuchiCegarLoop]: Abstraction has 413 states and 684 transitions. [2020-06-21 23:52:50,971 INFO L609 BuchiCegarLoop]: Abstraction has 413 states and 684 transitions. [2020-06-21 23:52:50,971 INFO L442 BuchiCegarLoop]: ======== Iteration 13============ [2020-06-21 23:52:50,971 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 413 states and 684 transitions. [2020-06-21 23:52:50,974 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 395 [2020-06-21 23:52:50,974 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:50,974 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:50,975 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1] [2020-06-21 23:52:50,975 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [3, 3, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:50,975 INFO L794 eck$LassoCheckResult]: Stem: 11395#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 11396#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 11440#L196-2 [455] L196-2-->L313-1: Formula: (and (= v_~c_dr_st~0_4 2) (> 1 v_~c_dr_i~0_4)) InVars {~c_dr_i~0=v_~c_dr_i~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_4, ~c_dr_i~0=v_~c_dr_i~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 11441#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 11494#L262 [2020-06-21 23:52:50,978 INFO L796 eck$LassoCheckResult]: Loop: 11494#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 11664#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 11663#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 11662#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 11661#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 11660#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 11659#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 11410#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 11411#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 11504#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 11505#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 11642#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 11639#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 11627#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 11621#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 11618#L51 [501] L51-->L51-2: Formula: (< 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 11616#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 11614#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 11602#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 11600#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 11599#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 11508#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 11509#L247 [473] L247-->L262: Formula: (< 0 v_~c_dr_st~0_2) InVars {~c_dr_st~0=v_~c_dr_st~0_2} OutVars{~c_dr_st~0=v_~c_dr_st~0_2} AuxVars[] AssignedVars[] 11497#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 11492#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 11493#L218 [464] L218-->L226: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13 0) (> 0 v_~c_dr_st~0_8)) InVars {~c_dr_st~0=v_~c_dr_st~0_8} OutVars{~c_dr_st~0=v_~c_dr_st~0_8, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_13} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 11611#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 11483#L242 [524] L242-->L214-1: Formula: (= v_ULTIMATE.start_eval_~tmp___1~0_8 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_17, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_9|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_7, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_7, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_4|, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_4|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_8} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~__retres2~0, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6, ULTIMATE.start_stop_simulation_#res] 11481#L214-1 [458] L214-1-->L218-1: Formula: (> v_~p_dw_st~0_5 0) InVars {~p_dw_st~0=v_~p_dw_st~0_5} OutVars{~p_dw_st~0=v_~p_dw_st~0_5} AuxVars[] AssignedVars[] 11479#L218-1 [416] L218-1-->L226-1: Formula: (and (= 0 v_~c_dr_st~0_5) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_5 1)) InVars {~c_dr_st~0=v_~c_dr_st~0_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_5, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_5} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 11480#L226-1 [525] L226-1-->L292: Formula: (and (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18 |v_ULTIMATE.start_exists_runnable_thread_#res_10|) (= v_ULTIMATE.start_stop_simulation_~tmp~2_8 |v_ULTIMATE.start_exists_runnable_thread_#res_10|)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_18, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_10|, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_8, ULTIMATE.start_stop_simulation_#t~ret6=|v_ULTIMATE.start_stop_simulation_#t~ret6_5|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_stop_simulation_~tmp~2, ULTIMATE.start_stop_simulation_#t~ret6] 11706#L292 [465] L292-->L299: Formula: (and (= v_ULTIMATE.start_stop_simulation_~__retres2~0_4 0) (< 0 v_ULTIMATE.start_stop_simulation_~tmp~2_5)) InVars {ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} OutVars{ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_4, ULTIMATE.start_stop_simulation_~tmp~2=v_ULTIMATE.start_stop_simulation_~tmp~2_5} AuxVars[] AssignedVars[ULTIMATE.start_stop_simulation_~__retres2~0] 11704#L299 [534] L299-->L313-1: Formula: (and (= 0 v_ULTIMATE.start_start_simulation_~tmp~3_9) (= v_ULTIMATE.start_stop_simulation_~__retres2~0_9 |v_ULTIMATE.start_stop_simulation_#res_6|) (= |v_ULTIMATE.start_stop_simulation_#res_6| v_ULTIMATE.start_start_simulation_~tmp~3_9)) InVars {ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_6|, ULTIMATE.start_stop_simulation_~__retres2~0=v_ULTIMATE.start_stop_simulation_~__retres2~0_9, ULTIMATE.start_stop_simulation_#res=|v_ULTIMATE.start_stop_simulation_#res_6|, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_9} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ULTIMATE.start_stop_simulation_#res, ULTIMATE.start_start_simulation_~tmp~3] 11702#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 11699#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 11700#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 11417#L218 [385] L218-->L226: Formula: (and (= 0 v_~c_dr_st~0_7) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_12 1)) InVars {~c_dr_st~0=v_~c_dr_st~0_7} OutVars{~c_dr_st~0=v_~c_dr_st~0_7, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_12} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 11418#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 11387#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 11381#L242-1 [469] L242-1-->L247: Formula: (> v_~p_dw_st~0_12 0) InVars {~p_dw_st~0=v_~p_dw_st~0_12} OutVars{~p_dw_st~0=v_~p_dw_st~0_12} AuxVars[] AssignedVars[] 11382#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 11687#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 11686#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 11684#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 11681#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 11680#L32-3 [495] L32-3-->L32-5: Formula: (< v_~p_dw_pc~0_11 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_11} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_11} AuxVars[] AssignedVars[] 11677#L32-5 [392] L32-5-->L43-1: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 11675#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 11575#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 11576#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 11569#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 11570#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 11672#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 11670#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 11669#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 11668#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 11665#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 11494#L262 [2020-06-21 23:52:50,978 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:50,978 INFO L82 PathProgramCache]: Analyzing trace with hash 16831165, now seen corresponding path program 1 times [2020-06-21 23:52:50,978 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:50,978 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:50,979 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,979 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:50,979 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:50,989 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:50,989 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:50,989 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:50,989 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:50,990 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:50,990 INFO L82 PathProgramCache]: Analyzing trace with hash 1564960248, now seen corresponding path program 1 times [2020-06-21 23:52:50,990 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:50,990 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:50,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,991 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:50,991 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:50,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,011 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-06-21 23:52:51,011 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,011 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:51,012 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,012 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:51,012 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:51,012 INFO L87 Difference]: Start difference. First operand 413 states and 684 transitions. cyclomatic complexity: 273 Second operand 3 states. [2020-06-21 23:52:51,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:51,078 INFO L93 Difference]: Finished difference Result 412 states and 682 transitions. [2020-06-21 23:52:51,079 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:51,084 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 412 states and 682 transitions. [2020-06-21 23:52:51,088 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 395 [2020-06-21 23:52:51,090 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 412 states to 412 states and 682 transitions. [2020-06-21 23:52:51,090 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 362 [2020-06-21 23:52:51,091 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 362 [2020-06-21 23:52:51,091 INFO L73 IsDeterministic]: Start isDeterministic. Operand 412 states and 682 transitions. [2020-06-21 23:52:51,092 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:51,092 INFO L706 BuchiCegarLoop]: Abstraction has 412 states and 682 transitions. [2020-06-21 23:52:51,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 412 states and 682 transitions. [2020-06-21 23:52:51,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 412 to 412. [2020-06-21 23:52:51,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 412 states. [2020-06-21 23:52:51,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 412 states to 412 states and 682 transitions. [2020-06-21 23:52:51,101 INFO L729 BuchiCegarLoop]: Abstraction has 412 states and 682 transitions. [2020-06-21 23:52:51,101 INFO L609 BuchiCegarLoop]: Abstraction has 412 states and 682 transitions. [2020-06-21 23:52:51,101 INFO L442 BuchiCegarLoop]: ======== Iteration 14============ [2020-06-21 23:52:51,101 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 412 states and 682 transitions. [2020-06-21 23:52:51,104 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 395 [2020-06-21 23:52:51,104 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:51,104 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:51,104 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,104 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,105 INFO L794 eck$LassoCheckResult]: Stem: 12220#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 12221#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 12258#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 12259#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 12431#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 12430#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 12429#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 12428#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 12427#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 12426#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 12425#L96 [477] L96-->L99: Formula: (< v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 12424#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 12226#L109 [2020-06-21 23:52:51,105 INFO L796 eck$LassoCheckResult]: Loop: 12226#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 12189#L32 [490] L32-->L32-2: Formula: (> v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 12190#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 12291#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 12286#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 12219#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 12177#L51 [309] L51-->L52: Formula: (= 1 v_~c_dr_pc~0_3) InVars {~c_dr_pc~0=v_~c_dr_pc~0_3} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_3} AuxVars[] AssignedVars[] 12178#L52 [343] L52-->L62: Formula: (and (= v_~q_write_ev~0_4 1) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_4} OutVars{~q_write_ev~0=v_~q_write_ev~0_4, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 12179#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 12180#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 12229#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 12230#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 12292#L108 [485] L108-->L109: Formula: (< v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 12226#L109 [2020-06-21 23:52:51,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,106 INFO L82 PathProgramCache]: Analyzing trace with hash -743982669, now seen corresponding path program 1 times [2020-06-21 23:52:51,106 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,106 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,107 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,107 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,107 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,118 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,119 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,119 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:51,119 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:51,119 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,119 INFO L82 PathProgramCache]: Analyzing trace with hash -1733170167, now seen corresponding path program 1 times [2020-06-21 23:52:51,120 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,120 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,120 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,120 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,121 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,135 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,136 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,136 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2020-06-21 23:52:51,136 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,136 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:51,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:51,137 INFO L87 Difference]: Start difference. First operand 412 states and 682 transitions. cyclomatic complexity: 272 Second operand 3 states. [2020-06-21 23:52:51,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:51,210 INFO L93 Difference]: Finished difference Result 410 states and 673 transitions. [2020-06-21 23:52:51,211 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:51,216 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 410 states and 673 transitions. [2020-06-21 23:52:51,219 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 394 [2020-06-21 23:52:51,222 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 410 states to 410 states and 673 transitions. [2020-06-21 23:52:51,222 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 360 [2020-06-21 23:52:51,222 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 360 [2020-06-21 23:52:51,222 INFO L73 IsDeterministic]: Start isDeterministic. Operand 410 states and 673 transitions. [2020-06-21 23:52:51,223 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:51,223 INFO L706 BuchiCegarLoop]: Abstraction has 410 states and 673 transitions. [2020-06-21 23:52:51,223 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 410 states and 673 transitions. [2020-06-21 23:52:51,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 410 to 410. [2020-06-21 23:52:51,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 410 states. [2020-06-21 23:52:51,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 673 transitions. [2020-06-21 23:52:51,232 INFO L729 BuchiCegarLoop]: Abstraction has 410 states and 673 transitions. [2020-06-21 23:52:51,232 INFO L609 BuchiCegarLoop]: Abstraction has 410 states and 673 transitions. [2020-06-21 23:52:51,232 INFO L442 BuchiCegarLoop]: ======== Iteration 15============ [2020-06-21 23:52:51,232 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 410 states and 673 transitions. [2020-06-21 23:52:51,234 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 394 [2020-06-21 23:52:51,234 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:51,235 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:51,235 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,235 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,236 INFO L794 eck$LassoCheckResult]: Stem: 13050#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 13051#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 13090#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 13091#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 13250#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 13277#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 13276#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 13275#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 13274#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 13273#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 13271#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 13261#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 13255#L109 [2020-06-21 23:52:51,236 INFO L796 eck$LassoCheckResult]: Loop: 13255#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 13246#L32 [490] L32-->L32-2: Formula: (> v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 13241#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 13239#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 13148#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 13047#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 13048#L51 [501] L51-->L51-2: Formula: (< 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 13146#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 13132#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 13133#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 13061#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 13062#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 13258#L108 [485] L108-->L109: Formula: (< v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 13255#L109 [2020-06-21 23:52:51,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,236 INFO L82 PathProgramCache]: Analyzing trace with hash -743982638, now seen corresponding path program 1 times [2020-06-21 23:52:51,236 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,236 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,237 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,237 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,238 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,249 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,249 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,249 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:51,250 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:51,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,250 INFO L82 PathProgramCache]: Analyzing trace with hash 133162605, now seen corresponding path program 1 times [2020-06-21 23:52:51,250 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,250 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,251 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,251 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,251 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,265 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,265 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,265 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2020-06-21 23:52:51,265 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,266 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:51,266 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:51,266 INFO L87 Difference]: Start difference. First operand 410 states and 673 transitions. cyclomatic complexity: 265 Second operand 3 states. [2020-06-21 23:52:51,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:51,406 INFO L93 Difference]: Finished difference Result 526 states and 854 transitions. [2020-06-21 23:52:51,406 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:51,412 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 526 states and 854 transitions. [2020-06-21 23:52:51,415 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 513 [2020-06-21 23:52:51,418 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 526 states to 526 states and 854 transitions. [2020-06-21 23:52:51,418 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 476 [2020-06-21 23:52:51,419 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 476 [2020-06-21 23:52:51,419 INFO L73 IsDeterministic]: Start isDeterministic. Operand 526 states and 854 transitions. [2020-06-21 23:52:51,420 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:51,420 INFO L706 BuchiCegarLoop]: Abstraction has 526 states and 854 transitions. [2020-06-21 23:52:51,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 526 states and 854 transitions. [2020-06-21 23:52:51,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 526 to 470. [2020-06-21 23:52:51,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 470 states. [2020-06-21 23:52:51,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 470 states to 470 states and 767 transitions. [2020-06-21 23:52:51,430 INFO L729 BuchiCegarLoop]: Abstraction has 470 states and 767 transitions. [2020-06-21 23:52:51,430 INFO L609 BuchiCegarLoop]: Abstraction has 470 states and 767 transitions. [2020-06-21 23:52:51,431 INFO L442 BuchiCegarLoop]: ======== Iteration 16============ [2020-06-21 23:52:51,431 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 470 states and 767 transitions. [2020-06-21 23:52:51,433 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 457 [2020-06-21 23:52:51,433 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:51,433 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:51,433 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,433 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,434 INFO L794 eck$LassoCheckResult]: Stem: 13996#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 13997#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 14037#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 14038#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 14204#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 14359#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 14355#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 14354#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 14353#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 14352#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 14014#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 14011#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 14012#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 13978#L109 [2020-06-21 23:52:51,434 INFO L796 eck$LassoCheckResult]: Loop: 13978#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 13962#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 13963#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 13964#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 13965#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 14013#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 14216#L51 [501] L51-->L51-2: Formula: (< 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 13945#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 13946#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 14361#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 14009#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 14010#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 14166#L108 [485] L108-->L109: Formula: (< v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 13978#L109 [2020-06-21 23:52:51,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,435 INFO L82 PathProgramCache]: Analyzing trace with hash -1588720478, now seen corresponding path program 1 times [2020-06-21 23:52:51,435 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,435 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,436 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:51,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:51,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,446 INFO L82 PathProgramCache]: Analyzing trace with hash 4079886, now seen corresponding path program 1 times [2020-06-21 23:52:51,446 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,446 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,447 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,447 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,447 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,458 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,458 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,458 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2020-06-21 23:52:51,459 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,459 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:51,459 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:51,459 INFO L87 Difference]: Start difference. First operand 470 states and 767 transitions. cyclomatic complexity: 299 Second operand 3 states. [2020-06-21 23:52:51,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:51,526 INFO L93 Difference]: Finished difference Result 470 states and 761 transitions. [2020-06-21 23:52:51,526 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:51,531 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 470 states and 761 transitions. [2020-06-21 23:52:51,534 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 457 [2020-06-21 23:52:51,537 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 470 states to 470 states and 761 transitions. [2020-06-21 23:52:51,537 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 420 [2020-06-21 23:52:51,537 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 420 [2020-06-21 23:52:51,538 INFO L73 IsDeterministic]: Start isDeterministic. Operand 470 states and 761 transitions. [2020-06-21 23:52:51,538 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:51,538 INFO L706 BuchiCegarLoop]: Abstraction has 470 states and 761 transitions. [2020-06-21 23:52:51,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 470 states and 761 transitions. [2020-06-21 23:52:51,546 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 470 to 470. [2020-06-21 23:52:51,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 470 states. [2020-06-21 23:52:51,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 470 states to 470 states and 761 transitions. [2020-06-21 23:52:51,547 INFO L729 BuchiCegarLoop]: Abstraction has 470 states and 761 transitions. [2020-06-21 23:52:51,547 INFO L609 BuchiCegarLoop]: Abstraction has 470 states and 761 transitions. [2020-06-21 23:52:51,547 INFO L442 BuchiCegarLoop]: ======== Iteration 17============ [2020-06-21 23:52:51,548 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 470 states and 761 transitions. [2020-06-21 23:52:51,550 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 457 [2020-06-21 23:52:51,550 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:51,550 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:51,550 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,550 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:51,551 INFO L794 eck$LassoCheckResult]: Stem: 14940#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 14941#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 14993#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 14994#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 15046#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 15330#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 15329#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 15328#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 15327#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 14970#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 14959#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 14955#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 14956#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 14923#L109 [2020-06-21 23:52:51,551 INFO L796 eck$LassoCheckResult]: Loop: 14923#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 14907#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 14908#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 15339#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 15338#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 14939#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 14895#L51 [309] L51-->L52: Formula: (= 1 v_~c_dr_pc~0_3) InVars {~c_dr_pc~0=v_~c_dr_pc~0_3} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_3} AuxVars[] AssignedVars[] 14896#L52 [343] L52-->L62: Formula: (and (= v_~q_write_ev~0_4 1) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_4} OutVars{~q_write_ev~0=v_~q_write_ev~0_4, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 14897#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 14898#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 14953#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 14954#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 15350#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 14923#L109 [2020-06-21 23:52:51,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,551 INFO L82 PathProgramCache]: Analyzing trace with hash -1588720478, now seen corresponding path program 2 times [2020-06-21 23:52:51,552 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,552 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,552 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,552 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,553 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:51,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:51,561 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,561 INFO L82 PathProgramCache]: Analyzing trace with hash -1862252885, now seen corresponding path program 1 times [2020-06-21 23:52:51,561 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,561 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,562 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,562 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:51,562 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,572 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,573 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,573 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2020-06-21 23:52:51,573 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,573 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:51,573 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:51,574 INFO L87 Difference]: Start difference. First operand 470 states and 761 transitions. cyclomatic complexity: 293 Second operand 3 states. [2020-06-21 23:52:51,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:51,674 INFO L93 Difference]: Finished difference Result 503 states and 795 transitions. [2020-06-21 23:52:51,674 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:51,679 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 503 states and 795 transitions. [2020-06-21 23:52:51,682 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 475 [2020-06-21 23:52:51,686 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 503 states to 499 states and 787 transitions. [2020-06-21 23:52:51,686 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 449 [2020-06-21 23:52:51,686 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 449 [2020-06-21 23:52:51,687 INFO L73 IsDeterministic]: Start isDeterministic. Operand 499 states and 787 transitions. [2020-06-21 23:52:51,688 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:51,688 INFO L706 BuchiCegarLoop]: Abstraction has 499 states and 787 transitions. [2020-06-21 23:52:51,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 499 states and 787 transitions. [2020-06-21 23:52:51,696 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 499 to 477. [2020-06-21 23:52:51,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 477 states. [2020-06-21 23:52:51,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 477 states to 477 states and 757 transitions. [2020-06-21 23:52:51,698 INFO L729 BuchiCegarLoop]: Abstraction has 477 states and 757 transitions. [2020-06-21 23:52:51,698 INFO L609 BuchiCegarLoop]: Abstraction has 477 states and 757 transitions. [2020-06-21 23:52:51,698 INFO L442 BuchiCegarLoop]: ======== Iteration 18============ [2020-06-21 23:52:51,698 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 477 states and 757 transitions. [2020-06-21 23:52:51,701 INFO L131 ngComponentsAnalysis]: Automaton has 2 accepting balls. 453 [2020-06-21 23:52:51,701 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:51,701 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:51,702 INFO L867 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] [2020-06-21 23:52:51,702 INFO L868 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, 1, 1] [2020-06-21 23:52:51,702 INFO L794 eck$LassoCheckResult]: Stem: 15920#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 15921#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 15963#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 15964#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 16293#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 16292#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 16291#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 16290#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 16289#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 16288#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 16287#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 16148#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16149#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 15902#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 15903#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 16286#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 16285#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 15937#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 15918#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 15874#L51 [309] L51-->L52: Formula: (= 1 v_~c_dr_pc~0_3) InVars {~c_dr_pc~0=v_~c_dr_pc~0_3} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_3} AuxVars[] AssignedVars[] 15875#L52 [343] L52-->L62: Formula: (and (= v_~q_write_ev~0_4 1) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_4} OutVars{~q_write_ev~0=v_~q_write_ev~0_4, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 15876#L62 [2020-06-21 23:52:51,703 INFO L796 eck$LassoCheckResult]: Loop: 15876#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 15877#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 15933#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 15934#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16120#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 16114#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 16108#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 16103#L139 [483] L139-->L142: Formula: (< 0 v_~c_dr_pc~0_6) InVars {~c_dr_pc~0=v_~c_dr_pc~0_6} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_6} AuxVars[] AssignedVars[] 16102#L142 [526] L142-->L152-1: Formula: (and (= v_~c_dr_pc~0_15 1) (= v_ULTIMATE.start_do_read_c_~a~0_6 v_~a_t~0_6)) InVars {~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_15, ~a_t~0=v_~a_t~0_6} AuxVars[] AssignedVars[ULTIMATE.start_do_read_c_~a~0] 16081#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 16071#L32-3 [496] L32-3-->L32-5: Formula: (> v_~p_dw_pc~0_11 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_11} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_11} AuxVars[] AssignedVars[] 16072#L32-5 [392] L32-5-->L43-1: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 16046#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 16047#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 16037#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 16038#L51-3 [305] L51-3-->L52-1: Formula: (= v_~c_dr_pc~0_10 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_10} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_10} AuxVars[] AssignedVars[] 16027#L52-1 [340] L52-1-->L62-1: Formula: (and (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10 1) (= v_~q_write_ev~0_7 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_7} OutVars{~q_write_ev~0=v_~q_write_ev~0_7, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_10} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 16028#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 16020#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 16019#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 16010#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 16011#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 16002#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 15994#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 15995#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 15983#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 15984#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 15973#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 15974#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 16151#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 15977#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 15968#L32 [316] L32-->L33: Formula: (= v_~p_dw_pc~0_8 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_8} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_8} AuxVars[] AssignedVars[] 15927#L33 [352] L33-->L43: Formula: (and (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3 1) (= 1 v_~q_read_ev~0_3)) InVars {~q_read_ev~0=v_~q_read_ev~0_3} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3, ~q_read_ev~0=v_~q_read_ev~0_3} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 15928#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 16238#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 16237#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 16233#L51 [309] L51-->L52: Formula: (= 1 v_~c_dr_pc~0_3) InVars {~c_dr_pc~0=v_~c_dr_pc~0_3} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_3} AuxVars[] AssignedVars[] 16234#L52 [343] L52-->L62: Formula: (and (= v_~q_write_ev~0_4 1) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4 1)) InVars {~q_write_ev~0=v_~q_write_ev~0_4} OutVars{~q_write_ev~0=v_~q_write_ev~0_4, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 15876#L62 [2020-06-21 23:52:51,703 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,703 INFO L82 PathProgramCache]: Analyzing trace with hash 1713705665, now seen corresponding path program 1 times [2020-06-21 23:52:51,704 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,704 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,705 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,705 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,705 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,721 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,722 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,722 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2020-06-21 23:52:51,722 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:51,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,723 INFO L82 PathProgramCache]: Analyzing trace with hash 1402635906, now seen corresponding path program 1 times [2020-06-21 23:52:51,723 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,723 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,724 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,724 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,724 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,738 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,739 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,739 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:51,739 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,739 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:51,739 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:51,740 INFO L87 Difference]: Start difference. First operand 477 states and 757 transitions. cyclomatic complexity: 282 Second operand 3 states. [2020-06-21 23:52:51,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:51,851 INFO L93 Difference]: Finished difference Result 760 states and 1177 transitions. [2020-06-21 23:52:51,867 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:51,874 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 760 states and 1177 transitions. [2020-06-21 23:52:51,878 INFO L131 ngComponentsAnalysis]: Automaton has 6 accepting balls. 725 [2020-06-21 23:52:51,883 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 760 states to 756 states and 1169 transitions. [2020-06-21 23:52:51,884 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 656 [2020-06-21 23:52:51,884 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 656 [2020-06-21 23:52:51,884 INFO L73 IsDeterministic]: Start isDeterministic. Operand 756 states and 1169 transitions. [2020-06-21 23:52:51,885 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:51,885 INFO L706 BuchiCegarLoop]: Abstraction has 756 states and 1169 transitions. [2020-06-21 23:52:51,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 756 states and 1169 transitions. [2020-06-21 23:52:51,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 756 to 729. [2020-06-21 23:52:51,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 729 states. [2020-06-21 23:52:51,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 729 states to 729 states and 1129 transitions. [2020-06-21 23:52:51,900 INFO L729 BuchiCegarLoop]: Abstraction has 729 states and 1129 transitions. [2020-06-21 23:52:51,901 INFO L609 BuchiCegarLoop]: Abstraction has 729 states and 1129 transitions. [2020-06-21 23:52:51,901 INFO L442 BuchiCegarLoop]: ======== Iteration 19============ [2020-06-21 23:52:51,901 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 729 states and 1129 transitions. [2020-06-21 23:52:51,904 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 702 [2020-06-21 23:52:51,904 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:51,904 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:51,905 INFO L867 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] [2020-06-21 23:52:51,905 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [2, 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, 1] [2020-06-21 23:52:51,906 INFO L794 eck$LassoCheckResult]: Stem: 17165#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 17166#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 17205#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 17206#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 17254#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 17253#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 17252#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 17251#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 17250#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 17249#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 17246#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 17244#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17239#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 17144#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 17145#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 17235#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 17234#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 17227#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 17225#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 17117#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 17118#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 17661#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 17660#L82 [511] L82-->L82-2: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 17551#L82-2 [2020-06-21 23:52:51,907 INFO L796 eck$LassoCheckResult]: Loop: 17551#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 17659#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17658#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 17439#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 17435#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 17433#L139 [348] L139-->L10-2: Formula: (= 0 v_~c_dr_pc~0_5) InVars {~c_dr_pc~0=v_~c_dr_pc~0_5} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_5} AuxVars[] AssignedVars[] 17300#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17340#L151 [491] L151-->L152-1: Formula: (< v_~q_free~0_7 1) InVars {~q_free~0=v_~q_free~0_7} OutVars{~q_free~0=v_~q_free~0_7} AuxVars[] AssignedVars[] 17339#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 17337#L32-3 [496] L32-3-->L32-5: Formula: (> v_~p_dw_pc~0_11 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_11} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_11} AuxVars[] AssignedVars[] 17332#L32-5 [392] L32-5-->L43-1: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 17329#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 17325#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 17323#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 17320#L51-3 [508] L51-3-->L51-5: Formula: (< v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 17273#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 17309#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 17302#L82-3 [513] L82-3-->L82-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 17257#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 17258#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 17247#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 17245#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 17241#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 17233#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 17222#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 17223#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 17217#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 17218#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 17169#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 17172#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 17224#L32 [316] L32-->L33: Formula: (= v_~p_dw_pc~0_8 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_8} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_8} AuxVars[] AssignedVars[] 17168#L33 [352] L33-->L43: Formula: (and (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3 1) (= 1 v_~q_read_ev~0_3)) InVars {~q_read_ev~0=v_~q_read_ev~0_3} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3, ~q_read_ev~0=v_~q_read_ev~0_3} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 17134#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 17135#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 17156#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 17157#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 17369#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 17553#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 17550#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 17551#L82-2 [2020-06-21 23:52:51,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,908 INFO L82 PathProgramCache]: Analyzing trace with hash 1904401767, now seen corresponding path program 1 times [2020-06-21 23:52:51,908 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,908 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,908 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,909 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,909 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,930 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,930 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,930 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:51,931 INFO L799 eck$LassoCheckResult]: stem already infeasible [2020-06-21 23:52:51,931 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:51,931 INFO L82 PathProgramCache]: Analyzing trace with hash -2127134446, now seen corresponding path program 1 times [2020-06-21 23:52:51,931 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:51,931 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:51,932 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,932 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:51,933 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:51,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:51,946 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:51,947 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:51,947 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:51,947 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:51,947 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-06-21 23:52:51,947 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-06-21 23:52:51,948 INFO L87 Difference]: Start difference. First operand 729 states and 1129 transitions. cyclomatic complexity: 404 Second operand 4 states. [2020-06-21 23:52:52,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:52,069 INFO L93 Difference]: Finished difference Result 729 states and 1112 transitions. [2020-06-21 23:52:52,069 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-06-21 23:52:52,074 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 729 states and 1112 transitions. [2020-06-21 23:52:52,078 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 702 [2020-06-21 23:52:52,082 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 729 states to 729 states and 1112 transitions. [2020-06-21 23:52:52,082 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 629 [2020-06-21 23:52:52,083 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 629 [2020-06-21 23:52:52,083 INFO L73 IsDeterministic]: Start isDeterministic. Operand 729 states and 1112 transitions. [2020-06-21 23:52:52,083 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:52,083 INFO L706 BuchiCegarLoop]: Abstraction has 729 states and 1112 transitions. [2020-06-21 23:52:52,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 729 states and 1112 transitions. [2020-06-21 23:52:52,095 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 729 to 729. [2020-06-21 23:52:52,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 729 states. [2020-06-21 23:52:52,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 729 states to 729 states and 1112 transitions. [2020-06-21 23:52:52,097 INFO L729 BuchiCegarLoop]: Abstraction has 729 states and 1112 transitions. [2020-06-21 23:52:52,097 INFO L609 BuchiCegarLoop]: Abstraction has 729 states and 1112 transitions. [2020-06-21 23:52:52,097 INFO L442 BuchiCegarLoop]: ======== Iteration 20============ [2020-06-21 23:52:52,097 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 729 states and 1112 transitions. [2020-06-21 23:52:52,100 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 702 [2020-06-21 23:52:52,100 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:52,100 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:52,101 INFO L867 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] [2020-06-21 23:52:52,101 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [2, 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, 1] [2020-06-21 23:52:52,102 INFO L794 eck$LassoCheckResult]: Stem: 18633#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 18634#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 18676#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 18677#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 18727#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 18725#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 18721#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 18718#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 18715#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 18659#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 18660#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 18707#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 18687#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 18683#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 18684#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 18691#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 18690#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 18689#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 18688#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 18586#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 18587#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 19239#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 19238#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 18644#L82-2 [2020-06-21 23:52:52,103 INFO L796 eck$LassoCheckResult]: Loop: 18644#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 18645#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 19236#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 18920#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 18914#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 18895#L139 [348] L139-->L10-2: Formula: (= 0 v_~c_dr_pc~0_5) InVars {~c_dr_pc~0=v_~c_dr_pc~0_5} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_5} AuxVars[] AssignedVars[] 18855#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 18891#L151 [491] L151-->L152-1: Formula: (< v_~q_free~0_7 1) InVars {~q_free~0=v_~q_free~0_7} OutVars{~q_free~0=v_~q_free~0_7} AuxVars[] AssignedVars[] 18890#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 18887#L32-3 [496] L32-3-->L32-5: Formula: (> v_~p_dw_pc~0_11 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_11} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_11} AuxVars[] AssignedVars[] 18886#L32-5 [392] L32-5-->L43-1: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_9} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 18884#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 18882#L74-3 [503] L74-3-->L74-5: Formula: (and (< v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 18623#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 18880#L51-3 [508] L51-3-->L51-5: Formula: (< v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 18787#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 18879#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 18878#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 18876#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 18874#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 18713#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 18710#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 18708#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 18705#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 18704#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 18703#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 18702#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 18701#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 18699#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 18696#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 18694#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 18597#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 18697#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 18695#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 18650#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 18685#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 18582#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 18583#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 18588#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 18644#L82-2 [2020-06-21 23:52:52,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,103 INFO L82 PathProgramCache]: Analyzing trace with hash 1904401625, now seen corresponding path program 1 times [2020-06-21 23:52:52,103 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,103 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,104 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,117 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,117 INFO L82 PathProgramCache]: Analyzing trace with hash -338219061, now seen corresponding path program 1 times [2020-06-21 23:52:52,117 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,117 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,118 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,118 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,118 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:52,131 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:52,131 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:52,131 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:52,132 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:52,132 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:52,132 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:52,132 INFO L87 Difference]: Start difference. First operand 729 states and 1112 transitions. cyclomatic complexity: 387 Second operand 3 states. [2020-06-21 23:52:52,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:52,195 INFO L93 Difference]: Finished difference Result 725 states and 1094 transitions. [2020-06-21 23:52:52,196 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:52,201 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 725 states and 1094 transitions. [2020-06-21 23:52:52,205 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 698 [2020-06-21 23:52:52,209 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 725 states to 725 states and 1094 transitions. [2020-06-21 23:52:52,209 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 625 [2020-06-21 23:52:52,210 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 625 [2020-06-21 23:52:52,210 INFO L73 IsDeterministic]: Start isDeterministic. Operand 725 states and 1094 transitions. [2020-06-21 23:52:52,210 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:52,210 INFO L706 BuchiCegarLoop]: Abstraction has 725 states and 1094 transitions. [2020-06-21 23:52:52,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 725 states and 1094 transitions. [2020-06-21 23:52:52,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 725 to 725. [2020-06-21 23:52:52,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 725 states. [2020-06-21 23:52:52,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 725 states to 725 states and 1094 transitions. [2020-06-21 23:52:52,223 INFO L729 BuchiCegarLoop]: Abstraction has 725 states and 1094 transitions. [2020-06-21 23:52:52,224 INFO L609 BuchiCegarLoop]: Abstraction has 725 states and 1094 transitions. [2020-06-21 23:52:52,224 INFO L442 BuchiCegarLoop]: ======== Iteration 21============ [2020-06-21 23:52:52,224 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 725 states and 1094 transitions. [2020-06-21 23:52:52,226 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 698 [2020-06-21 23:52:52,226 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:52,226 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:52,227 INFO L867 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] [2020-06-21 23:52:52,227 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [2, 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, 1] [2020-06-21 23:52:52,227 INFO L794 eck$LassoCheckResult]: Stem: 20096#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 20097#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 20142#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 20143#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 20185#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 20181#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 20179#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 20178#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 20177#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 20176#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 20112#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 20113#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 20173#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 20171#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 20167#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 20166#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 20165#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 20164#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 20161#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 20046#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 20047#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 20482#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 20475#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 20472#L82-2 [2020-06-21 23:52:52,228 INFO L796 eck$LassoCheckResult]: Loop: 20472#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 20458#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 20459#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 20431#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 20423#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 20360#L139 [348] L139-->L10-2: Formula: (= 0 v_~c_dr_pc~0_5) InVars {~c_dr_pc~0=v_~c_dr_pc~0_5} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_5} AuxVars[] AssignedVars[] 20308#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 20351#L151 [491] L151-->L152-1: Formula: (< v_~q_free~0_7 1) InVars {~q_free~0=v_~q_free~0_7} OutVars{~q_free~0=v_~q_free~0_7} AuxVars[] AssignedVars[] 20350#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 20349#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 20348#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 20050#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 20051#L74-3 [504] L74-3-->L74-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 20085#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 20334#L51-3 [508] L51-3-->L51-5: Formula: (< v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 20259#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 20332#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 20331#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 20330#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 20199#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 20193#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 20184#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 20168#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 20169#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 20158#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 20159#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 20152#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 20153#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 20175#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 20073#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 20074#L32 [316] L32-->L33: Formula: (= v_~p_dw_pc~0_8 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_8} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_8} AuxVars[] AssignedVars[] 20160#L33 [352] L33-->L43: Formula: (and (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3 1) (= 1 v_~q_read_ev~0_3)) InVars {~q_read_ev~0=v_~q_read_ev~0_3} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_3, ~q_read_ev~0=v_~q_read_ev~0_3} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 20063#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 20064#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 20088#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 20089#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 20485#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 20481#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 20474#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 20472#L82-2 [2020-06-21 23:52:52,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,229 INFO L82 PathProgramCache]: Analyzing trace with hash 1904401625, now seen corresponding path program 2 times [2020-06-21 23:52:52,229 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,229 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,230 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,230 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,230 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,242 INFO L82 PathProgramCache]: Analyzing trace with hash -1858129112, now seen corresponding path program 1 times [2020-06-21 23:52:52,242 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,243 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,243 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,243 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:52,244 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:52,263 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-06-21 23:52:52,263 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:52,263 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:52,264 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:52,264 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:52,264 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:52,264 INFO L87 Difference]: Start difference. First operand 725 states and 1094 transitions. cyclomatic complexity: 373 Second operand 3 states. [2020-06-21 23:52:52,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:52,347 INFO L93 Difference]: Finished difference Result 805 states and 1210 transitions. [2020-06-21 23:52:52,347 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:52,353 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 805 states and 1210 transitions. [2020-06-21 23:52:52,356 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 778 [2020-06-21 23:52:52,360 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 805 states to 805 states and 1210 transitions. [2020-06-21 23:52:52,360 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 705 [2020-06-21 23:52:52,361 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 705 [2020-06-21 23:52:52,361 INFO L73 IsDeterministic]: Start isDeterministic. Operand 805 states and 1210 transitions. [2020-06-21 23:52:52,362 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:52,362 INFO L706 BuchiCegarLoop]: Abstraction has 805 states and 1210 transitions. [2020-06-21 23:52:52,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 805 states and 1210 transitions. [2020-06-21 23:52:52,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 805 to 721. [2020-06-21 23:52:52,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 721 states. [2020-06-21 23:52:52,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 721 states to 721 states and 1086 transitions. [2020-06-21 23:52:52,375 INFO L729 BuchiCegarLoop]: Abstraction has 721 states and 1086 transitions. [2020-06-21 23:52:52,375 INFO L609 BuchiCegarLoop]: Abstraction has 721 states and 1086 transitions. [2020-06-21 23:52:52,375 INFO L442 BuchiCegarLoop]: ======== Iteration 22============ [2020-06-21 23:52:52,375 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 721 states and 1086 transitions. [2020-06-21 23:52:52,377 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 694 [2020-06-21 23:52:52,377 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:52,377 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:52,378 INFO L867 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] [2020-06-21 23:52:52,378 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [2, 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, 1] [2020-06-21 23:52:52,379 INFO L794 eck$LassoCheckResult]: Stem: 21624#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 21625#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 21669#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 21670#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 21698#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 21697#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 21696#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 21695#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 21694#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 21693#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 21692#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 21691#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 21690#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 21689#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 21688#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 21687#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 21686#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 21685#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 21684#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 21582#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 21583#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 21974#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 21972#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 21968#L82-2 [2020-06-21 23:52:52,379 INFO L796 eck$LassoCheckResult]: Loop: 21968#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 21964#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 21963#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 21820#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 21821#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 21807#L139 [348] L139-->L10-2: Formula: (= 0 v_~c_dr_pc~0_5) InVars {~c_dr_pc~0=v_~c_dr_pc~0_5} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_5} AuxVars[] AssignedVars[] 21804#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 21801#L151 [491] L151-->L152-1: Formula: (< v_~q_free~0_7 1) InVars {~q_free~0=v_~q_free~0_7} OutVars{~q_free~0=v_~q_free~0_7} AuxVars[] AssignedVars[] 21800#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 21798#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 21799#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 21794#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 21793#L74-3 [504] L74-3-->L74-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 21782#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 21780#L51-3 [508] L51-3-->L51-5: Formula: (< v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 21777#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 21774#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 21771#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 21728#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 21729#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 21717#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 21715#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 21713#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 21711#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 21709#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 21699#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 21700#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 21676#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 21677#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 21680#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 21681#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 21593#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 21594#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 21595#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 21617#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 21618#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 21950#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 21976#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 21970#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 21968#L82-2 [2020-06-21 23:52:52,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,380 INFO L82 PathProgramCache]: Analyzing trace with hash 1904401625, now seen corresponding path program 3 times [2020-06-21 23:52:52,380 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,380 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,381 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,381 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,381 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,394 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,394 INFO L82 PathProgramCache]: Analyzing trace with hash 1968842562, now seen corresponding path program 1 times [2020-06-21 23:52:52,395 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,395 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,395 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,395 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:52,396 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:52,420 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-06-21 23:52:52,420 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:52,420 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:52,420 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:52,421 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:52,421 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:52,421 INFO L87 Difference]: Start difference. First operand 721 states and 1086 transitions. cyclomatic complexity: 369 Second operand 3 states. [2020-06-21 23:52:52,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:52,495 INFO L93 Difference]: Finished difference Result 627 states and 940 transitions. [2020-06-21 23:52:52,495 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:52,500 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 627 states and 940 transitions. [2020-06-21 23:52:52,502 INFO L131 ngComponentsAnalysis]: Automaton has 7 accepting balls. 505 [2020-06-21 23:52:52,505 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 627 states to 627 states and 940 transitions. [2020-06-21 23:52:52,506 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 527 [2020-06-21 23:52:52,506 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 527 [2020-06-21 23:52:52,506 INFO L73 IsDeterministic]: Start isDeterministic. Operand 627 states and 940 transitions. [2020-06-21 23:52:52,506 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:52,506 INFO L706 BuchiCegarLoop]: Abstraction has 627 states and 940 transitions. [2020-06-21 23:52:52,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 627 states and 940 transitions. [2020-06-21 23:52:52,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 627 to 320. [2020-06-21 23:52:52,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 320 states. [2020-06-21 23:52:52,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 320 states to 320 states and 477 transitions. [2020-06-21 23:52:52,513 INFO L729 BuchiCegarLoop]: Abstraction has 320 states and 477 transitions. [2020-06-21 23:52:52,513 INFO L609 BuchiCegarLoop]: Abstraction has 320 states and 477 transitions. [2020-06-21 23:52:52,513 INFO L442 BuchiCegarLoop]: ======== Iteration 23============ [2020-06-21 23:52:52,513 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 320 states and 477 transitions. [2020-06-21 23:52:52,514 INFO L131 ngComponentsAnalysis]: Automaton has 3 accepting balls. 293 [2020-06-21 23:52:52,514 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:52,514 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:52,515 INFO L867 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] [2020-06-21 23:52:52,515 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [2, 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, 1, 1] [2020-06-21 23:52:52,516 INFO L794 eck$LassoCheckResult]: Stem: 22982#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 22983#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 23018#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 23019#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 23036#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 23035#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 23033#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 23031#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 23028#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 23005#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 22994#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 22995#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 23030#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 23027#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 22947#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 22948#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 23034#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 23032#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 23029#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 22936#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 22937#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 23193#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 22992#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 22990#L82-2 [2020-06-21 23:52:52,516 INFO L796 eck$LassoCheckResult]: Loop: 22990#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 22991#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 22993#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 23117#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 23115#L266 [480] L266-->L139: Formula: (and (= v_~c_dr_st~0_11 1) (> v_ULTIMATE.start_eval_~tmp___0~1_5 0)) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} OutVars{~c_dr_st~0=v_~c_dr_st~0_11, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_1, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_5} AuxVars[] AssignedVars[~c_dr_st~0, ULTIMATE.start_do_read_c_~a~0] 22945#L139 [348] L139-->L10-2: Formula: (= 0 v_~c_dr_pc~0_5) InVars {~c_dr_pc~0=v_~c_dr_pc~0_5} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_5} AuxVars[] AssignedVars[] 23095#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 23099#L151 [491] L151-->L152-1: Formula: (< v_~q_free~0_7 1) InVars {~q_free~0=v_~q_free~0_7} OutVars{~q_free~0=v_~q_free~0_7} AuxVars[] AssignedVars[] 22998#L152-1 [412] L152-1-->L32-3: Formula: (and (= v_~c_num_read~0_3 (+ v_~c_num_read~0_4 1)) (= v_~q_read_ev~0_5 1) (= v_ULTIMATE.start_do_read_c_~a~0_5 v_~q_buf_0~0_3) (= v_~c_last_read~0_2 v_ULTIMATE.start_do_read_c_~a~0_5) (= v_~q_free~0_8 1)) InVars {~c_num_read~0=v_~c_num_read~0_4, ~q_buf_0~0=v_~q_buf_0~0_3} OutVars{~c_num_read~0=v_~c_num_read~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_6, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_6, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_4|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_4|, ~c_last_read~0=v_~c_last_read~0_2, ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_5, ~q_free~0=v_~q_free~0_8, ~q_buf_0~0=v_~q_buf_0~0_3, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_4|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_6, ~q_read_ev~0=v_~q_read_ev~0_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~c_last_read~0, ULTIMATE.start_do_read_c_~a~0, ~c_num_read~0, ~q_free~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0, ~q_read_ev~0] 23091#L32-3 [396] L32-3-->L33-1: Formula: (= v_~p_dw_pc~0_10 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_10} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_10} AuxVars[] AssignedVars[] 23090#L33-1 [346] L33-1-->L43-1: Formula: (and (= 1 v_~q_read_ev~0_6) (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8 1)) InVars {~q_read_ev~0=v_~q_read_ev~0_6} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_8, ~q_read_ev~0=v_~q_read_ev~0_6} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 22940#L43-1 [531] L43-1-->L74-3: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_8| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_12, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_8|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_8|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_12} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 22941#L74-3 [504] L74-3-->L74-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9 0) (= v_~p_dw_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} OutVars{~p_dw_st~0=v_~p_dw_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_9} AuxVars[] AssignedVars[~p_dw_st~0] 22972#L74-5 [332] L74-5-->L51-3: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_4|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_7} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 23084#L51-3 [508] L51-3-->L51-5: Formula: (< v_~c_dr_pc~0_11 1) InVars {~c_dr_pc~0=v_~c_dr_pc~0_11} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_11} AuxVars[] AssignedVars[] 23051#L51-5 [327] L51-5-->L62-1: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 23083#L62-1 [533] L62-1-->L82-3: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14 |v_ULTIMATE.start_is_do_read_c_triggered_#res_8|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_12, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_8|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_8|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_14} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 23080#L82-3 [514] L82-3-->L82-5: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9 0) (= v_~c_dr_st~0_13 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} OutVars{~c_dr_st~0=v_~c_dr_st~0_13, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_9} AuxVars[] AssignedVars[~c_dr_st~0] 23053#L82-5 [536] L82-5-->L10-2: Formula: (and (= v_~p_num_write~0_10 v_~c_num_read~0_10) (= 2 v_~q_read_ev~0_13) (= v_~c_last_read~0_8 v_~p_last_write~0_8)) InVars {~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10} OutVars{~p_last_write~0=v_~p_last_write~0_8, ~c_last_read~0=v_~c_last_read~0_8, ~c_num_read~0=v_~c_num_read~0_10, ~p_num_write~0=v_~p_num_write~0_10, ~q_read_ev~0=v_~q_read_ev~0_13} AuxVars[] AssignedVars[~q_read_ev~0] 23054#L10-2 [400] L10-2-->L151: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 23042#L151 [380] L151-->L262: Formula: (and (= v_~c_dr_st~0_12 2) (= v_~c_dr_pc~0_9 1) (= v_~a_t~0_2 v_ULTIMATE.start_do_read_c_~a~0_3) (= v_~q_free~0_6 1)) InVars {ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~q_free~0=v_~q_free~0_6} OutVars{ULTIMATE.start_do_read_c_~a~0=v_ULTIMATE.start_do_read_c_~a~0_3, ~c_dr_pc~0=v_~c_dr_pc~0_9, ~c_dr_st~0=v_~c_dr_st~0_12, ~q_free~0=v_~q_free~0_6, ~a_t~0=v_~a_t~0_2} AuxVars[] AssignedVars[~c_dr_pc~0, ~c_dr_st~0, ~a_t~0] 23041#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 23040#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 23039#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 23038#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 23037#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 23026#L251 [471] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (> v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 23025#L96 [478] L96-->L99: Formula: (> v_~p_dw_pc~0_4 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_4} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_4} AuxVars[] AssignedVars[] 22988#L99 [361] L99-->L109: Formula: (= v_~p_dw_pc~0_5 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_5} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_5} AuxVars[] AssignedVars[] 22963#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 22964#L32 [316] L32-->L33: Formula: (= v_~p_dw_pc~0_8 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_8} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_8} AuxVars[] AssignedVars[] 22986#L33 [493] L33-->L32-2: Formula: (< 1 v_~q_read_ev~0_4) InVars {~q_read_ev~0=v_~q_read_ev~0_4} OutVars{~q_read_ev~0=v_~q_read_ev~0_4} AuxVars[] AssignedVars[] 22987#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 22953#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 22954#L74 [499] L74-->L74-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4 0) (= v_~p_dw_st~0_11 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} OutVars{~p_dw_st~0=v_~p_dw_st~0_11, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_4} AuxVars[] AssignedVars[~p_dw_st~0] 22974#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 22975#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 23024#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 23185#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 23183#L82 [512] L82-->L82-2: Formula: (and (> v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4 0) (= v_~c_dr_st~0_9 0)) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} OutVars{~c_dr_st~0=v_~c_dr_st~0_9, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_4} AuxVars[] AssignedVars[~c_dr_st~0] 22990#L82-2 [2020-06-21 23:52:52,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,517 INFO L82 PathProgramCache]: Analyzing trace with hash 1904401625, now seen corresponding path program 4 times [2020-06-21 23:52:52,517 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,517 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,518 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,518 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,518 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,530 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,530 INFO L82 PathProgramCache]: Analyzing trace with hash -1914836156, now seen corresponding path program 1 times [2020-06-21 23:52:52,530 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,530 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,531 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,531 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2020-06-21 23:52:52,531 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-06-21 23:52:52,579 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-06-21 23:52:52,580 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-06-21 23:52:52,580 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-06-21 23:52:52,580 INFO L811 eck$LassoCheckResult]: loop already infeasible [2020-06-21 23:52:52,580 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-06-21 23:52:52,581 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-06-21 23:52:52,581 INFO L87 Difference]: Start difference. First operand 320 states and 477 transitions. cyclomatic complexity: 160 Second operand 3 states. [2020-06-21 23:52:52,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-06-21 23:52:52,653 INFO L93 Difference]: Finished difference Result 244 states and 348 transitions. [2020-06-21 23:52:52,653 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-06-21 23:52:52,658 INFO L82 GeneralOperation]: Start removeNonLiveStates. Operand 244 states and 348 transitions. [2020-06-21 23:52:52,659 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 214 [2020-06-21 23:52:52,660 INFO L88 GeneralOperation]: Finished removeNonLiveStates. Reduced from 244 states to 244 states and 348 transitions. [2020-06-21 23:52:52,660 INFO L87 BuchiClosureNwa]: Accepting states before buchiClosure: 219 [2020-06-21 23:52:52,661 INFO L106 BuchiClosureNwa]: Accepting states after buchiClosure: 219 [2020-06-21 23:52:52,661 INFO L73 IsDeterministic]: Start isDeterministic. Operand 244 states and 348 transitions. [2020-06-21 23:52:52,661 INFO L80 IsDeterministic]: Finished isDeterministic. Operand is not deterministic. [2020-06-21 23:52:52,661 INFO L706 BuchiCegarLoop]: Abstraction has 244 states and 348 transitions. [2020-06-21 23:52:52,662 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 244 states and 348 transitions. [2020-06-21 23:52:52,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 244 to 244. [2020-06-21 23:52:52,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 244 states. [2020-06-21 23:52:52,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 244 states to 244 states and 348 transitions. [2020-06-21 23:52:52,666 INFO L729 BuchiCegarLoop]: Abstraction has 244 states and 348 transitions. [2020-06-21 23:52:52,666 INFO L609 BuchiCegarLoop]: Abstraction has 244 states and 348 transitions. [2020-06-21 23:52:52,666 INFO L442 BuchiCegarLoop]: ======== Iteration 24============ [2020-06-21 23:52:52,666 INFO L72 BuchiIsEmpty]: Start buchiIsEmpty. Operand 244 states and 348 transitions. [2020-06-21 23:52:52,667 INFO L131 ngComponentsAnalysis]: Automaton has 4 accepting balls. 214 [2020-06-21 23:52:52,667 INFO L87 BuchiIsEmpty]: Finished buchiIsEmpty Result is false [2020-06-21 23:52:52,667 INFO L119 BuchiIsEmpty]: Starting construction of run [2020-06-21 23:52:52,668 INFO L867 BuchiCegarLoop]: Counterexample stem histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:52,668 INFO L868 BuchiCegarLoop]: Counterexample loop histogram [1, 1, 1, 1, 1, 1, 1, 1] [2020-06-21 23:52:52,668 INFO L794 eck$LassoCheckResult]: Stem: 23550#ULTIMATE.startENTRY [520] ULTIMATE.startENTRY-->L196: Formula: (and (= v_~q_write_ev~0_11 v_~q_read_ev~0_11) (= 1 v_~c_dr_i~0_7) (= v_~q_free~0_11 1) (= v_~q_buf_0~0_5 0) (= v_~q_write_ev~0_11 2) (= 0 v_~p_last_write~0_6) (= 0 v_~c_last_read~0_6) (= v_~p_dw_pc~0_14 0) (= 0 v_~a_t~0_5) (= 0 v_~c_dr_st~0_15) (= v_~c_dr_pc~0_14 0) (= 0 v_~c_num_read~0_9) (= v_ULTIMATE.start_start_simulation_~kernel_st~0_7 0) (= 0 v_~p_num_write~0_9) (= v_~p_dw_i~0_7 1) (= v_~p_dw_st~0_15 0)) InVars {} OutVars{ULTIMATE.start_start_simulation_#t~ret7=|v_ULTIMATE.start_start_simulation_#t~ret7_4|, ~p_last_write~0=v_~p_last_write~0_6, ~c_dr_pc~0=v_~c_dr_pc~0_14, ~c_dr_st~0=v_~c_dr_st~0_15, ~c_num_read~0=v_~c_num_read~0_9, ~p_num_write~0=v_~p_num_write~0_9, ~c_dr_i~0=v_~c_dr_i~0_7, ULTIMATE.start_start_simulation_~tmp~3=v_ULTIMATE.start_start_simulation_~tmp~3_7, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_7, ~q_write_ev~0=v_~q_write_ev~0_11, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_5|, ~p_dw_st~0=v_~p_dw_st~0_15, ~p_dw_i~0=v_~p_dw_i~0_7, ~c_last_read~0=v_~c_last_read~0_6, ~p_dw_pc~0=v_~p_dw_pc~0_14, ~q_free~0=v_~q_free~0_11, ~q_buf_0~0=v_~q_buf_0~0_5, ULTIMATE.start_main_~__retres1~3=v_ULTIMATE.start_main_~__retres1~3_6, ~q_read_ev~0=v_~q_read_ev~0_11, ~a_t~0=v_~a_t~0_5} AuxVars[] AssignedVars[ULTIMATE.start_start_simulation_#t~ret7, ~p_last_write~0, ~c_dr_pc~0, ~c_dr_st~0, ~c_num_read~0, ~p_num_write~0, ~c_dr_i~0, ULTIMATE.start_start_simulation_~tmp~3, ULTIMATE.start_start_simulation_~kernel_st~0, ~q_write_ev~0, ULTIMATE.start_main_#res, ~p_dw_st~0, ~p_dw_i~0, ~c_last_read~0, ~p_dw_pc~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_main_~__retres1~3, ~q_read_ev~0, ~a_t~0] 23551#L196 [418] L196-->L196-2: Formula: (and (= v_~p_dw_i~0_3 1) (= v_~p_dw_st~0_2 0)) InVars {~p_dw_i~0=v_~p_dw_i~0_3} OutVars{~p_dw_st~0=v_~p_dw_st~0_2, ~p_dw_i~0=v_~p_dw_i~0_3} AuxVars[] AssignedVars[~p_dw_st~0] 23587#L196-2 [413] L196-2-->L313-1: Formula: (and (= 1 v_~c_dr_i~0_3) (= v_~c_dr_st~0_3 0)) InVars {~c_dr_i~0=v_~c_dr_i~0_3} OutVars{~c_dr_st~0=v_~c_dr_st~0_3, ~c_dr_i~0=v_~c_dr_i~0_3} AuxVars[] AssignedVars[~c_dr_st~0] 23588#L313-1 [521] L313-1-->L262: Formula: (= v_ULTIMATE.start_start_simulation_~kernel_st~0_8 1) InVars {} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_4|, ULTIMATE.start_start_simulation_~kernel_st~0=v_ULTIMATE.start_start_simulation_~kernel_st~0_8, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_4|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_4|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_6, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_6, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_6} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_start_simulation_~kernel_st~0, ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp~1, ULTIMATE.start_eval_~tmp___0~1, ULTIMATE.start_eval_~tmp___1~0] 23620#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 23619#L214 [406] L214-->L226: Formula: (and (= v_~p_dw_st~0_6 0) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11 1)) InVars {~p_dw_st~0=v_~p_dw_st~0_6} OutVars{~p_dw_st~0=v_~p_dw_st~0_6, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_11} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 23618#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 23616#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 23615#L242-1 [333] L242-1-->L251: Formula: (and (= v_ULTIMATE.start_eval_~tmp~1_3 |v_ULTIMATE.start_eval_#t~nondet4_3|) (= v_~p_dw_st~0_8 0)) InVars {ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_3|, ~p_dw_st~0=v_~p_dw_st~0_8} OutVars{ULTIMATE.start_eval_#t~nondet4=|v_ULTIMATE.start_eval_#t~nondet4_2|, ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_3, ~p_dw_st~0=v_~p_dw_st~0_8} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet4, ULTIMATE.start_eval_~tmp~1] 23574#L251 [472] L251-->L96: Formula: (and (= v_~p_dw_st~0_9 1) (< v_ULTIMATE.start_eval_~tmp~1_4 0)) InVars {ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4} OutVars{ULTIMATE.start_eval_~tmp~1=v_ULTIMATE.start_eval_~tmp~1_4, ~p_dw_st~0=v_~p_dw_st~0_9, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_1|} AuxVars[] AssignedVars[~p_dw_st~0, ULTIMATE.start_do_write_p_#t~nondet2] 23565#L96 [378] L96-->L107-1: Formula: (= v_~p_dw_pc~0_3 0) InVars {~p_dw_pc~0=v_~p_dw_pc~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_3} AuxVars[] AssignedVars[] 23566#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 23614#L108 [486] L108-->L109: Formula: (> v_~q_free~0_4 0) InVars {~q_free~0=v_~q_free~0_4} OutVars{~q_free~0=v_~q_free~0_4} AuxVars[] AssignedVars[] 23532#L109 [323] L109-->L32: Formula: (and (= v_~q_buf_0~0_2 |v_ULTIMATE.start_do_write_p_#t~nondet2_3|) (= v_~p_last_write~0_2 v_~q_buf_0~0_2) (= v_~q_write_ev~0_3 1) (= v_~p_num_write~0_3 (+ v_~p_num_write~0_4 1)) (= v_~q_free~0_5 0)) InVars {~p_num_write~0=v_~p_num_write~0_4, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_3|} OutVars{~p_last_write~0=v_~p_last_write~0_2, ULTIMATE.start_do_write_p_#t~nondet2=|v_ULTIMATE.start_do_write_p_#t~nondet2_2|, ~p_num_write~0=v_~p_num_write~0_3, ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_1, ~q_write_ev~0=v_~q_write_ev~0_3, ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_1, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_1|, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_1|, ~q_free~0=v_~q_free~0_5, ~q_buf_0~0=v_~q_buf_0~0_2, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_1|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0, ~q_write_ev~0, ~p_last_write~0, ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_do_write_p_#t~nondet2, ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret1, ~p_num_write~0, ~q_free~0, ~q_buf_0~0, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 23516#L32 [489] L32-->L32-2: Formula: (< v_~p_dw_pc~0_9 1) InVars {~p_dw_pc~0=v_~p_dw_pc~0_9} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_9} AuxVars[] AssignedVars[] 23517#L32-2 [403] L32-2-->L43: Formula: (= v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4 0) InVars {} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_4} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_~__retres1~0] 23518#L43 [528] L43-->L74: Formula: (and (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11) (= |v_ULTIMATE.start_is_do_write_p_triggered_#res_7| v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11)) InVars {ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11} OutVars{ULTIMATE.start_is_do_write_p_triggered_~__retres1~0=v_ULTIMATE.start_is_do_write_p_triggered_~__retres1~0_11, ULTIMATE.start_is_do_write_p_triggered_#res=|v_ULTIMATE.start_is_do_write_p_triggered_#res_7|, ULTIMATE.start_immediate_notify_threads_#t~ret0=|v_ULTIMATE.start_immediate_notify_threads_#t~ret0_7|, ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_11} AuxVars[] AssignedVars[ULTIMATE.start_is_do_write_p_triggered_#res, ULTIMATE.start_immediate_notify_threads_#t~ret0, ULTIMATE.start_immediate_notify_threads_~tmp~0] 23519#L74 [377] L74-->L74-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp~0=v_ULTIMATE.start_immediate_notify_threads_~tmp~0_5} AuxVars[] AssignedVars[] 23543#L74-2 [339] L74-2-->L51: Formula: true InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_1|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_1} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_#res, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 23506#L51 [502] L51-->L51-2: Formula: (> 1 v_~c_dr_pc~0_4) InVars {~c_dr_pc~0=v_~c_dr_pc~0_4} OutVars{~c_dr_pc~0=v_~c_dr_pc~0_4} AuxVars[] AssignedVars[] 23502#L51-2 [307] L51-2-->L62: Formula: (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5 0) InVars {} OutVars{ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_5} AuxVars[] AssignedVars[ULTIMATE.start_is_do_read_c_triggered_~__retres1~1] 23503#L62 [532] L62-->L82: Formula: (and (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|) (= v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13 |v_ULTIMATE.start_is_do_read_c_triggered_#res_7|)) InVars {ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_11, ULTIMATE.start_immediate_notify_threads_#t~ret1=|v_ULTIMATE.start_immediate_notify_threads_#t~ret1_7|, ULTIMATE.start_is_do_read_c_triggered_#res=|v_ULTIMATE.start_is_do_read_c_triggered_#res_7|, ULTIMATE.start_is_do_read_c_triggered_~__retres1~1=v_ULTIMATE.start_is_do_read_c_triggered_~__retres1~1_13} AuxVars[] AssignedVars[ULTIMATE.start_immediate_notify_threads_~tmp___0~0, ULTIMATE.start_immediate_notify_threads_#t~ret1, ULTIMATE.start_is_do_read_c_triggered_#res] 23507#L82 [369] L82-->L82-2: Formula: (= v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5 0) InVars {ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} OutVars{ULTIMATE.start_immediate_notify_threads_~tmp___0~0=v_ULTIMATE.start_immediate_notify_threads_~tmp___0~0_5} AuxVars[] AssignedVars[] 23649#L82-2 [366] L82-2-->L107-1: Formula: (= v_~q_write_ev~0_6 2) InVars {} OutVars{~q_write_ev~0=v_~q_write_ev~0_6} AuxVars[] AssignedVars[~q_write_ev~0] 23563#L107-1 [375] L107-1-->L108: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] 23564#L108 [408] L108-->L247: Formula: (and (= v_~q_free~0_3 0) (= v_~p_dw_pc~0_7 1) (= v_~p_dw_st~0_10 2)) InVars {~q_free~0=v_~q_free~0_3} OutVars{~p_dw_pc~0=v_~p_dw_pc~0_7, ~q_free~0=v_~q_free~0_3, ~p_dw_st~0=v_~p_dw_st~0_10} AuxVars[] AssignedVars[~p_dw_st~0, ~p_dw_pc~0] 23585#L247 [2020-06-21 23:52:52,668 INFO L796 eck$LassoCheckResult]: Loop: 23585#L247 [410] L247-->L266: Formula: (and (= 0 v_~c_dr_st~0_10) (= v_ULTIMATE.start_eval_~tmp___0~1_4 |v_ULTIMATE.start_eval_#t~nondet5_3|)) InVars {~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_3|} OutVars{~c_dr_st~0=v_~c_dr_st~0_10, ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_4, ULTIMATE.start_eval_#t~nondet5=|v_ULTIMATE.start_eval_#t~nondet5_2|} AuxVars[] AssignedVars[ULTIMATE.start_eval_#t~nondet5, ULTIMATE.start_eval_~tmp___0~1] 23711#L266 [314] L266-->L262: Formula: (= v_ULTIMATE.start_eval_~tmp___0~1_1 0) InVars {ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_1} OutVars{ULTIMATE.start_eval_~tmp___0~1=v_ULTIMATE.start_eval_~tmp___0~1_1} AuxVars[] AssignedVars[] 23712#L262 [522] L262-->L214: Formula: true InVars {} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_15, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_7|} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2, ULTIMATE.start_exists_runnable_thread_#res] 23722#L214 [460] L214-->L218: Formula: (> v_~p_dw_st~0_7 0) InVars {~p_dw_st~0=v_~p_dw_st~0_7} OutVars{~p_dw_st~0=v_~p_dw_st~0_7} AuxVars[] AssignedVars[] 23720#L218 [385] L218-->L226: Formula: (and (= 0 v_~c_dr_st~0_7) (= v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_12 1)) InVars {~c_dr_st~0=v_~c_dr_st~0_7} OutVars{~c_dr_st~0=v_~c_dr_st~0_7, ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_12} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_~__retres1~2] 23718#L226 [523] L226-->L242: Formula: (and (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_eval_~tmp___1~0_7) (= |v_ULTIMATE.start_exists_runnable_thread_#res_8| v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16)) InVars {ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16} OutVars{ULTIMATE.start_exists_runnable_thread_~__retres1~2=v_ULTIMATE.start_exists_runnable_thread_~__retres1~2_16, ULTIMATE.start_exists_runnable_thread_#res=|v_ULTIMATE.start_exists_runnable_thread_#res_8|, ULTIMATE.start_eval_#t~ret3=|v_ULTIMATE.start_eval_#t~ret3_5|, ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_7} AuxVars[] AssignedVars[ULTIMATE.start_exists_runnable_thread_#res, ULTIMATE.start_eval_#t~ret3, ULTIMATE.start_eval_~tmp___1~0] 23716#L242 [468] L242-->L242-1: Formula: (> v_ULTIMATE.start_eval_~tmp___1~0_4 0) InVars {ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} OutVars{ULTIMATE.start_eval_~tmp___1~0=v_ULTIMATE.start_eval_~tmp___1~0_4} AuxVars[] AssignedVars[] 23714#L242-1 [469] L242-1-->L247: Formula: (> v_~p_dw_st~0_12 0) InVars {~p_dw_st~0=v_~p_dw_st~0_12} OutVars{~p_dw_st~0=v_~p_dw_st~0_12} AuxVars[] AssignedVars[] 23585#L247 [2020-06-21 23:52:52,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,669 INFO L82 PathProgramCache]: Analyzing trace with hash 1806161270, now seen corresponding path program 1 times [2020-06-21 23:52:52,669 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,669 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,670 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,670 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,670 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,681 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,682 INFO L82 PathProgramCache]: Analyzing trace with hash 1779815054, now seen corresponding path program 1 times [2020-06-21 23:52:52,682 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,682 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,682 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,683 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,687 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-06-21 23:52:52,687 INFO L82 PathProgramCache]: Analyzing trace with hash -228629757, now seen corresponding path program 1 times [2020-06-21 23:52:52,687 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2020-06-21 23:52:52,687 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2020-06-21 23:52:52,688 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,688 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-06-21 23:52:52,688 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2020-06-21 23:52:52,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-06-21 23:52:52,946 WARN L188 SmtUtils]: Spent 201.00 ms on a formula simplification. DAG size of input: 90 DAG size of output: 84 [2020-06-21 23:52:53,025 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.buchiautomizer CFG 21.06 11:52:53 BasicIcfg [2020-06-21 23:52:53,025 INFO L132 PluginConnector]: ------------------------ END BuchiAutomizer---------------------------- [2020-06-21 23:52:53,026 INFO L168 Benchmark]: Toolchain (without parser) took 12681.92 ms. Allocated memory was 649.6 MB in the beginning and 844.1 MB in the end (delta: 194.5 MB). Free memory was 564.6 MB in the beginning and 492.4 MB in the end (delta: 72.2 MB). Peak memory consumption was 266.7 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,027 INFO L168 Benchmark]: CDTParser took 0.17 ms. Allocated memory is still 649.6 MB. Free memory is still 585.7 MB. There was no memory consumed. Max. memory is 50.3 GB. [2020-06-21 23:52:53,027 INFO L168 Benchmark]: CACSL2BoogieTranslator took 355.81 ms. Allocated memory was 649.6 MB in the beginning and 675.3 MB in the end (delta: 25.7 MB). Free memory was 564.6 MB in the beginning and 636.3 MB in the end (delta: -71.7 MB). Peak memory consumption was 28.8 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,028 INFO L168 Benchmark]: Boogie Procedure Inliner took 46.66 ms. Allocated memory is still 675.3 MB. Free memory was 636.3 MB in the beginning and 632.9 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,028 INFO L168 Benchmark]: Boogie Preprocessor took 28.96 ms. Allocated memory is still 675.3 MB. Free memory was 632.9 MB in the beginning and 630.7 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,029 INFO L168 Benchmark]: RCFGBuilder took 427.86 ms. Allocated memory is still 675.3 MB. Free memory was 630.7 MB in the beginning and 599.7 MB in the end (delta: 31.1 MB). Peak memory consumption was 31.1 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,029 INFO L168 Benchmark]: BlockEncodingV2 took 162.79 ms. Allocated memory is still 675.3 MB. Free memory was 599.7 MB in the beginning and 585.7 MB in the end (delta: 14.0 MB). Peak memory consumption was 14.0 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,030 INFO L168 Benchmark]: TraceAbstraction took 191.39 ms. Allocated memory is still 675.3 MB. Free memory was 585.7 MB in the beginning and 569.5 MB in the end (delta: 16.2 MB). Peak memory consumption was 16.2 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,030 INFO L168 Benchmark]: BuchiAutomizer took 11463.15 ms. Allocated memory was 675.3 MB in the beginning and 844.1 MB in the end (delta: 168.8 MB). Free memory was 569.5 MB in the beginning and 492.4 MB in the end (delta: 77.1 MB). Peak memory consumption was 245.9 MB. Max. memory is 50.3 GB. [2020-06-21 23:52:53,034 INFO L337 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.blockencoding: - StatisticsResult: Initial Icfg 75 locations, 115 edges - StatisticsResult: Encoded RCFG 52 locations, 111 edges * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.17 ms. Allocated memory is still 649.6 MB. Free memory is still 585.7 MB. There was no memory consumed. Max. memory is 50.3 GB. * CACSL2BoogieTranslator took 355.81 ms. Allocated memory was 649.6 MB in the beginning and 675.3 MB in the end (delta: 25.7 MB). Free memory was 564.6 MB in the beginning and 636.3 MB in the end (delta: -71.7 MB). Peak memory consumption was 28.8 MB. Max. memory is 50.3 GB. * Boogie Procedure Inliner took 46.66 ms. Allocated memory is still 675.3 MB. Free memory was 636.3 MB in the beginning and 632.9 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 50.3 GB. * Boogie Preprocessor took 28.96 ms. Allocated memory is still 675.3 MB. Free memory was 632.9 MB in the beginning and 630.7 MB in the end (delta: 2.2 MB). Peak memory consumption was 2.2 MB. Max. memory is 50.3 GB. * RCFGBuilder took 427.86 ms. Allocated memory is still 675.3 MB. Free memory was 630.7 MB in the beginning and 599.7 MB in the end (delta: 31.1 MB). Peak memory consumption was 31.1 MB. Max. memory is 50.3 GB. * BlockEncodingV2 took 162.79 ms. Allocated memory is still 675.3 MB. Free memory was 599.7 MB in the beginning and 585.7 MB in the end (delta: 14.0 MB). Peak memory consumption was 14.0 MB. Max. memory is 50.3 GB. * TraceAbstraction took 191.39 ms. Allocated memory is still 675.3 MB. Free memory was 585.7 MB in the beginning and 569.5 MB in the end (delta: 16.2 MB). Peak memory consumption was 16.2 MB. Max. memory is 50.3 GB. * BuchiAutomizer took 11463.15 ms. Allocated memory was 675.3 MB in the beginning and 844.1 MB in the end (delta: 168.8 MB). Free memory was 569.5 MB in the beginning and 492.4 MB in the end (delta: 77.1 MB). Peak memory consumption was 245.9 MB. Max. memory is 50.3 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - AllSpecificationsHoldResult: All specifications hold We were not able to verify any specifiation because the program does not contain any specification. - InvariantResult [Line: 66]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 192]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 237]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 242]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 50]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 138]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 50]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 95]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 31]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: -1]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 288]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 31]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 213]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 237]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 213]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 95]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 66]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 142]: Loop Invariant Derived loop invariant: 1 - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 52 locations, 0 error locations. SAFE Result, 0.1s OverallTime, 0 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: No data available, PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=52occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 18 LocationsWithAnnotation, 18 PreInvPairs, 18 NumberOfFragments, 18 HoareAnnotationTreeSize, 18 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 18 FomulaSimplificationsInter, 0 FormulaSimplificationTreeSizeReductionInter, 0.0s HoareSimplificationTimeInter, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - StatisticsResult: Constructed decomposition of program Your program was decomposed into 24 terminating modules (23 trivial, 0 deterministic, 1 nondeterministic) and one nonterminating remainder module.One nondeterministic module has affine ranking function -2 * q_free + 1 and consists of 14 locations. 23 modules have a trivial ranking function, the largest among these consists of 4 locations. The remainder module has 244 locations. - StatisticsResult: Timing statistics BüchiAutomizer plugin needed 11.4s and 24 iterations. TraceHistogramMax:3. Analysis of lassos took 2.7s. Construction of modules took 2.5s. Büchi inclusion checks took 5.5s. Highest rank in rank-based complementation 3. Minimization of det autom 9. Minimization of nondet autom 15. Automata minimization 0.2s AutomataMinimizationTime, 24 MinimizatonAttempts, 1586 StatesRemovedByMinimization, 13 NontrivialMinimizations. Non-live state removal took 0.2s Buchi closure took 0.0s. Biggest automaton had 729 states and ocurred in iteration 18. Nontrivial modules had stage [1, 0, 0, 0, 0]. InterpolantCoveringCapabilityFinite: 0/0 InterpolantCoveringCapabilityBuchi: 0/0 HoareTripleCheckerStatistics: 1582 SDtfs, 3005 SDslu, 2304 SDs, 0 SdLazy, 3200 SolverSat, 165 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 2.5s Time LassoAnalysisResults: nont1 unkn0 SFLI14 SFLT0 conc0 concLT1 SILN0 SILU0 SILI8 SILT0 lasso0 LassoPreprocessingBenchmarks: Lassos: inital97 mio100 ax100 hnf100 lsp14 ukn100 mio100 lsp100 div100 bol100 ite100 ukn100 eq214 hnf86 smp100 dnf100 smp100 tf107 neg100 sie100 LassoTerminationAnalysisBenchmarks: ConstraintsSatisfiability: unsat Degree: 0 Time: 11ms VariablesStem: 0 VariablesLoop: 3 DisjunctsStem: 1 DisjunctsLoop: 1 SupportingInvariants: 0 MotzkinApplications: 2 LassoTerminationAnalysisBenchmarks: LassoNonterminationAnalysisSatFixpoint: 2 LassoNonterminationAnalysisSatUnbounded: 0 LassoNonterminationAnalysisUnsat: 1 LassoNonterminationAnalysisUnknown: 0 LassoNonterminationAnalysisTime: 0.0s - TerminationAnalysisResult: Nontermination possible Buchi Automizer proved that your program is nonterminating for some inputs - FixpointNonTerminationResult [Line: 262]: 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=3, c_dr_i=1, c_dr_pc=0, a_t=0, \result=0, \result=0, c_num_read=0, tmp=-1, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@1d26ce22=0, c_dr_st=0, kernel_st=1, q_read_ev=2, p_dw_i=1, tmp___0=0, tmp___1=1, q_write_ev=2, __retres1=1, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@1a4c9e6e=0, p_dw_pc=1, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@666f94d8=0, tmp=0, q_free=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@4d9896d8=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@ffbb1e6=0, __retres1=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@43d9f4c0=0, p_dw_st=2, \result=0, tmp___0=0, org.eclipse.cdt.internal.core.dom.parser.c.CASTFunctionCallExpression@7d10c13d=0, tmp=0, c_last_read=0, __retres1=0, p_num_write=1, q_buf_0=3, __retres1=0, \result=1} - StatisticsResult: NonterminationArgumentStatistics Fixpoint - NonterminatingLassoResult [Line: 237]: Nonterminating execution Found a nonterminating execution for the following lasso shaped sequence of statements. Stem: [L14] int q_buf_0 ; [L15] int q_free ; [L16] int q_read_ev ; [L17] int q_write_ev ; [L18] int p_num_write ; [L19] int p_last_write ; [L20] int p_dw_st ; [L21] int p_dw_pc ; [L22] int p_dw_i ; [L23] int c_num_read ; [L24] int c_last_read ; [L25] int c_dr_st ; [L26] int c_dr_pc ; [L27] int c_dr_i ; [L134] static int a_t ; [L350] int __retres1 ; [L336] q_free = 1 [L337] q_write_ev = 2 [L338] q_read_ev = q_write_ev [L339] p_num_write = 0 [L340] p_dw_pc = 0 [L341] p_dw_i = 1 [L342] c_num_read = 0 [L343] c_dr_pc = 0 [L344] c_dr_i = 1 [L304] int kernel_st ; [L305] int tmp ; [L309] kernel_st = 0 [L196] COND TRUE (int )p_dw_i == 1 [L197] p_dw_st = 0 [L201] COND TRUE (int )c_dr_i == 1 [L202] c_dr_st = 0 [L313] COND TRUE 1 [L316] kernel_st = 1 [L231] int tmp ; [L232] int tmp___0 ; [L233] int tmp___1 ; [L237] COND TRUE 1 [L211] int __retres1 ; [L214] COND TRUE (int )p_dw_st == 0 [L215] __retres1 = 1 [L227] return (__retres1); [L240] tmp___1 = exists_runnable_thread() [L242] COND TRUE \read(tmp___1) [L247] COND TRUE (int )p_dw_st == 0 [L249] tmp = __VERIFIER_nondet_int() [L251] COND TRUE \read(tmp) [L253] p_dw_st = 1 [L96] COND TRUE (int )p_dw_pc == 0 [L107] COND TRUE 1 [L109] COND FALSE !((int )q_free == 0) [L119] q_buf_0 = __VERIFIER_nondet_int() [L120] p_last_write = q_buf_0 [L121] p_num_write += 1 [L122] q_free = 0 [L123] q_write_ev = 1 [L67] int tmp ; [L68] int tmp___0 ; [L29] int __retres1 ; [L32] COND FALSE !((int )p_dw_pc == 1) [L42] __retres1 = 0 [L44] return (__retres1); [L72] tmp = is_do_write_p_triggered() [L74] COND FALSE !(\read(tmp)) [L48] int __retres1 ; [L51] COND FALSE !((int )c_dr_pc == 1) [L61] __retres1 = 0 [L63] return (__retres1); [L80] tmp___0 = is_do_read_c_triggered() [L82] COND FALSE !(\read(tmp___0)) [L125] q_write_ev = 2 [L107] COND TRUE 1 [L109] COND TRUE (int )q_free == 0 [L110] p_dw_st = 2 [L111] p_dw_pc = 1 Loop: [L262] COND TRUE (int )c_dr_st == 0 [L264] tmp___0 = __VERIFIER_nondet_int() [L266] COND FALSE !(\read(tmp___0)) [L237] COND TRUE 1 [L211] int __retres1 ; [L214] COND FALSE !((int )p_dw_st == 0) [L218] COND TRUE (int )c_dr_st == 0 [L219] __retres1 = 1 [L227] return (__retres1); [L240] tmp___1 = exists_runnable_thread() [L242] COND TRUE \read(tmp___1) [L247] COND FALSE !((int )p_dw_st == 0) End of lasso representation. RESULT: Ultimate proved your program to be incorrect! !SESSION 2020-06-21 23:52:37.082 ----------------------------------------------- eclipse.buildId=unknown java.version=1.8.0_242 java.vendor=Oracle Corporation BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US Framework arguments: -tc ./../AutomizerAndBuchiAutomizerCInlineWithBlockEncoding.xml -s ./../termcomp2017.epf -i /export/starexec/sandbox2/benchmark/theBenchmark.c Command-line arguments: -os linux -ws gtk -arch x86_64 -consoleLog -data @user.home/.ultimate -tc ./../AutomizerAndBuchiAutomizerCInlineWithBlockEncoding.xml -s ./../termcomp2017.epf -data /export/starexec/sandbox2/tmp -i /export/starexec/sandbox2/benchmark/theBenchmark.c !ENTRY org.eclipse.core.resources 2 10035 2020-06-21 23:52:53.281 !MESSAGE The workspace will exit with unsaved changes in this session. Received shutdown request... Ultimate: GTK+ Version Check