/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/systemc/pc_sfifo_1.cil-2.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:53:09,390 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:53:09,393 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:53:09,415 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:53:09,415 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:53:09,417 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:53:09,420 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:53:09,434 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:53:09,438 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:53:09,443 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:53:09,446 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:53:09,448 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:53:09,448 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:53:09,452 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:53:09,456 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:53:09,459 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:53:09,460 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:53:09,461 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:53:09,463 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:53:09,469 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:53:09,475 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:53:09,478 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:53:09,479 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:53:09,481 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:53:09,483 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:53:09,484 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:53:09,484 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:53:09,485 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:53:09,485 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:53:09,486 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:53:09,486 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:53:09,487 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:53:09,487 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:53:09,488 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:53:09,489 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:53:09,489 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:53:09,490 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:53:09,491 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:53:09,491 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:53:09,492 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:53:09,494 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:53:09,495 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-17 22:53:09,510 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:53:09,510 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:53:09,511 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:53:09,512 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:53:09,512 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:53:09,512 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:53:09,512 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:53:09,513 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:53:09,513 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:53:09,513 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:53:09,513 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:53:09,513 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:53:09,513 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:53:09,514 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:53:09,514 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:53:09,514 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:53:09,514 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:53:09,514 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:53:09,515 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:53:09,515 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:53:09,515 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:53:09,515 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:53:09,515 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:53:09,516 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:53:09,516 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:53:09,516 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:53:09,516 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:53:09,517 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:53:09,517 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:53:09,517 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:53:09,892 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:53:09,912 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:53:09,915 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:53:09,917 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:53:09,917 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:53:09,918 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/systemc/pc_sfifo_1.cil-2.c [2020-07-17 22:53:10,002 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c63578a39/50b8c75c97f043d1986ee1536c44878e/FLAG711b25fa0 [2020-07-17 22:53:10,489 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:53:10,490 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/systemc/pc_sfifo_1.cil-2.c [2020-07-17 22:53:10,504 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c63578a39/50b8c75c97f043d1986ee1536c44878e/FLAG711b25fa0 [2020-07-17 22:53:10,832 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c63578a39/50b8c75c97f043d1986ee1536c44878e [2020-07-17 22:53:10,844 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:53:10,848 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:53:10,849 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:53:10,849 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:53:10,853 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:53:10,854 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:53:10" (1/1) ... [2020-07-17 22:53:10,857 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1e4d821d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:10, skipping insertion in model container [2020-07-17 22:53:10,857 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:53:10" (1/1) ... [2020-07-17 22:53:10,865 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:53:10,891 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:53:11,099 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:53:11,105 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:53:11,150 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:53:11,172 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:53:11,173 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11 WrapperNode [2020-07-17 22:53:11,173 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:53:11,174 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:53:11,174 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:53:11,174 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:53:11,285 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,285 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,293 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,293 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,308 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,337 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,340 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... [2020-07-17 22:53:11,344 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:53:11,345 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:53:11,345 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:53:11,346 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:53:11,347 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:53:11,430 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:53:11,431 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:53:11,431 INFO L138 BoogieDeclarations]: Found implementation of procedure error [2020-07-17 22:53:11,431 INFO L138 BoogieDeclarations]: Found implementation of procedure is_do_write_p_triggered [2020-07-17 22:53:11,431 INFO L138 BoogieDeclarations]: Found implementation of procedure is_do_read_c_triggered [2020-07-17 22:53:11,432 INFO L138 BoogieDeclarations]: Found implementation of procedure immediate_notify_threads [2020-07-17 22:53:11,432 INFO L138 BoogieDeclarations]: Found implementation of procedure do_write_p [2020-07-17 22:53:11,432 INFO L138 BoogieDeclarations]: Found implementation of procedure do_read_c [2020-07-17 22:53:11,432 INFO L138 BoogieDeclarations]: Found implementation of procedure init_threads [2020-07-17 22:53:11,432 INFO L138 BoogieDeclarations]: Found implementation of procedure exists_runnable_thread [2020-07-17 22:53:11,433 INFO L138 BoogieDeclarations]: Found implementation of procedure eval [2020-07-17 22:53:11,433 INFO L138 BoogieDeclarations]: Found implementation of procedure stop_simulation [2020-07-17 22:53:11,433 INFO L138 BoogieDeclarations]: Found implementation of procedure start_simulation [2020-07-17 22:53:11,433 INFO L138 BoogieDeclarations]: Found implementation of procedure init_model [2020-07-17 22:53:11,434 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:53:11,434 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:53:11,434 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:53:11,434 INFO L130 BoogieDeclarations]: Found specification of procedure error [2020-07-17 22:53:11,434 INFO L130 BoogieDeclarations]: Found specification of procedure is_do_write_p_triggered [2020-07-17 22:53:11,435 INFO L130 BoogieDeclarations]: Found specification of procedure is_do_read_c_triggered [2020-07-17 22:53:11,435 INFO L130 BoogieDeclarations]: Found specification of procedure immediate_notify_threads [2020-07-17 22:53:11,435 INFO L130 BoogieDeclarations]: Found specification of procedure do_write_p [2020-07-17 22:53:11,436 INFO L130 BoogieDeclarations]: Found specification of procedure do_read_c [2020-07-17 22:53:11,436 INFO L130 BoogieDeclarations]: Found specification of procedure init_threads [2020-07-17 22:53:11,436 INFO L130 BoogieDeclarations]: Found specification of procedure exists_runnable_thread [2020-07-17 22:53:11,436 INFO L130 BoogieDeclarations]: Found specification of procedure eval [2020-07-17 22:53:11,437 INFO L130 BoogieDeclarations]: Found specification of procedure stop_simulation [2020-07-17 22:53:11,437 INFO L130 BoogieDeclarations]: Found specification of procedure start_simulation [2020-07-17 22:53:11,437 INFO L130 BoogieDeclarations]: Found specification of procedure init_model [2020-07-17 22:53:11,437 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:53:11,437 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:53:11,438 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:53:12,161 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:53:12,162 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-17 22:53:12,167 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:53:12 BoogieIcfgContainer [2020-07-17 22:53:12,167 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:53:12,168 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:53:12,169 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:53:12,172 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:53:12,172 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:53:10" (1/3) ... [2020-07-17 22:53:12,173 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ec2bfae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:53:12, skipping insertion in model container [2020-07-17 22:53:12,173 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:53:11" (2/3) ... [2020-07-17 22:53:12,174 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ec2bfae and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:53:12, skipping insertion in model container [2020-07-17 22:53:12,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:53:12" (3/3) ... [2020-07-17 22:53:12,176 INFO L109 eAbstractionObserver]: Analyzing ICFG pc_sfifo_1.cil-2.c [2020-07-17 22:53:12,187 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:53:12,195 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:53:12,209 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:53:12,238 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:53:12,238 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:53:12,238 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:53:12,239 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:53:12,239 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:53:12,239 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:53:12,239 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:53:12,239 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:53:12,260 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states. [2020-07-17 22:53:12,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-17 22:53:12,271 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:53:12,272 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 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-07-17 22:53:12,273 INFO L427 AbstractCegarLoop]: === Iteration 1 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:53:12,279 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:53:12,279 INFO L82 PathProgramCache]: Analyzing trace with hash 800633075, now seen corresponding path program 1 times [2020-07-17 22:53:12,290 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:53:12,290 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1020414945] [2020-07-17 22:53:12,291 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:53:12,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,699 INFO L280 TraceCheckUtils]: 0: Hoare triple {149#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,700 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,700 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {110#true} {110#true} #286#return; {110#true} is VALID [2020-07-17 22:53:12,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,759 INFO L280 TraceCheckUtils]: 0: Hoare triple {150#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {110#true} is VALID [2020-07-17 22:53:12,760 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,760 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {110#true} {110#true} #262#return; {110#true} is VALID [2020-07-17 22:53:12,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,786 INFO L280 TraceCheckUtils]: 0: Hoare triple {151#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,787 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,787 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,787 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {110#true} {110#true} #280#return; {110#true} is VALID [2020-07-17 22:53:12,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,800 INFO L280 TraceCheckUtils]: 0: Hoare triple {110#true} havoc ~__retres1~2; {110#true} is VALID [2020-07-17 22:53:12,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,802 INFO L280 TraceCheckUtils]: 2: Hoare triple {127#(= 0 ~p_dw_st~0)} #res := ~__retres1~2; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,803 INFO L280 TraceCheckUtils]: 3: Hoare triple {127#(= 0 ~p_dw_st~0)} assume true; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,804 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {127#(= 0 ~p_dw_st~0)} {110#true} #272#return; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,830 INFO L280 TraceCheckUtils]: 0: Hoare triple {110#true} havoc ~__retres1~0; {110#true} is VALID [2020-07-17 22:53:12,831 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume 1 == ~p_dw_pc~0; {110#true} is VALID [2020-07-17 22:53:12,831 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {110#true} is VALID [2020-07-17 22:53:12,832 INFO L280 TraceCheckUtils]: 3: Hoare triple {110#true} #res := ~__retres1~0; {110#true} is VALID [2020-07-17 22:53:12,832 INFO L280 TraceCheckUtils]: 4: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,833 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {110#true} {110#true} #268#return; {110#true} is VALID [2020-07-17 22:53:12,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:12,839 INFO L280 TraceCheckUtils]: 0: Hoare triple {110#true} havoc ~__retres1~1; {110#true} is VALID [2020-07-17 22:53:12,839 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume 1 == ~c_dr_pc~0; {110#true} is VALID [2020-07-17 22:53:12,840 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {110#true} is VALID [2020-07-17 22:53:12,840 INFO L280 TraceCheckUtils]: 3: Hoare triple {110#true} #res := ~__retres1~1; {110#true} is VALID [2020-07-17 22:53:12,841 INFO L280 TraceCheckUtils]: 4: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,854 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {110#true} {110#true} #270#return; {110#true} is VALID [2020-07-17 22:53:12,855 INFO L280 TraceCheckUtils]: 0: Hoare triple {151#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {110#true} is VALID [2020-07-17 22:53:12,855 INFO L263 TraceCheckUtils]: 1: Hoare triple {110#true} call #t~ret0 := is_do_write_p_triggered(); {110#true} is VALID [2020-07-17 22:53:12,855 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} havoc ~__retres1~0; {110#true} is VALID [2020-07-17 22:53:12,856 INFO L280 TraceCheckUtils]: 3: Hoare triple {110#true} assume 1 == ~p_dw_pc~0; {110#true} is VALID [2020-07-17 22:53:12,856 INFO L280 TraceCheckUtils]: 4: Hoare triple {110#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {110#true} is VALID [2020-07-17 22:53:12,856 INFO L280 TraceCheckUtils]: 5: Hoare triple {110#true} #res := ~__retres1~0; {110#true} is VALID [2020-07-17 22:53:12,856 INFO L280 TraceCheckUtils]: 6: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,857 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {110#true} {110#true} #268#return; {110#true} is VALID [2020-07-17 22:53:12,857 INFO L280 TraceCheckUtils]: 8: Hoare triple {110#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {110#true} is VALID [2020-07-17 22:53:12,857 INFO L280 TraceCheckUtils]: 9: Hoare triple {110#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,857 INFO L263 TraceCheckUtils]: 10: Hoare triple {110#true} call #t~ret1 := is_do_read_c_triggered(); {110#true} is VALID [2020-07-17 22:53:12,858 INFO L280 TraceCheckUtils]: 11: Hoare triple {110#true} havoc ~__retres1~1; {110#true} is VALID [2020-07-17 22:53:12,858 INFO L280 TraceCheckUtils]: 12: Hoare triple {110#true} assume 1 == ~c_dr_pc~0; {110#true} is VALID [2020-07-17 22:53:12,858 INFO L280 TraceCheckUtils]: 13: Hoare triple {110#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {110#true} is VALID [2020-07-17 22:53:12,859 INFO L280 TraceCheckUtils]: 14: Hoare triple {110#true} #res := ~__retres1~1; {110#true} is VALID [2020-07-17 22:53:12,859 INFO L280 TraceCheckUtils]: 15: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,859 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {110#true} {110#true} #270#return; {110#true} is VALID [2020-07-17 22:53:12,859 INFO L280 TraceCheckUtils]: 17: Hoare triple {110#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {110#true} is VALID [2020-07-17 22:53:12,860 INFO L280 TraceCheckUtils]: 18: Hoare triple {110#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,860 INFO L280 TraceCheckUtils]: 19: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,860 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {110#true} {111#false} #290#return; {111#false} is VALID [2020-07-17 22:53:12,868 INFO L263 TraceCheckUtils]: 0: Hoare triple {110#true} call ULTIMATE.init(); {149#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:12,868 INFO L280 TraceCheckUtils]: 1: Hoare triple {149#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,868 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,869 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {110#true} {110#true} #286#return; {110#true} is VALID [2020-07-17 22:53:12,869 INFO L263 TraceCheckUtils]: 4: Hoare triple {110#true} call #t~ret8 := main(); {110#true} is VALID [2020-07-17 22:53:12,870 INFO L280 TraceCheckUtils]: 5: Hoare triple {110#true} havoc ~__retres1~3; {110#true} is VALID [2020-07-17 22:53:12,871 INFO L263 TraceCheckUtils]: 6: Hoare triple {110#true} call init_model(); {150#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:12,872 INFO L280 TraceCheckUtils]: 7: Hoare triple {150#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {110#true} is VALID [2020-07-17 22:53:12,872 INFO L280 TraceCheckUtils]: 8: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,873 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {110#true} {110#true} #262#return; {110#true} is VALID [2020-07-17 22:53:12,873 INFO L263 TraceCheckUtils]: 10: Hoare triple {110#true} call start_simulation(); {110#true} is VALID [2020-07-17 22:53:12,873 INFO L280 TraceCheckUtils]: 11: Hoare triple {110#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,876 INFO L263 TraceCheckUtils]: 12: Hoare triple {110#true} call init_threads(); {151#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:12,877 INFO L280 TraceCheckUtils]: 13: Hoare triple {151#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,877 INFO L280 TraceCheckUtils]: 14: Hoare triple {110#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,877 INFO L280 TraceCheckUtils]: 15: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,878 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {110#true} {110#true} #280#return; {110#true} is VALID [2020-07-17 22:53:12,878 INFO L280 TraceCheckUtils]: 17: Hoare triple {110#true} assume !false; {110#true} is VALID [2020-07-17 22:53:12,878 INFO L280 TraceCheckUtils]: 18: Hoare triple {110#true} ~kernel_st~0 := 1; {110#true} is VALID [2020-07-17 22:53:12,879 INFO L263 TraceCheckUtils]: 19: Hoare triple {110#true} call eval(); {110#true} is VALID [2020-07-17 22:53:12,879 INFO L280 TraceCheckUtils]: 20: Hoare triple {110#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {110#true} is VALID [2020-07-17 22:53:12,879 INFO L280 TraceCheckUtils]: 21: Hoare triple {110#true} assume !false; {110#true} is VALID [2020-07-17 22:53:12,880 INFO L263 TraceCheckUtils]: 22: Hoare triple {110#true} call #t~ret3 := exists_runnable_thread(); {110#true} is VALID [2020-07-17 22:53:12,881 INFO L280 TraceCheckUtils]: 23: Hoare triple {110#true} havoc ~__retres1~2; {110#true} is VALID [2020-07-17 22:53:12,883 INFO L280 TraceCheckUtils]: 24: Hoare triple {110#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,885 INFO L280 TraceCheckUtils]: 25: Hoare triple {127#(= 0 ~p_dw_st~0)} #res := ~__retres1~2; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,886 INFO L280 TraceCheckUtils]: 26: Hoare triple {127#(= 0 ~p_dw_st~0)} assume true; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,887 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {127#(= 0 ~p_dw_st~0)} {110#true} #272#return; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,888 INFO L280 TraceCheckUtils]: 28: Hoare triple {127#(= 0 ~p_dw_st~0)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,889 INFO L280 TraceCheckUtils]: 29: Hoare triple {127#(= 0 ~p_dw_st~0)} assume 0 != ~tmp___1~0; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:12,890 INFO L280 TraceCheckUtils]: 30: Hoare triple {127#(= 0 ~p_dw_st~0)} assume !(0 == ~p_dw_st~0); {111#false} is VALID [2020-07-17 22:53:12,890 INFO L280 TraceCheckUtils]: 31: Hoare triple {111#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {111#false} is VALID [2020-07-17 22:53:12,890 INFO L280 TraceCheckUtils]: 32: Hoare triple {111#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {111#false} is VALID [2020-07-17 22:53:12,891 INFO L263 TraceCheckUtils]: 33: Hoare triple {111#false} call do_read_c(); {111#false} is VALID [2020-07-17 22:53:12,891 INFO L280 TraceCheckUtils]: 34: Hoare triple {111#false} havoc ~a~0; {111#false} is VALID [2020-07-17 22:53:12,891 INFO L280 TraceCheckUtils]: 35: Hoare triple {111#false} assume 0 == ~c_dr_pc~0; {111#false} is VALID [2020-07-17 22:53:12,892 INFO L280 TraceCheckUtils]: 36: Hoare triple {111#false} assume !false; {111#false} is VALID [2020-07-17 22:53:12,892 INFO L280 TraceCheckUtils]: 37: Hoare triple {111#false} assume !(1 == ~q_free~0); {111#false} is VALID [2020-07-17 22:53:12,892 INFO L280 TraceCheckUtils]: 38: Hoare triple {111#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {111#false} is VALID [2020-07-17 22:53:12,893 INFO L263 TraceCheckUtils]: 39: Hoare triple {111#false} call immediate_notify_threads(); {151#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:12,893 INFO L280 TraceCheckUtils]: 40: Hoare triple {151#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {110#true} is VALID [2020-07-17 22:53:12,893 INFO L263 TraceCheckUtils]: 41: Hoare triple {110#true} call #t~ret0 := is_do_write_p_triggered(); {110#true} is VALID [2020-07-17 22:53:12,893 INFO L280 TraceCheckUtils]: 42: Hoare triple {110#true} havoc ~__retres1~0; {110#true} is VALID [2020-07-17 22:53:12,894 INFO L280 TraceCheckUtils]: 43: Hoare triple {110#true} assume 1 == ~p_dw_pc~0; {110#true} is VALID [2020-07-17 22:53:12,894 INFO L280 TraceCheckUtils]: 44: Hoare triple {110#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {110#true} is VALID [2020-07-17 22:53:12,894 INFO L280 TraceCheckUtils]: 45: Hoare triple {110#true} #res := ~__retres1~0; {110#true} is VALID [2020-07-17 22:53:12,895 INFO L280 TraceCheckUtils]: 46: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,895 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {110#true} {110#true} #268#return; {110#true} is VALID [2020-07-17 22:53:12,895 INFO L280 TraceCheckUtils]: 48: Hoare triple {110#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {110#true} is VALID [2020-07-17 22:53:12,896 INFO L280 TraceCheckUtils]: 49: Hoare triple {110#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,896 INFO L263 TraceCheckUtils]: 50: Hoare triple {110#true} call #t~ret1 := is_do_read_c_triggered(); {110#true} is VALID [2020-07-17 22:53:12,896 INFO L280 TraceCheckUtils]: 51: Hoare triple {110#true} havoc ~__retres1~1; {110#true} is VALID [2020-07-17 22:53:12,896 INFO L280 TraceCheckUtils]: 52: Hoare triple {110#true} assume 1 == ~c_dr_pc~0; {110#true} is VALID [2020-07-17 22:53:12,897 INFO L280 TraceCheckUtils]: 53: Hoare triple {110#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {110#true} is VALID [2020-07-17 22:53:12,897 INFO L280 TraceCheckUtils]: 54: Hoare triple {110#true} #res := ~__retres1~1; {110#true} is VALID [2020-07-17 22:53:12,897 INFO L280 TraceCheckUtils]: 55: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,898 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {110#true} {110#true} #270#return; {110#true} is VALID [2020-07-17 22:53:12,898 INFO L280 TraceCheckUtils]: 57: Hoare triple {110#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {110#true} is VALID [2020-07-17 22:53:12,898 INFO L280 TraceCheckUtils]: 58: Hoare triple {110#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {110#true} is VALID [2020-07-17 22:53:12,898 INFO L280 TraceCheckUtils]: 59: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-17 22:53:12,899 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {110#true} {111#false} #290#return; {111#false} is VALID [2020-07-17 22:53:12,899 INFO L280 TraceCheckUtils]: 61: Hoare triple {111#false} ~q_read_ev~0 := 2; {111#false} is VALID [2020-07-17 22:53:12,899 INFO L280 TraceCheckUtils]: 62: Hoare triple {111#false} assume !(~p_last_write~0 == ~c_last_read~0); {111#false} is VALID [2020-07-17 22:53:12,900 INFO L263 TraceCheckUtils]: 63: Hoare triple {111#false} call error(); {111#false} is VALID [2020-07-17 22:53:12,900 INFO L280 TraceCheckUtils]: 64: Hoare triple {111#false} assume !false; {111#false} is VALID [2020-07-17 22:53:12,910 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:53:12,911 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1020414945] [2020-07-17 22:53:12,912 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:12,912 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:53:12,913 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [255415334] [2020-07-17 22:53:12,920 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 65 [2020-07-17 22:53:12,923 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:12,927 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:53:13,018 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:13,019 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:53:13,019 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:13,028 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:53:13,029 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:53:13,031 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 6 states. [2020-07-17 22:53:17,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:17,336 INFO L93 Difference]: Finished difference Result 356 states and 554 transitions. [2020-07-17 22:53:17,336 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:53:17,336 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 65 [2020-07-17 22:53:17,337 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:53:17,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:53:17,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 554 transitions. [2020-07-17 22:53:17,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:53:17,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 554 transitions. [2020-07-17 22:53:17,402 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 554 transitions. [2020-07-17 22:53:18,569 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 554 edges. 554 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:18,607 INFO L225 Difference]: With dead ends: 356 [2020-07-17 22:53:18,608 INFO L226 Difference]: Without dead ends: 248 [2020-07-17 22:53:18,614 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:53:18,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states. [2020-07-17 22:53:19,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 185. [2020-07-17 22:53:19,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:53:19,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 248 states. Second operand 185 states. [2020-07-17 22:53:19,197 INFO L74 IsIncluded]: Start isIncluded. First operand 248 states. Second operand 185 states. [2020-07-17 22:53:19,198 INFO L87 Difference]: Start difference. First operand 248 states. Second operand 185 states. [2020-07-17 22:53:19,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:19,228 INFO L93 Difference]: Finished difference Result 248 states and 347 transitions. [2020-07-17 22:53:19,228 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 347 transitions. [2020-07-17 22:53:19,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:19,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:19,236 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand 248 states. [2020-07-17 22:53:19,236 INFO L87 Difference]: Start difference. First operand 185 states. Second operand 248 states. [2020-07-17 22:53:19,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:19,262 INFO L93 Difference]: Finished difference Result 248 states and 347 transitions. [2020-07-17 22:53:19,262 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 347 transitions. [2020-07-17 22:53:19,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:19,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:19,265 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:53:19,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:53:19,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 185 states. [2020-07-17 22:53:19,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 246 transitions. [2020-07-17 22:53:19,284 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 246 transitions. Word has length 65 [2020-07-17 22:53:19,285 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:53:19,285 INFO L479 AbstractCegarLoop]: Abstraction has 185 states and 246 transitions. [2020-07-17 22:53:19,285 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:53:19,285 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 246 transitions. [2020-07-17 22:53:19,289 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:53:19,289 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:53:19,290 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 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-07-17 22:53:19,290 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:53:19,290 INFO L427 AbstractCegarLoop]: === Iteration 2 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:53:19,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:53:19,291 INFO L82 PathProgramCache]: Analyzing trace with hash 1537976919, now seen corresponding path program 1 times [2020-07-17 22:53:19,292 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:53:19,292 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1947143807] [2020-07-17 22:53:19,293 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:53:19,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,452 INFO L280 TraceCheckUtils]: 0: Hoare triple {1473#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {1433#true} is VALID [2020-07-17 22:53:19,453 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,454 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1433#true} {1433#true} #286#return; {1433#true} is VALID [2020-07-17 22:53:19,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,509 INFO L280 TraceCheckUtils]: 0: Hoare triple {1474#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,510 INFO L280 TraceCheckUtils]: 1: Hoare triple {1441#(= 1 ~p_dw_i~0)} assume true; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,513 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1441#(= 1 ~p_dw_i~0)} {1433#true} #262#return; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,554 INFO L280 TraceCheckUtils]: 0: Hoare triple {1475#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume !(1 == ~p_dw_i~0);~p_dw_st~0 := 2; {1476#(not (= 1 ~p_dw_i~0))} is VALID [2020-07-17 22:53:19,555 INFO L280 TraceCheckUtils]: 1: Hoare triple {1476#(not (= 1 ~p_dw_i~0))} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {1476#(not (= 1 ~p_dw_i~0))} is VALID [2020-07-17 22:53:19,558 INFO L280 TraceCheckUtils]: 2: Hoare triple {1476#(not (= 1 ~p_dw_i~0))} assume true; {1476#(not (= 1 ~p_dw_i~0))} is VALID [2020-07-17 22:53:19,568 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1476#(not (= 1 ~p_dw_i~0))} {1441#(= 1 ~p_dw_i~0)} #280#return; {1434#false} is VALID [2020-07-17 22:53:19,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,601 INFO L280 TraceCheckUtils]: 0: Hoare triple {1433#true} havoc ~__retres1~2; {1433#true} is VALID [2020-07-17 22:53:19,603 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume !(0 == ~p_dw_st~0); {1433#true} is VALID [2020-07-17 22:53:19,604 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume 0 == ~c_dr_st~0;~__retres1~2 := 1; {1433#true} is VALID [2020-07-17 22:53:19,605 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} #res := ~__retres1~2; {1433#true} is VALID [2020-07-17 22:53:19,605 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,606 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1433#true} {1434#false} #272#return; {1434#false} is VALID [2020-07-17 22:53:19,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,678 INFO L280 TraceCheckUtils]: 0: Hoare triple {1433#true} havoc ~__retres1~0; {1433#true} is VALID [2020-07-17 22:53:19,679 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume 1 == ~p_dw_pc~0; {1433#true} is VALID [2020-07-17 22:53:19,680 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {1433#true} is VALID [2020-07-17 22:53:19,680 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} #res := ~__retres1~0; {1433#true} is VALID [2020-07-17 22:53:19,680 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,681 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1433#true} {1433#true} #268#return; {1433#true} is VALID [2020-07-17 22:53:19,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:19,687 INFO L280 TraceCheckUtils]: 0: Hoare triple {1433#true} havoc ~__retres1~1; {1433#true} is VALID [2020-07-17 22:53:19,688 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume 1 == ~c_dr_pc~0; {1433#true} is VALID [2020-07-17 22:53:19,688 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {1433#true} is VALID [2020-07-17 22:53:19,688 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} #res := ~__retres1~1; {1433#true} is VALID [2020-07-17 22:53:19,689 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,689 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1433#true} {1433#true} #270#return; {1433#true} is VALID [2020-07-17 22:53:19,689 INFO L280 TraceCheckUtils]: 0: Hoare triple {1475#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {1433#true} is VALID [2020-07-17 22:53:19,690 INFO L263 TraceCheckUtils]: 1: Hoare triple {1433#true} call #t~ret0 := is_do_write_p_triggered(); {1433#true} is VALID [2020-07-17 22:53:19,690 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} havoc ~__retres1~0; {1433#true} is VALID [2020-07-17 22:53:19,691 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} assume 1 == ~p_dw_pc~0; {1433#true} is VALID [2020-07-17 22:53:19,693 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {1433#true} is VALID [2020-07-17 22:53:19,694 INFO L280 TraceCheckUtils]: 5: Hoare triple {1433#true} #res := ~__retres1~0; {1433#true} is VALID [2020-07-17 22:53:19,694 INFO L280 TraceCheckUtils]: 6: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,694 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1433#true} {1433#true} #268#return; {1433#true} is VALID [2020-07-17 22:53:19,695 INFO L280 TraceCheckUtils]: 8: Hoare triple {1433#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {1433#true} is VALID [2020-07-17 22:53:19,695 INFO L280 TraceCheckUtils]: 9: Hoare triple {1433#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {1433#true} is VALID [2020-07-17 22:53:19,697 INFO L263 TraceCheckUtils]: 10: Hoare triple {1433#true} call #t~ret1 := is_do_read_c_triggered(); {1433#true} is VALID [2020-07-17 22:53:19,697 INFO L280 TraceCheckUtils]: 11: Hoare triple {1433#true} havoc ~__retres1~1; {1433#true} is VALID [2020-07-17 22:53:19,698 INFO L280 TraceCheckUtils]: 12: Hoare triple {1433#true} assume 1 == ~c_dr_pc~0; {1433#true} is VALID [2020-07-17 22:53:19,698 INFO L280 TraceCheckUtils]: 13: Hoare triple {1433#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {1433#true} is VALID [2020-07-17 22:53:19,698 INFO L280 TraceCheckUtils]: 14: Hoare triple {1433#true} #res := ~__retres1~1; {1433#true} is VALID [2020-07-17 22:53:19,698 INFO L280 TraceCheckUtils]: 15: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,698 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1433#true} {1433#true} #270#return; {1433#true} is VALID [2020-07-17 22:53:19,699 INFO L280 TraceCheckUtils]: 17: Hoare triple {1433#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {1433#true} is VALID [2020-07-17 22:53:19,699 INFO L280 TraceCheckUtils]: 18: Hoare triple {1433#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {1433#true} is VALID [2020-07-17 22:53:19,699 INFO L280 TraceCheckUtils]: 19: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,700 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1433#true} {1434#false} #290#return; {1434#false} is VALID [2020-07-17 22:53:19,706 INFO L263 TraceCheckUtils]: 0: Hoare triple {1433#true} call ULTIMATE.init(); {1473#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:19,707 INFO L280 TraceCheckUtils]: 1: Hoare triple {1473#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {1433#true} is VALID [2020-07-17 22:53:19,708 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,709 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1433#true} {1433#true} #286#return; {1433#true} is VALID [2020-07-17 22:53:19,710 INFO L263 TraceCheckUtils]: 4: Hoare triple {1433#true} call #t~ret8 := main(); {1433#true} is VALID [2020-07-17 22:53:19,710 INFO L280 TraceCheckUtils]: 5: Hoare triple {1433#true} havoc ~__retres1~3; {1433#true} is VALID [2020-07-17 22:53:19,714 INFO L263 TraceCheckUtils]: 6: Hoare triple {1433#true} call init_model(); {1474#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:19,718 INFO L280 TraceCheckUtils]: 7: Hoare triple {1474#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,720 INFO L280 TraceCheckUtils]: 8: Hoare triple {1441#(= 1 ~p_dw_i~0)} assume true; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,722 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1441#(= 1 ~p_dw_i~0)} {1433#true} #262#return; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,724 INFO L263 TraceCheckUtils]: 10: Hoare triple {1441#(= 1 ~p_dw_i~0)} call start_simulation(); {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,726 INFO L280 TraceCheckUtils]: 11: Hoare triple {1441#(= 1 ~p_dw_i~0)} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-17 22:53:19,728 INFO L263 TraceCheckUtils]: 12: Hoare triple {1441#(= 1 ~p_dw_i~0)} call init_threads(); {1475#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:19,732 INFO L280 TraceCheckUtils]: 13: Hoare triple {1475#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume !(1 == ~p_dw_i~0);~p_dw_st~0 := 2; {1476#(not (= 1 ~p_dw_i~0))} is VALID [2020-07-17 22:53:19,733 INFO L280 TraceCheckUtils]: 14: Hoare triple {1476#(not (= 1 ~p_dw_i~0))} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {1476#(not (= 1 ~p_dw_i~0))} is VALID [2020-07-17 22:53:19,733 INFO L280 TraceCheckUtils]: 15: Hoare triple {1476#(not (= 1 ~p_dw_i~0))} assume true; {1476#(not (= 1 ~p_dw_i~0))} is VALID [2020-07-17 22:53:19,734 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1476#(not (= 1 ~p_dw_i~0))} {1441#(= 1 ~p_dw_i~0)} #280#return; {1434#false} is VALID [2020-07-17 22:53:19,734 INFO L280 TraceCheckUtils]: 17: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-17 22:53:19,735 INFO L280 TraceCheckUtils]: 18: Hoare triple {1434#false} ~kernel_st~0 := 1; {1434#false} is VALID [2020-07-17 22:53:19,735 INFO L263 TraceCheckUtils]: 19: Hoare triple {1434#false} call eval(); {1434#false} is VALID [2020-07-17 22:53:19,736 INFO L280 TraceCheckUtils]: 20: Hoare triple {1434#false} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {1434#false} is VALID [2020-07-17 22:53:19,736 INFO L280 TraceCheckUtils]: 21: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-17 22:53:19,736 INFO L263 TraceCheckUtils]: 22: Hoare triple {1434#false} call #t~ret3 := exists_runnable_thread(); {1433#true} is VALID [2020-07-17 22:53:19,737 INFO L280 TraceCheckUtils]: 23: Hoare triple {1433#true} havoc ~__retres1~2; {1433#true} is VALID [2020-07-17 22:53:19,737 INFO L280 TraceCheckUtils]: 24: Hoare triple {1433#true} assume !(0 == ~p_dw_st~0); {1433#true} is VALID [2020-07-17 22:53:19,737 INFO L280 TraceCheckUtils]: 25: Hoare triple {1433#true} assume 0 == ~c_dr_st~0;~__retres1~2 := 1; {1433#true} is VALID [2020-07-17 22:53:19,738 INFO L280 TraceCheckUtils]: 26: Hoare triple {1433#true} #res := ~__retres1~2; {1433#true} is VALID [2020-07-17 22:53:19,738 INFO L280 TraceCheckUtils]: 27: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,739 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1433#true} {1434#false} #272#return; {1434#false} is VALID [2020-07-17 22:53:19,755 INFO L280 TraceCheckUtils]: 29: Hoare triple {1434#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {1434#false} is VALID [2020-07-17 22:53:19,756 INFO L280 TraceCheckUtils]: 30: Hoare triple {1434#false} assume 0 != ~tmp___1~0; {1434#false} is VALID [2020-07-17 22:53:19,762 INFO L280 TraceCheckUtils]: 31: Hoare triple {1434#false} assume !(0 == ~p_dw_st~0); {1434#false} is VALID [2020-07-17 22:53:19,763 INFO L280 TraceCheckUtils]: 32: Hoare triple {1434#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {1434#false} is VALID [2020-07-17 22:53:19,763 INFO L280 TraceCheckUtils]: 33: Hoare triple {1434#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {1434#false} is VALID [2020-07-17 22:53:19,764 INFO L263 TraceCheckUtils]: 34: Hoare triple {1434#false} call do_read_c(); {1434#false} is VALID [2020-07-17 22:53:19,764 INFO L280 TraceCheckUtils]: 35: Hoare triple {1434#false} havoc ~a~0; {1434#false} is VALID [2020-07-17 22:53:19,764 INFO L280 TraceCheckUtils]: 36: Hoare triple {1434#false} assume 0 == ~c_dr_pc~0; {1434#false} is VALID [2020-07-17 22:53:19,764 INFO L280 TraceCheckUtils]: 37: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-17 22:53:19,765 INFO L280 TraceCheckUtils]: 38: Hoare triple {1434#false} assume !(1 == ~q_free~0); {1434#false} is VALID [2020-07-17 22:53:19,765 INFO L280 TraceCheckUtils]: 39: Hoare triple {1434#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {1434#false} is VALID [2020-07-17 22:53:19,765 INFO L263 TraceCheckUtils]: 40: Hoare triple {1434#false} call immediate_notify_threads(); {1475#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:19,766 INFO L280 TraceCheckUtils]: 41: Hoare triple {1475#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {1433#true} is VALID [2020-07-17 22:53:19,767 INFO L263 TraceCheckUtils]: 42: Hoare triple {1433#true} call #t~ret0 := is_do_write_p_triggered(); {1433#true} is VALID [2020-07-17 22:53:19,768 INFO L280 TraceCheckUtils]: 43: Hoare triple {1433#true} havoc ~__retres1~0; {1433#true} is VALID [2020-07-17 22:53:19,768 INFO L280 TraceCheckUtils]: 44: Hoare triple {1433#true} assume 1 == ~p_dw_pc~0; {1433#true} is VALID [2020-07-17 22:53:19,769 INFO L280 TraceCheckUtils]: 45: Hoare triple {1433#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {1433#true} is VALID [2020-07-17 22:53:19,769 INFO L280 TraceCheckUtils]: 46: Hoare triple {1433#true} #res := ~__retres1~0; {1433#true} is VALID [2020-07-17 22:53:19,769 INFO L280 TraceCheckUtils]: 47: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,770 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {1433#true} {1433#true} #268#return; {1433#true} is VALID [2020-07-17 22:53:19,770 INFO L280 TraceCheckUtils]: 49: Hoare triple {1433#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {1433#true} is VALID [2020-07-17 22:53:19,770 INFO L280 TraceCheckUtils]: 50: Hoare triple {1433#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {1433#true} is VALID [2020-07-17 22:53:19,771 INFO L263 TraceCheckUtils]: 51: Hoare triple {1433#true} call #t~ret1 := is_do_read_c_triggered(); {1433#true} is VALID [2020-07-17 22:53:19,771 INFO L280 TraceCheckUtils]: 52: Hoare triple {1433#true} havoc ~__retres1~1; {1433#true} is VALID [2020-07-17 22:53:19,771 INFO L280 TraceCheckUtils]: 53: Hoare triple {1433#true} assume 1 == ~c_dr_pc~0; {1433#true} is VALID [2020-07-17 22:53:19,772 INFO L280 TraceCheckUtils]: 54: Hoare triple {1433#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {1433#true} is VALID [2020-07-17 22:53:19,772 INFO L280 TraceCheckUtils]: 55: Hoare triple {1433#true} #res := ~__retres1~1; {1433#true} is VALID [2020-07-17 22:53:19,772 INFO L280 TraceCheckUtils]: 56: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,773 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {1433#true} {1433#true} #270#return; {1433#true} is VALID [2020-07-17 22:53:19,773 INFO L280 TraceCheckUtils]: 58: Hoare triple {1433#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {1433#true} is VALID [2020-07-17 22:53:19,773 INFO L280 TraceCheckUtils]: 59: Hoare triple {1433#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {1433#true} is VALID [2020-07-17 22:53:19,774 INFO L280 TraceCheckUtils]: 60: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-17 22:53:19,774 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {1433#true} {1434#false} #290#return; {1434#false} is VALID [2020-07-17 22:53:19,774 INFO L280 TraceCheckUtils]: 62: Hoare triple {1434#false} ~q_read_ev~0 := 2; {1434#false} is VALID [2020-07-17 22:53:19,774 INFO L280 TraceCheckUtils]: 63: Hoare triple {1434#false} assume !(~p_last_write~0 == ~c_last_read~0); {1434#false} is VALID [2020-07-17 22:53:19,775 INFO L263 TraceCheckUtils]: 64: Hoare triple {1434#false} call error(); {1434#false} is VALID [2020-07-17 22:53:19,775 INFO L280 TraceCheckUtils]: 65: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-17 22:53:19,787 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:53:19,789 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1947143807] [2020-07-17 22:53:19,790 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:19,791 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-17 22:53:19,798 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1154675583] [2020-07-17 22:53:19,803 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 66 [2020-07-17 22:53:19,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:19,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-17 22:53:19,884 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:19,884 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-17 22:53:19,885 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:19,886 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-17 22:53:19,886 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:53:19,886 INFO L87 Difference]: Start difference. First operand 185 states and 246 transitions. Second operand 7 states. [2020-07-17 22:53:23,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:23,054 INFO L93 Difference]: Finished difference Result 406 states and 562 transitions. [2020-07-17 22:53:23,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:53:23,054 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 66 [2020-07-17 22:53:23,055 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:53:23,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:53:23,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 298 transitions. [2020-07-17 22:53:23,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:53:23,077 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 298 transitions. [2020-07-17 22:53:23,078 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 298 transitions. [2020-07-17 22:53:23,612 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 298 edges. 298 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:23,623 INFO L225 Difference]: With dead ends: 406 [2020-07-17 22:53:23,623 INFO L226 Difference]: Without dead ends: 238 [2020-07-17 22:53:23,625 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:53:23,626 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2020-07-17 22:53:24,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 182. [2020-07-17 22:53:24,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:53:24,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand 182 states. [2020-07-17 22:53:24,182 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand 182 states. [2020-07-17 22:53:24,183 INFO L87 Difference]: Start difference. First operand 238 states. Second operand 182 states. [2020-07-17 22:53:24,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:24,199 INFO L93 Difference]: Finished difference Result 238 states and 334 transitions. [2020-07-17 22:53:24,200 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 334 transitions. [2020-07-17 22:53:24,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:24,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:24,202 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand 238 states. [2020-07-17 22:53:24,202 INFO L87 Difference]: Start difference. First operand 182 states. Second operand 238 states. [2020-07-17 22:53:24,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:24,218 INFO L93 Difference]: Finished difference Result 238 states and 334 transitions. [2020-07-17 22:53:24,218 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 334 transitions. [2020-07-17 22:53:24,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:24,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:24,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:53:24,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:53:24,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 182 states. [2020-07-17 22:53:24,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 241 transitions. [2020-07-17 22:53:24,232 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 241 transitions. Word has length 66 [2020-07-17 22:53:24,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:53:24,233 INFO L479 AbstractCegarLoop]: Abstraction has 182 states and 241 transitions. [2020-07-17 22:53:24,233 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-17 22:53:24,233 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 241 transitions. [2020-07-17 22:53:24,235 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-17 22:53:24,235 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:53:24,235 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07-17 22:53:24,236 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-17 22:53:24,236 INFO L427 AbstractCegarLoop]: === Iteration 3 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:53:24,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:53:24,236 INFO L82 PathProgramCache]: Analyzing trace with hash -478173211, now seen corresponding path program 1 times [2020-07-17 22:53:24,236 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:53:24,237 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1003147843] [2020-07-17 22:53:24,237 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:53:24,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,473 INFO L280 TraceCheckUtils]: 0: Hoare triple {2851#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,474 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,475 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2807#true} {2807#true} #286#return; {2807#true} is VALID [2020-07-17 22:53:24,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,519 INFO L280 TraceCheckUtils]: 0: Hoare triple {2852#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,519 INFO L280 TraceCheckUtils]: 1: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume true; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,520 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} {2807#true} #262#return; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,543 INFO L280 TraceCheckUtils]: 0: Hoare triple {2853#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,544 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,544 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,545 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2807#true} {2815#(not (= ~p_dw_pc~0 ~q_free~0))} #280#return; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,565 INFO L280 TraceCheckUtils]: 0: Hoare triple {2807#true} havoc ~__retres1~2; {2807#true} is VALID [2020-07-17 22:53:24,565 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {2807#true} is VALID [2020-07-17 22:53:24,565 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} #res := ~__retres1~2; {2807#true} is VALID [2020-07-17 22:53:24,566 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,566 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2807#true} {2815#(not (= ~p_dw_pc~0 ~q_free~0))} #272#return; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,639 INFO L280 TraceCheckUtils]: 0: Hoare triple {2854#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} is VALID [2020-07-17 22:53:24,640 INFO L280 TraceCheckUtils]: 1: Hoare triple {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} assume !false; {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} is VALID [2020-07-17 22:53:24,641 INFO L280 TraceCheckUtils]: 2: Hoare triple {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} is VALID [2020-07-17 22:53:24,642 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} assume true; {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} is VALID [2020-07-17 22:53:24,642 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} {2815#(not (= ~p_dw_pc~0 ~q_free~0))} #274#return; {2808#false} is VALID [2020-07-17 22:53:24,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,662 INFO L280 TraceCheckUtils]: 0: Hoare triple {2807#true} havoc ~__retres1~0; {2807#true} is VALID [2020-07-17 22:53:24,663 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 1 == ~p_dw_pc~0; {2807#true} is VALID [2020-07-17 22:53:24,663 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {2807#true} is VALID [2020-07-17 22:53:24,664 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} #res := ~__retres1~0; {2807#true} is VALID [2020-07-17 22:53:24,664 INFO L280 TraceCheckUtils]: 4: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,665 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2807#true} {2807#true} #268#return; {2807#true} is VALID [2020-07-17 22:53:24,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:24,669 INFO L280 TraceCheckUtils]: 0: Hoare triple {2807#true} havoc ~__retres1~1; {2807#true} is VALID [2020-07-17 22:53:24,669 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 1 == ~c_dr_pc~0; {2807#true} is VALID [2020-07-17 22:53:24,670 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {2807#true} is VALID [2020-07-17 22:53:24,670 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} #res := ~__retres1~1; {2807#true} is VALID [2020-07-17 22:53:24,670 INFO L280 TraceCheckUtils]: 4: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,670 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2807#true} {2807#true} #270#return; {2807#true} is VALID [2020-07-17 22:53:24,671 INFO L280 TraceCheckUtils]: 0: Hoare triple {2853#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {2807#true} is VALID [2020-07-17 22:53:24,671 INFO L263 TraceCheckUtils]: 1: Hoare triple {2807#true} call #t~ret0 := is_do_write_p_triggered(); {2807#true} is VALID [2020-07-17 22:53:24,671 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} havoc ~__retres1~0; {2807#true} is VALID [2020-07-17 22:53:24,672 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} assume 1 == ~p_dw_pc~0; {2807#true} is VALID [2020-07-17 22:53:24,672 INFO L280 TraceCheckUtils]: 4: Hoare triple {2807#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {2807#true} is VALID [2020-07-17 22:53:24,672 INFO L280 TraceCheckUtils]: 5: Hoare triple {2807#true} #res := ~__retres1~0; {2807#true} is VALID [2020-07-17 22:53:24,672 INFO L280 TraceCheckUtils]: 6: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,673 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2807#true} {2807#true} #268#return; {2807#true} is VALID [2020-07-17 22:53:24,673 INFO L280 TraceCheckUtils]: 8: Hoare triple {2807#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {2807#true} is VALID [2020-07-17 22:53:24,673 INFO L280 TraceCheckUtils]: 9: Hoare triple {2807#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,673 INFO L263 TraceCheckUtils]: 10: Hoare triple {2807#true} call #t~ret1 := is_do_read_c_triggered(); {2807#true} is VALID [2020-07-17 22:53:24,673 INFO L280 TraceCheckUtils]: 11: Hoare triple {2807#true} havoc ~__retres1~1; {2807#true} is VALID [2020-07-17 22:53:24,674 INFO L280 TraceCheckUtils]: 12: Hoare triple {2807#true} assume 1 == ~c_dr_pc~0; {2807#true} is VALID [2020-07-17 22:53:24,674 INFO L280 TraceCheckUtils]: 13: Hoare triple {2807#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {2807#true} is VALID [2020-07-17 22:53:24,674 INFO L280 TraceCheckUtils]: 14: Hoare triple {2807#true} #res := ~__retres1~1; {2807#true} is VALID [2020-07-17 22:53:24,675 INFO L280 TraceCheckUtils]: 15: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,675 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2807#true} {2807#true} #270#return; {2807#true} is VALID [2020-07-17 22:53:24,675 INFO L280 TraceCheckUtils]: 17: Hoare triple {2807#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {2807#true} is VALID [2020-07-17 22:53:24,675 INFO L280 TraceCheckUtils]: 18: Hoare triple {2807#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,676 INFO L280 TraceCheckUtils]: 19: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,676 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {2807#true} {2808#false} #290#return; {2808#false} is VALID [2020-07-17 22:53:24,678 INFO L263 TraceCheckUtils]: 0: Hoare triple {2807#true} call ULTIMATE.init(); {2851#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:24,678 INFO L280 TraceCheckUtils]: 1: Hoare triple {2851#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,679 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,679 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2807#true} {2807#true} #286#return; {2807#true} is VALID [2020-07-17 22:53:24,679 INFO L263 TraceCheckUtils]: 4: Hoare triple {2807#true} call #t~ret8 := main(); {2807#true} is VALID [2020-07-17 22:53:24,680 INFO L280 TraceCheckUtils]: 5: Hoare triple {2807#true} havoc ~__retres1~3; {2807#true} is VALID [2020-07-17 22:53:24,682 INFO L263 TraceCheckUtils]: 6: Hoare triple {2807#true} call init_model(); {2852#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:24,684 INFO L280 TraceCheckUtils]: 7: Hoare triple {2852#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,685 INFO L280 TraceCheckUtils]: 8: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume true; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,685 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} {2807#true} #262#return; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,686 INFO L263 TraceCheckUtils]: 10: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} call start_simulation(); {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,686 INFO L280 TraceCheckUtils]: 11: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,687 INFO L263 TraceCheckUtils]: 12: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} call init_threads(); {2853#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:24,687 INFO L280 TraceCheckUtils]: 13: Hoare triple {2853#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,688 INFO L280 TraceCheckUtils]: 14: Hoare triple {2807#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,688 INFO L280 TraceCheckUtils]: 15: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,689 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2807#true} {2815#(not (= ~p_dw_pc~0 ~q_free~0))} #280#return; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,689 INFO L280 TraceCheckUtils]: 17: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume !false; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,690 INFO L280 TraceCheckUtils]: 18: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} ~kernel_st~0 := 1; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,690 INFO L263 TraceCheckUtils]: 19: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} call eval(); {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,691 INFO L280 TraceCheckUtils]: 20: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,695 INFO L280 TraceCheckUtils]: 21: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume !false; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,696 INFO L263 TraceCheckUtils]: 22: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} call #t~ret3 := exists_runnable_thread(); {2807#true} is VALID [2020-07-17 22:53:24,696 INFO L280 TraceCheckUtils]: 23: Hoare triple {2807#true} havoc ~__retres1~2; {2807#true} is VALID [2020-07-17 22:53:24,697 INFO L280 TraceCheckUtils]: 24: Hoare triple {2807#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {2807#true} is VALID [2020-07-17 22:53:24,697 INFO L280 TraceCheckUtils]: 25: Hoare triple {2807#true} #res := ~__retres1~2; {2807#true} is VALID [2020-07-17 22:53:24,697 INFO L280 TraceCheckUtils]: 26: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,699 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2807#true} {2815#(not (= ~p_dw_pc~0 ~q_free~0))} #272#return; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,701 INFO L280 TraceCheckUtils]: 28: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,703 INFO L280 TraceCheckUtils]: 29: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume 0 != ~tmp___1~0; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,705 INFO L280 TraceCheckUtils]: 30: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,707 INFO L280 TraceCheckUtils]: 31: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {2815#(not (= ~p_dw_pc~0 ~q_free~0))} is VALID [2020-07-17 22:53:24,708 INFO L263 TraceCheckUtils]: 32: Hoare triple {2815#(not (= ~p_dw_pc~0 ~q_free~0))} call do_write_p(); {2854#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:24,709 INFO L280 TraceCheckUtils]: 33: Hoare triple {2854#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} is VALID [2020-07-17 22:53:24,710 INFO L280 TraceCheckUtils]: 34: Hoare triple {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} assume !false; {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} is VALID [2020-07-17 22:53:24,711 INFO L280 TraceCheckUtils]: 35: Hoare triple {2855#(and (= 0 |old(~p_dw_pc~0)|) (= |old(~q_free~0)| ~q_free~0))} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} is VALID [2020-07-17 22:53:24,711 INFO L280 TraceCheckUtils]: 36: Hoare triple {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} assume true; {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} is VALID [2020-07-17 22:53:24,712 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {2856#(= |old(~p_dw_pc~0)| |old(~q_free~0)|)} {2815#(not (= ~p_dw_pc~0 ~q_free~0))} #274#return; {2808#false} is VALID [2020-07-17 22:53:24,712 INFO L280 TraceCheckUtils]: 38: Hoare triple {2808#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {2808#false} is VALID [2020-07-17 22:53:24,713 INFO L280 TraceCheckUtils]: 39: Hoare triple {2808#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {2808#false} is VALID [2020-07-17 22:53:24,713 INFO L263 TraceCheckUtils]: 40: Hoare triple {2808#false} call do_read_c(); {2808#false} is VALID [2020-07-17 22:53:24,713 INFO L280 TraceCheckUtils]: 41: Hoare triple {2808#false} havoc ~a~0; {2808#false} is VALID [2020-07-17 22:53:24,713 INFO L280 TraceCheckUtils]: 42: Hoare triple {2808#false} assume 0 == ~c_dr_pc~0; {2808#false} is VALID [2020-07-17 22:53:24,714 INFO L280 TraceCheckUtils]: 43: Hoare triple {2808#false} assume !false; {2808#false} is VALID [2020-07-17 22:53:24,714 INFO L280 TraceCheckUtils]: 44: Hoare triple {2808#false} assume !(1 == ~q_free~0); {2808#false} is VALID [2020-07-17 22:53:24,714 INFO L280 TraceCheckUtils]: 45: Hoare triple {2808#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {2808#false} is VALID [2020-07-17 22:53:24,714 INFO L263 TraceCheckUtils]: 46: Hoare triple {2808#false} call immediate_notify_threads(); {2853#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:24,714 INFO L280 TraceCheckUtils]: 47: Hoare triple {2853#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {2807#true} is VALID [2020-07-17 22:53:24,715 INFO L263 TraceCheckUtils]: 48: Hoare triple {2807#true} call #t~ret0 := is_do_write_p_triggered(); {2807#true} is VALID [2020-07-17 22:53:24,715 INFO L280 TraceCheckUtils]: 49: Hoare triple {2807#true} havoc ~__retres1~0; {2807#true} is VALID [2020-07-17 22:53:24,715 INFO L280 TraceCheckUtils]: 50: Hoare triple {2807#true} assume 1 == ~p_dw_pc~0; {2807#true} is VALID [2020-07-17 22:53:24,715 INFO L280 TraceCheckUtils]: 51: Hoare triple {2807#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {2807#true} is VALID [2020-07-17 22:53:24,716 INFO L280 TraceCheckUtils]: 52: Hoare triple {2807#true} #res := ~__retres1~0; {2807#true} is VALID [2020-07-17 22:53:24,716 INFO L280 TraceCheckUtils]: 53: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,716 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {2807#true} {2807#true} #268#return; {2807#true} is VALID [2020-07-17 22:53:24,716 INFO L280 TraceCheckUtils]: 55: Hoare triple {2807#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {2807#true} is VALID [2020-07-17 22:53:24,717 INFO L280 TraceCheckUtils]: 56: Hoare triple {2807#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,717 INFO L263 TraceCheckUtils]: 57: Hoare triple {2807#true} call #t~ret1 := is_do_read_c_triggered(); {2807#true} is VALID [2020-07-17 22:53:24,717 INFO L280 TraceCheckUtils]: 58: Hoare triple {2807#true} havoc ~__retres1~1; {2807#true} is VALID [2020-07-17 22:53:24,717 INFO L280 TraceCheckUtils]: 59: Hoare triple {2807#true} assume 1 == ~c_dr_pc~0; {2807#true} is VALID [2020-07-17 22:53:24,718 INFO L280 TraceCheckUtils]: 60: Hoare triple {2807#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {2807#true} is VALID [2020-07-17 22:53:24,718 INFO L280 TraceCheckUtils]: 61: Hoare triple {2807#true} #res := ~__retres1~1; {2807#true} is VALID [2020-07-17 22:53:24,718 INFO L280 TraceCheckUtils]: 62: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,718 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2807#true} {2807#true} #270#return; {2807#true} is VALID [2020-07-17 22:53:24,719 INFO L280 TraceCheckUtils]: 64: Hoare triple {2807#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {2807#true} is VALID [2020-07-17 22:53:24,719 INFO L280 TraceCheckUtils]: 65: Hoare triple {2807#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {2807#true} is VALID [2020-07-17 22:53:24,719 INFO L280 TraceCheckUtils]: 66: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-17 22:53:24,720 INFO L275 TraceCheckUtils]: 67: Hoare quadruple {2807#true} {2808#false} #290#return; {2808#false} is VALID [2020-07-17 22:53:24,720 INFO L280 TraceCheckUtils]: 68: Hoare triple {2808#false} ~q_read_ev~0 := 2; {2808#false} is VALID [2020-07-17 22:53:24,720 INFO L280 TraceCheckUtils]: 69: Hoare triple {2808#false} assume !(~p_last_write~0 == ~c_last_read~0); {2808#false} is VALID [2020-07-17 22:53:24,720 INFO L263 TraceCheckUtils]: 70: Hoare triple {2808#false} call error(); {2808#false} is VALID [2020-07-17 22:53:24,721 INFO L280 TraceCheckUtils]: 71: Hoare triple {2808#false} assume !false; {2808#false} is VALID [2020-07-17 22:53:24,728 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:53:24,729 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1003147843] [2020-07-17 22:53:24,729 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:24,729 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-17 22:53:24,729 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [903913464] [2020-07-17 22:53:24,730 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 72 [2020-07-17 22:53:24,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:24,731 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:53:24,817 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:24,817 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:53:24,818 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:24,818 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:53:24,818 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:53:24,818 INFO L87 Difference]: Start difference. First operand 182 states and 241 transitions. Second operand 9 states. [2020-07-17 22:53:30,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:30,406 INFO L93 Difference]: Finished difference Result 582 states and 869 transitions. [2020-07-17 22:53:30,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-17 22:53:30,406 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 72 [2020-07-17 22:53:30,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:53:30,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:53:30,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-17 22:53:30,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:53:30,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-17 22:53:30,437 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 460 transitions. [2020-07-17 22:53:31,323 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 460 edges. 460 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:31,349 INFO L225 Difference]: With dead ends: 582 [2020-07-17 22:53:31,349 INFO L226 Difference]: Without dead ends: 417 [2020-07-17 22:53:31,352 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2020-07-17 22:53:31,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 417 states. [2020-07-17 22:53:32,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 417 to 336. [2020-07-17 22:53:32,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:53:32,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 417 states. Second operand 336 states. [2020-07-17 22:53:32,389 INFO L74 IsIncluded]: Start isIncluded. First operand 417 states. Second operand 336 states. [2020-07-17 22:53:32,389 INFO L87 Difference]: Start difference. First operand 417 states. Second operand 336 states. [2020-07-17 22:53:32,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:32,457 INFO L93 Difference]: Finished difference Result 417 states and 631 transitions. [2020-07-17 22:53:32,457 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 631 transitions. [2020-07-17 22:53:32,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:32,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:32,464 INFO L74 IsIncluded]: Start isIncluded. First operand 336 states. Second operand 417 states. [2020-07-17 22:53:32,464 INFO L87 Difference]: Start difference. First operand 336 states. Second operand 417 states. [2020-07-17 22:53:32,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:32,503 INFO L93 Difference]: Finished difference Result 417 states and 631 transitions. [2020-07-17 22:53:32,504 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 631 transitions. [2020-07-17 22:53:32,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:32,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:32,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:53:32,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:53:32,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 336 states. [2020-07-17 22:53:32,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 336 states to 336 states and 490 transitions. [2020-07-17 22:53:32,538 INFO L78 Accepts]: Start accepts. Automaton has 336 states and 490 transitions. Word has length 72 [2020-07-17 22:53:32,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:53:32,539 INFO L479 AbstractCegarLoop]: Abstraction has 336 states and 490 transitions. [2020-07-17 22:53:32,539 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:53:32,539 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 490 transitions. [2020-07-17 22:53:32,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-17 22:53:32,546 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:53:32,547 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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-07-17 22:53:32,548 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-17 22:53:32,548 INFO L427 AbstractCegarLoop]: === Iteration 4 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:53:32,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:53:32,549 INFO L82 PathProgramCache]: Analyzing trace with hash -2098500188, now seen corresponding path program 1 times [2020-07-17 22:53:32,549 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:53:32,549 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [744219935] [2020-07-17 22:53:32,572 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:53:32,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,773 INFO L280 TraceCheckUtils]: 0: Hoare triple {5069#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {5022#true} is VALID [2020-07-17 22:53:32,773 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:32,774 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5022#true} {5022#true} #286#return; {5022#true} is VALID [2020-07-17 22:53:32,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,821 INFO L280 TraceCheckUtils]: 0: Hoare triple {5070#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:32,824 INFO L280 TraceCheckUtils]: 1: Hoare triple {5030#(<= 1 ~q_free~0)} assume true; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:32,826 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5030#(<= 1 ~q_free~0)} {5022#true} #262#return; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:32,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,866 INFO L280 TraceCheckUtils]: 0: Hoare triple {5071#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:32,867 INFO L280 TraceCheckUtils]: 1: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:32,867 INFO L280 TraceCheckUtils]: 2: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:32,868 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5072#(= 0 ~p_dw_st~0)} {5030#(<= 1 ~q_free~0)} #280#return; {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:32,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,890 INFO L280 TraceCheckUtils]: 0: Hoare triple {5022#true} havoc ~__retres1~2; {5022#true} is VALID [2020-07-17 22:53:32,891 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:32,891 INFO L280 TraceCheckUtils]: 2: Hoare triple {5072#(= 0 ~p_dw_st~0)} #res := ~__retres1~2; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:32,892 INFO L280 TraceCheckUtils]: 3: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:32,893 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5072#(= 0 ~p_dw_st~0)} {5035#(not (= ~p_dw_st~0 ~q_free~0))} #272#return; {5041#(not (= 0 ~q_free~0))} is VALID [2020-07-17 22:53:32,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,970 INFO L280 TraceCheckUtils]: 0: Hoare triple {5073#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume !(0 == ~p_dw_pc~0); {5074#(= |old(~q_free~0)| ~q_free~0)} is VALID [2020-07-17 22:53:32,971 INFO L280 TraceCheckUtils]: 1: Hoare triple {5074#(= |old(~q_free~0)| ~q_free~0)} assume !(1 == ~p_dw_pc~0); {5074#(= |old(~q_free~0)| ~q_free~0)} is VALID [2020-07-17 22:53:32,972 INFO L280 TraceCheckUtils]: 2: Hoare triple {5074#(= |old(~q_free~0)| ~q_free~0)} assume !false; {5074#(= |old(~q_free~0)| ~q_free~0)} is VALID [2020-07-17 22:53:32,972 INFO L280 TraceCheckUtils]: 3: Hoare triple {5074#(= |old(~q_free~0)| ~q_free~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {5075#(= 0 |old(~q_free~0)|)} is VALID [2020-07-17 22:53:32,973 INFO L280 TraceCheckUtils]: 4: Hoare triple {5075#(= 0 |old(~q_free~0)|)} assume true; {5075#(= 0 |old(~q_free~0)|)} is VALID [2020-07-17 22:53:32,974 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5075#(= 0 |old(~q_free~0)|)} {5041#(not (= 0 ~q_free~0))} #274#return; {5023#false} is VALID [2020-07-17 22:53:32,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:32,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:33,002 INFO L280 TraceCheckUtils]: 0: Hoare triple {5022#true} havoc ~__retres1~0; {5022#true} is VALID [2020-07-17 22:53:33,002 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume 1 == ~p_dw_pc~0; {5022#true} is VALID [2020-07-17 22:53:33,003 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {5022#true} is VALID [2020-07-17 22:53:33,003 INFO L280 TraceCheckUtils]: 3: Hoare triple {5022#true} #res := ~__retres1~0; {5022#true} is VALID [2020-07-17 22:53:33,003 INFO L280 TraceCheckUtils]: 4: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,003 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5022#true} {5022#true} #268#return; {5022#true} is VALID [2020-07-17 22:53:33,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:33,009 INFO L280 TraceCheckUtils]: 0: Hoare triple {5022#true} havoc ~__retres1~1; {5022#true} is VALID [2020-07-17 22:53:33,009 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume 1 == ~c_dr_pc~0; {5022#true} is VALID [2020-07-17 22:53:33,010 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {5022#true} is VALID [2020-07-17 22:53:33,010 INFO L280 TraceCheckUtils]: 3: Hoare triple {5022#true} #res := ~__retres1~1; {5022#true} is VALID [2020-07-17 22:53:33,010 INFO L280 TraceCheckUtils]: 4: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,010 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5022#true} {5022#true} #270#return; {5022#true} is VALID [2020-07-17 22:53:33,011 INFO L280 TraceCheckUtils]: 0: Hoare triple {5071#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {5022#true} is VALID [2020-07-17 22:53:33,011 INFO L263 TraceCheckUtils]: 1: Hoare triple {5022#true} call #t~ret0 := is_do_write_p_triggered(); {5022#true} is VALID [2020-07-17 22:53:33,011 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} havoc ~__retres1~0; {5022#true} is VALID [2020-07-17 22:53:33,011 INFO L280 TraceCheckUtils]: 3: Hoare triple {5022#true} assume 1 == ~p_dw_pc~0; {5022#true} is VALID [2020-07-17 22:53:33,012 INFO L280 TraceCheckUtils]: 4: Hoare triple {5022#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {5022#true} is VALID [2020-07-17 22:53:33,012 INFO L280 TraceCheckUtils]: 5: Hoare triple {5022#true} #res := ~__retres1~0; {5022#true} is VALID [2020-07-17 22:53:33,012 INFO L280 TraceCheckUtils]: 6: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,012 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5022#true} {5022#true} #268#return; {5022#true} is VALID [2020-07-17 22:53:33,013 INFO L280 TraceCheckUtils]: 8: Hoare triple {5022#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {5022#true} is VALID [2020-07-17 22:53:33,013 INFO L280 TraceCheckUtils]: 9: Hoare triple {5022#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {5022#true} is VALID [2020-07-17 22:53:33,013 INFO L263 TraceCheckUtils]: 10: Hoare triple {5022#true} call #t~ret1 := is_do_read_c_triggered(); {5022#true} is VALID [2020-07-17 22:53:33,013 INFO L280 TraceCheckUtils]: 11: Hoare triple {5022#true} havoc ~__retres1~1; {5022#true} is VALID [2020-07-17 22:53:33,013 INFO L280 TraceCheckUtils]: 12: Hoare triple {5022#true} assume 1 == ~c_dr_pc~0; {5022#true} is VALID [2020-07-17 22:53:33,014 INFO L280 TraceCheckUtils]: 13: Hoare triple {5022#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {5022#true} is VALID [2020-07-17 22:53:33,014 INFO L280 TraceCheckUtils]: 14: Hoare triple {5022#true} #res := ~__retres1~1; {5022#true} is VALID [2020-07-17 22:53:33,014 INFO L280 TraceCheckUtils]: 15: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,014 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5022#true} {5022#true} #270#return; {5022#true} is VALID [2020-07-17 22:53:33,015 INFO L280 TraceCheckUtils]: 17: Hoare triple {5022#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {5022#true} is VALID [2020-07-17 22:53:33,015 INFO L280 TraceCheckUtils]: 18: Hoare triple {5022#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {5022#true} is VALID [2020-07-17 22:53:33,015 INFO L280 TraceCheckUtils]: 19: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,016 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {5022#true} {5023#false} #290#return; {5023#false} is VALID [2020-07-17 22:53:33,019 INFO L263 TraceCheckUtils]: 0: Hoare triple {5022#true} call ULTIMATE.init(); {5069#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:33,019 INFO L280 TraceCheckUtils]: 1: Hoare triple {5069#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {5022#true} is VALID [2020-07-17 22:53:33,020 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,020 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5022#true} {5022#true} #286#return; {5022#true} is VALID [2020-07-17 22:53:33,020 INFO L263 TraceCheckUtils]: 4: Hoare triple {5022#true} call #t~ret8 := main(); {5022#true} is VALID [2020-07-17 22:53:33,020 INFO L280 TraceCheckUtils]: 5: Hoare triple {5022#true} havoc ~__retres1~3; {5022#true} is VALID [2020-07-17 22:53:33,021 INFO L263 TraceCheckUtils]: 6: Hoare triple {5022#true} call init_model(); {5070#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:33,022 INFO L280 TraceCheckUtils]: 7: Hoare triple {5070#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:33,023 INFO L280 TraceCheckUtils]: 8: Hoare triple {5030#(<= 1 ~q_free~0)} assume true; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:33,024 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5030#(<= 1 ~q_free~0)} {5022#true} #262#return; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:33,024 INFO L263 TraceCheckUtils]: 10: Hoare triple {5030#(<= 1 ~q_free~0)} call start_simulation(); {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:33,025 INFO L280 TraceCheckUtils]: 11: Hoare triple {5030#(<= 1 ~q_free~0)} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-17 22:53:33,026 INFO L263 TraceCheckUtils]: 12: Hoare triple {5030#(<= 1 ~q_free~0)} call init_threads(); {5071#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:33,026 INFO L280 TraceCheckUtils]: 13: Hoare triple {5071#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:33,027 INFO L280 TraceCheckUtils]: 14: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:33,027 INFO L280 TraceCheckUtils]: 15: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:33,028 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5072#(= 0 ~p_dw_st~0)} {5030#(<= 1 ~q_free~0)} #280#return; {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:33,029 INFO L280 TraceCheckUtils]: 17: Hoare triple {5035#(not (= ~p_dw_st~0 ~q_free~0))} assume !false; {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:33,029 INFO L280 TraceCheckUtils]: 18: Hoare triple {5035#(not (= ~p_dw_st~0 ~q_free~0))} ~kernel_st~0 := 1; {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:33,030 INFO L263 TraceCheckUtils]: 19: Hoare triple {5035#(not (= ~p_dw_st~0 ~q_free~0))} call eval(); {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:33,030 INFO L280 TraceCheckUtils]: 20: Hoare triple {5035#(not (= ~p_dw_st~0 ~q_free~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:33,031 INFO L280 TraceCheckUtils]: 21: Hoare triple {5035#(not (= ~p_dw_st~0 ~q_free~0))} assume !false; {5035#(not (= ~p_dw_st~0 ~q_free~0))} is VALID [2020-07-17 22:53:33,031 INFO L263 TraceCheckUtils]: 22: Hoare triple {5035#(not (= ~p_dw_st~0 ~q_free~0))} call #t~ret3 := exists_runnable_thread(); {5022#true} is VALID [2020-07-17 22:53:33,031 INFO L280 TraceCheckUtils]: 23: Hoare triple {5022#true} havoc ~__retres1~2; {5022#true} is VALID [2020-07-17 22:53:33,032 INFO L280 TraceCheckUtils]: 24: Hoare triple {5022#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:33,033 INFO L280 TraceCheckUtils]: 25: Hoare triple {5072#(= 0 ~p_dw_st~0)} #res := ~__retres1~2; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:33,033 INFO L280 TraceCheckUtils]: 26: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-17 22:53:33,034 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5072#(= 0 ~p_dw_st~0)} {5035#(not (= ~p_dw_st~0 ~q_free~0))} #272#return; {5041#(not (= 0 ~q_free~0))} is VALID [2020-07-17 22:53:33,034 INFO L280 TraceCheckUtils]: 28: Hoare triple {5041#(not (= 0 ~q_free~0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {5041#(not (= 0 ~q_free~0))} is VALID [2020-07-17 22:53:33,035 INFO L280 TraceCheckUtils]: 29: Hoare triple {5041#(not (= 0 ~q_free~0))} assume 0 != ~tmp___1~0; {5041#(not (= 0 ~q_free~0))} is VALID [2020-07-17 22:53:33,036 INFO L280 TraceCheckUtils]: 30: Hoare triple {5041#(not (= 0 ~q_free~0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {5041#(not (= 0 ~q_free~0))} is VALID [2020-07-17 22:53:33,036 INFO L280 TraceCheckUtils]: 31: Hoare triple {5041#(not (= 0 ~q_free~0))} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {5041#(not (= 0 ~q_free~0))} is VALID [2020-07-17 22:53:33,037 INFO L263 TraceCheckUtils]: 32: Hoare triple {5041#(not (= 0 ~q_free~0))} call do_write_p(); {5073#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:33,038 INFO L280 TraceCheckUtils]: 33: Hoare triple {5073#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume !(0 == ~p_dw_pc~0); {5074#(= |old(~q_free~0)| ~q_free~0)} is VALID [2020-07-17 22:53:33,040 INFO L280 TraceCheckUtils]: 34: Hoare triple {5074#(= |old(~q_free~0)| ~q_free~0)} assume !(1 == ~p_dw_pc~0); {5074#(= |old(~q_free~0)| ~q_free~0)} is VALID [2020-07-17 22:53:33,042 INFO L280 TraceCheckUtils]: 35: Hoare triple {5074#(= |old(~q_free~0)| ~q_free~0)} assume !false; {5074#(= |old(~q_free~0)| ~q_free~0)} is VALID [2020-07-17 22:53:33,043 INFO L280 TraceCheckUtils]: 36: Hoare triple {5074#(= |old(~q_free~0)| ~q_free~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {5075#(= 0 |old(~q_free~0)|)} is VALID [2020-07-17 22:53:33,043 INFO L280 TraceCheckUtils]: 37: Hoare triple {5075#(= 0 |old(~q_free~0)|)} assume true; {5075#(= 0 |old(~q_free~0)|)} is VALID [2020-07-17 22:53:33,045 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {5075#(= 0 |old(~q_free~0)|)} {5041#(not (= 0 ~q_free~0))} #274#return; {5023#false} is VALID [2020-07-17 22:53:33,045 INFO L280 TraceCheckUtils]: 39: Hoare triple {5023#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {5023#false} is VALID [2020-07-17 22:53:33,046 INFO L280 TraceCheckUtils]: 40: Hoare triple {5023#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {5023#false} is VALID [2020-07-17 22:53:33,046 INFO L263 TraceCheckUtils]: 41: Hoare triple {5023#false} call do_read_c(); {5023#false} is VALID [2020-07-17 22:53:33,046 INFO L280 TraceCheckUtils]: 42: Hoare triple {5023#false} havoc ~a~0; {5023#false} is VALID [2020-07-17 22:53:33,047 INFO L280 TraceCheckUtils]: 43: Hoare triple {5023#false} assume 0 == ~c_dr_pc~0; {5023#false} is VALID [2020-07-17 22:53:33,047 INFO L280 TraceCheckUtils]: 44: Hoare triple {5023#false} assume !false; {5023#false} is VALID [2020-07-17 22:53:33,047 INFO L280 TraceCheckUtils]: 45: Hoare triple {5023#false} assume !(1 == ~q_free~0); {5023#false} is VALID [2020-07-17 22:53:33,047 INFO L280 TraceCheckUtils]: 46: Hoare triple {5023#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {5023#false} is VALID [2020-07-17 22:53:33,048 INFO L263 TraceCheckUtils]: 47: Hoare triple {5023#false} call immediate_notify_threads(); {5071#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:33,048 INFO L280 TraceCheckUtils]: 48: Hoare triple {5071#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {5022#true} is VALID [2020-07-17 22:53:33,048 INFO L263 TraceCheckUtils]: 49: Hoare triple {5022#true} call #t~ret0 := is_do_write_p_triggered(); {5022#true} is VALID [2020-07-17 22:53:33,049 INFO L280 TraceCheckUtils]: 50: Hoare triple {5022#true} havoc ~__retres1~0; {5022#true} is VALID [2020-07-17 22:53:33,049 INFO L280 TraceCheckUtils]: 51: Hoare triple {5022#true} assume 1 == ~p_dw_pc~0; {5022#true} is VALID [2020-07-17 22:53:33,049 INFO L280 TraceCheckUtils]: 52: Hoare triple {5022#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {5022#true} is VALID [2020-07-17 22:53:33,050 INFO L280 TraceCheckUtils]: 53: Hoare triple {5022#true} #res := ~__retres1~0; {5022#true} is VALID [2020-07-17 22:53:33,050 INFO L280 TraceCheckUtils]: 54: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,050 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {5022#true} {5022#true} #268#return; {5022#true} is VALID [2020-07-17 22:53:33,050 INFO L280 TraceCheckUtils]: 56: Hoare triple {5022#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {5022#true} is VALID [2020-07-17 22:53:33,050 INFO L280 TraceCheckUtils]: 57: Hoare triple {5022#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {5022#true} is VALID [2020-07-17 22:53:33,051 INFO L263 TraceCheckUtils]: 58: Hoare triple {5022#true} call #t~ret1 := is_do_read_c_triggered(); {5022#true} is VALID [2020-07-17 22:53:33,051 INFO L280 TraceCheckUtils]: 59: Hoare triple {5022#true} havoc ~__retres1~1; {5022#true} is VALID [2020-07-17 22:53:33,051 INFO L280 TraceCheckUtils]: 60: Hoare triple {5022#true} assume 1 == ~c_dr_pc~0; {5022#true} is VALID [2020-07-17 22:53:33,051 INFO L280 TraceCheckUtils]: 61: Hoare triple {5022#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {5022#true} is VALID [2020-07-17 22:53:33,052 INFO L280 TraceCheckUtils]: 62: Hoare triple {5022#true} #res := ~__retres1~1; {5022#true} is VALID [2020-07-17 22:53:33,052 INFO L280 TraceCheckUtils]: 63: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,052 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {5022#true} {5022#true} #270#return; {5022#true} is VALID [2020-07-17 22:53:33,052 INFO L280 TraceCheckUtils]: 65: Hoare triple {5022#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {5022#true} is VALID [2020-07-17 22:53:33,052 INFO L280 TraceCheckUtils]: 66: Hoare triple {5022#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {5022#true} is VALID [2020-07-17 22:53:33,053 INFO L280 TraceCheckUtils]: 67: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-17 22:53:33,053 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {5022#true} {5023#false} #290#return; {5023#false} is VALID [2020-07-17 22:53:33,053 INFO L280 TraceCheckUtils]: 69: Hoare triple {5023#false} ~q_read_ev~0 := 2; {5023#false} is VALID [2020-07-17 22:53:33,053 INFO L280 TraceCheckUtils]: 70: Hoare triple {5023#false} assume !(~p_last_write~0 == ~c_last_read~0); {5023#false} is VALID [2020-07-17 22:53:33,054 INFO L263 TraceCheckUtils]: 71: Hoare triple {5023#false} call error(); {5023#false} is VALID [2020-07-17 22:53:33,054 INFO L280 TraceCheckUtils]: 72: Hoare triple {5023#false} assume !false; {5023#false} is VALID [2020-07-17 22:53:33,062 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:53:33,063 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [744219935] [2020-07-17 22:53:33,064 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:33,064 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-17 22:53:33,065 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [286264166] [2020-07-17 22:53:33,066 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 73 [2020-07-17 22:53:33,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:33,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-17 22:53:33,148 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:33,148 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-17 22:53:33,148 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:33,149 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-17 22:53:33,149 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2020-07-17 22:53:33,149 INFO L87 Difference]: Start difference. First operand 336 states and 490 transitions. Second operand 12 states. [2020-07-17 22:53:46,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:46,333 INFO L93 Difference]: Finished difference Result 873 states and 1358 transitions. [2020-07-17 22:53:46,333 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2020-07-17 22:53:46,333 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 73 [2020-07-17 22:53:46,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:53:46,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-17 22:53:46,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 841 transitions. [2020-07-17 22:53:46,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-17 22:53:46,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 841 transitions. [2020-07-17 22:53:46,370 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 841 transitions. [2020-07-17 22:53:48,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 841 edges. 841 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:48,866 INFO L225 Difference]: With dead ends: 873 [2020-07-17 22:53:48,867 INFO L226 Difference]: Without dead ends: 554 [2020-07-17 22:53:48,873 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 277 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=278, Invalid=912, Unknown=0, NotChecked=0, Total=1190 [2020-07-17 22:53:48,875 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 554 states. [2020-07-17 22:53:49,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 554 to 211. [2020-07-17 22:53:49,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:53:49,901 INFO L82 GeneralOperation]: Start isEquivalent. First operand 554 states. Second operand 211 states. [2020-07-17 22:53:49,902 INFO L74 IsIncluded]: Start isIncluded. First operand 554 states. Second operand 211 states. [2020-07-17 22:53:49,902 INFO L87 Difference]: Start difference. First operand 554 states. Second operand 211 states. [2020-07-17 22:53:49,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:49,963 INFO L93 Difference]: Finished difference Result 554 states and 832 transitions. [2020-07-17 22:53:49,964 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 832 transitions. [2020-07-17 22:53:49,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:49,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:49,973 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand 554 states. [2020-07-17 22:53:49,973 INFO L87 Difference]: Start difference. First operand 211 states. Second operand 554 states. [2020-07-17 22:53:50,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:50,039 INFO L93 Difference]: Finished difference Result 554 states and 832 transitions. [2020-07-17 22:53:50,039 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 832 transitions. [2020-07-17 22:53:50,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:50,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:50,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:53:50,049 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:53:50,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 211 states. [2020-07-17 22:53:50,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 211 states to 211 states and 276 transitions. [2020-07-17 22:53:50,064 INFO L78 Accepts]: Start accepts. Automaton has 211 states and 276 transitions. Word has length 73 [2020-07-17 22:53:50,065 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:53:50,065 INFO L479 AbstractCegarLoop]: Abstraction has 211 states and 276 transitions. [2020-07-17 22:53:50,065 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-17 22:53:50,065 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 276 transitions. [2020-07-17 22:53:50,066 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:53:50,067 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:53:50,067 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 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-07-17 22:53:50,068 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-17 22:53:50,069 INFO L427 AbstractCegarLoop]: === Iteration 5 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:53:50,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:53:50,070 INFO L82 PathProgramCache]: Analyzing trace with hash -708931582, now seen corresponding path program 1 times [2020-07-17 22:53:50,070 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:53:50,071 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [971565117] [2020-07-17 22:53:50,071 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:53:50,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,319 INFO L280 TraceCheckUtils]: 0: Hoare triple {7825#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {7786#true} is VALID [2020-07-17 22:53:50,323 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,323 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7786#true} {7786#true} #286#return; {7786#true} is VALID [2020-07-17 22:53:50,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,404 INFO L280 TraceCheckUtils]: 0: Hoare triple {7826#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {7827#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:53:50,405 INFO L280 TraceCheckUtils]: 1: Hoare triple {7827#(<= ~p_dw_pc~0 0)} assume true; {7827#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:53:50,406 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7827#(<= ~p_dw_pc~0 0)} {7786#true} #262#return; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,451 INFO L280 TraceCheckUtils]: 0: Hoare triple {7828#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {7786#true} is VALID [2020-07-17 22:53:50,452 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {7786#true} is VALID [2020-07-17 22:53:50,452 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,454 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7786#true} {7794#(not (= 1 ~p_dw_pc~0))} #280#return; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,464 INFO L280 TraceCheckUtils]: 0: Hoare triple {7786#true} havoc ~__retres1~2; {7786#true} is VALID [2020-07-17 22:53:50,464 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {7786#true} is VALID [2020-07-17 22:53:50,464 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} #res := ~__retres1~2; {7786#true} is VALID [2020-07-17 22:53:50,465 INFO L280 TraceCheckUtils]: 3: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,466 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7786#true} {7794#(not (= 1 ~p_dw_pc~0))} #272#return; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,543 INFO L280 TraceCheckUtils]: 0: Hoare triple {7786#true} havoc ~__retres1~0; {7786#true} is VALID [2020-07-17 22:53:50,545 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 1 == ~p_dw_pc~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,547 INFO L280 TraceCheckUtils]: 2: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,549 INFO L280 TraceCheckUtils]: 3: Hoare triple {7835#(= 1 ~p_dw_pc~0)} #res := ~__retres1~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,550 INFO L280 TraceCheckUtils]: 4: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,552 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7835#(= 1 ~p_dw_pc~0)} {7786#true} #268#return; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:50,575 INFO L280 TraceCheckUtils]: 0: Hoare triple {7786#true} havoc ~__retres1~1; {7786#true} is VALID [2020-07-17 22:53:50,575 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 1 == ~c_dr_pc~0; {7786#true} is VALID [2020-07-17 22:53:50,575 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {7786#true} is VALID [2020-07-17 22:53:50,576 INFO L280 TraceCheckUtils]: 3: Hoare triple {7786#true} #res := ~__retres1~1; {7786#true} is VALID [2020-07-17 22:53:50,576 INFO L280 TraceCheckUtils]: 4: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,577 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7786#true} {7835#(= 1 ~p_dw_pc~0)} #270#return; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,578 INFO L280 TraceCheckUtils]: 0: Hoare triple {7828#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {7786#true} is VALID [2020-07-17 22:53:50,578 INFO L263 TraceCheckUtils]: 1: Hoare triple {7786#true} call #t~ret0 := is_do_write_p_triggered(); {7786#true} is VALID [2020-07-17 22:53:50,578 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} havoc ~__retres1~0; {7786#true} is VALID [2020-07-17 22:53:50,580 INFO L280 TraceCheckUtils]: 3: Hoare triple {7786#true} assume 1 == ~p_dw_pc~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,580 INFO L280 TraceCheckUtils]: 4: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,586 INFO L280 TraceCheckUtils]: 5: Hoare triple {7835#(= 1 ~p_dw_pc~0)} #res := ~__retres1~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,588 INFO L280 TraceCheckUtils]: 6: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,589 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7835#(= 1 ~p_dw_pc~0)} {7786#true} #268#return; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,589 INFO L280 TraceCheckUtils]: 8: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,590 INFO L280 TraceCheckUtils]: 9: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,590 INFO L263 TraceCheckUtils]: 10: Hoare triple {7835#(= 1 ~p_dw_pc~0)} call #t~ret1 := is_do_read_c_triggered(); {7786#true} is VALID [2020-07-17 22:53:50,591 INFO L280 TraceCheckUtils]: 11: Hoare triple {7786#true} havoc ~__retres1~1; {7786#true} is VALID [2020-07-17 22:53:50,591 INFO L280 TraceCheckUtils]: 12: Hoare triple {7786#true} assume 1 == ~c_dr_pc~0; {7786#true} is VALID [2020-07-17 22:53:50,592 INFO L280 TraceCheckUtils]: 13: Hoare triple {7786#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {7786#true} is VALID [2020-07-17 22:53:50,592 INFO L280 TraceCheckUtils]: 14: Hoare triple {7786#true} #res := ~__retres1~1; {7786#true} is VALID [2020-07-17 22:53:50,593 INFO L280 TraceCheckUtils]: 15: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,595 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7786#true} {7835#(= 1 ~p_dw_pc~0)} #270#return; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,596 INFO L280 TraceCheckUtils]: 17: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,598 INFO L280 TraceCheckUtils]: 18: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,598 INFO L280 TraceCheckUtils]: 19: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,599 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {7835#(= 1 ~p_dw_pc~0)} {7794#(not (= 1 ~p_dw_pc~0))} #290#return; {7787#false} is VALID [2020-07-17 22:53:50,602 INFO L263 TraceCheckUtils]: 0: Hoare triple {7786#true} call ULTIMATE.init(); {7825#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:50,603 INFO L280 TraceCheckUtils]: 1: Hoare triple {7825#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {7786#true} is VALID [2020-07-17 22:53:50,603 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,603 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7786#true} {7786#true} #286#return; {7786#true} is VALID [2020-07-17 22:53:50,604 INFO L263 TraceCheckUtils]: 4: Hoare triple {7786#true} call #t~ret8 := main(); {7786#true} is VALID [2020-07-17 22:53:50,604 INFO L280 TraceCheckUtils]: 5: Hoare triple {7786#true} havoc ~__retres1~3; {7786#true} is VALID [2020-07-17 22:53:50,606 INFO L263 TraceCheckUtils]: 6: Hoare triple {7786#true} call init_model(); {7826#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:50,607 INFO L280 TraceCheckUtils]: 7: Hoare triple {7826#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {7827#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:53:50,608 INFO L280 TraceCheckUtils]: 8: Hoare triple {7827#(<= ~p_dw_pc~0 0)} assume true; {7827#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:53:50,609 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {7827#(<= ~p_dw_pc~0 0)} {7786#true} #262#return; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,609 INFO L263 TraceCheckUtils]: 10: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} call start_simulation(); {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,611 INFO L280 TraceCheckUtils]: 11: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,612 INFO L263 TraceCheckUtils]: 12: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} call init_threads(); {7828#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:50,612 INFO L280 TraceCheckUtils]: 13: Hoare triple {7828#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {7786#true} is VALID [2020-07-17 22:53:50,612 INFO L280 TraceCheckUtils]: 14: Hoare triple {7786#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {7786#true} is VALID [2020-07-17 22:53:50,612 INFO L280 TraceCheckUtils]: 15: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,613 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7786#true} {7794#(not (= 1 ~p_dw_pc~0))} #280#return; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,614 INFO L280 TraceCheckUtils]: 17: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume !false; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,615 INFO L280 TraceCheckUtils]: 18: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} ~kernel_st~0 := 1; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,616 INFO L263 TraceCheckUtils]: 19: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} call eval(); {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,617 INFO L280 TraceCheckUtils]: 20: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,618 INFO L280 TraceCheckUtils]: 21: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume !false; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,618 INFO L263 TraceCheckUtils]: 22: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} call #t~ret3 := exists_runnable_thread(); {7786#true} is VALID [2020-07-17 22:53:50,618 INFO L280 TraceCheckUtils]: 23: Hoare triple {7786#true} havoc ~__retres1~2; {7786#true} is VALID [2020-07-17 22:53:50,619 INFO L280 TraceCheckUtils]: 24: Hoare triple {7786#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {7786#true} is VALID [2020-07-17 22:53:50,619 INFO L280 TraceCheckUtils]: 25: Hoare triple {7786#true} #res := ~__retres1~2; {7786#true} is VALID [2020-07-17 22:53:50,619 INFO L280 TraceCheckUtils]: 26: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,620 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {7786#true} {7794#(not (= 1 ~p_dw_pc~0))} #272#return; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,621 INFO L280 TraceCheckUtils]: 28: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,622 INFO L280 TraceCheckUtils]: 29: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume 0 != ~tmp___1~0; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,622 INFO L280 TraceCheckUtils]: 30: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,624 INFO L280 TraceCheckUtils]: 31: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume !(0 != ~tmp~1); {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,626 INFO L280 TraceCheckUtils]: 32: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,627 INFO L280 TraceCheckUtils]: 33: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,629 INFO L263 TraceCheckUtils]: 34: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} call do_read_c(); {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,629 INFO L280 TraceCheckUtils]: 35: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} havoc ~a~0; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,630 INFO L280 TraceCheckUtils]: 36: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume 0 == ~c_dr_pc~0; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,631 INFO L280 TraceCheckUtils]: 37: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume !false; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,631 INFO L280 TraceCheckUtils]: 38: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} assume !(1 == ~q_free~0); {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,632 INFO L280 TraceCheckUtils]: 39: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {7794#(not (= 1 ~p_dw_pc~0))} is VALID [2020-07-17 22:53:50,634 INFO L263 TraceCheckUtils]: 40: Hoare triple {7794#(not (= 1 ~p_dw_pc~0))} call immediate_notify_threads(); {7828#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:50,634 INFO L280 TraceCheckUtils]: 41: Hoare triple {7828#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {7786#true} is VALID [2020-07-17 22:53:50,635 INFO L263 TraceCheckUtils]: 42: Hoare triple {7786#true} call #t~ret0 := is_do_write_p_triggered(); {7786#true} is VALID [2020-07-17 22:53:50,635 INFO L280 TraceCheckUtils]: 43: Hoare triple {7786#true} havoc ~__retres1~0; {7786#true} is VALID [2020-07-17 22:53:50,637 INFO L280 TraceCheckUtils]: 44: Hoare triple {7786#true} assume 1 == ~p_dw_pc~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,638 INFO L280 TraceCheckUtils]: 45: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,639 INFO L280 TraceCheckUtils]: 46: Hoare triple {7835#(= 1 ~p_dw_pc~0)} #res := ~__retres1~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,640 INFO L280 TraceCheckUtils]: 47: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,641 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {7835#(= 1 ~p_dw_pc~0)} {7786#true} #268#return; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,641 INFO L280 TraceCheckUtils]: 49: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,642 INFO L280 TraceCheckUtils]: 50: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,642 INFO L263 TraceCheckUtils]: 51: Hoare triple {7835#(= 1 ~p_dw_pc~0)} call #t~ret1 := is_do_read_c_triggered(); {7786#true} is VALID [2020-07-17 22:53:50,643 INFO L280 TraceCheckUtils]: 52: Hoare triple {7786#true} havoc ~__retres1~1; {7786#true} is VALID [2020-07-17 22:53:50,643 INFO L280 TraceCheckUtils]: 53: Hoare triple {7786#true} assume 1 == ~c_dr_pc~0; {7786#true} is VALID [2020-07-17 22:53:50,643 INFO L280 TraceCheckUtils]: 54: Hoare triple {7786#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {7786#true} is VALID [2020-07-17 22:53:50,644 INFO L280 TraceCheckUtils]: 55: Hoare triple {7786#true} #res := ~__retres1~1; {7786#true} is VALID [2020-07-17 22:53:50,644 INFO L280 TraceCheckUtils]: 56: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-17 22:53:50,646 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {7786#true} {7835#(= 1 ~p_dw_pc~0)} #270#return; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,648 INFO L280 TraceCheckUtils]: 58: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,649 INFO L280 TraceCheckUtils]: 59: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,650 INFO L280 TraceCheckUtils]: 60: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-17 22:53:50,650 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {7835#(= 1 ~p_dw_pc~0)} {7794#(not (= 1 ~p_dw_pc~0))} #290#return; {7787#false} is VALID [2020-07-17 22:53:50,651 INFO L280 TraceCheckUtils]: 62: Hoare triple {7787#false} ~q_read_ev~0 := 2; {7787#false} is VALID [2020-07-17 22:53:50,651 INFO L280 TraceCheckUtils]: 63: Hoare triple {7787#false} assume !(~p_last_write~0 == ~c_last_read~0); {7787#false} is VALID [2020-07-17 22:53:50,651 INFO L263 TraceCheckUtils]: 64: Hoare triple {7787#false} call error(); {7787#false} is VALID [2020-07-17 22:53:50,651 INFO L280 TraceCheckUtils]: 65: Hoare triple {7787#false} assume !false; {7787#false} is VALID [2020-07-17 22:53:50,662 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:53:50,663 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [971565117] [2020-07-17 22:53:50,663 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:50,663 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-17 22:53:50,664 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1782479367] [2020-07-17 22:53:50,665 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 66 [2020-07-17 22:53:50,666 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:50,666 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:53:50,778 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:50,779 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:53:50,779 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:50,780 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:53:50,781 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:53:50,781 INFO L87 Difference]: Start difference. First operand 211 states and 276 transitions. Second operand 8 states. [2020-07-17 22:53:56,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:56,970 INFO L93 Difference]: Finished difference Result 612 states and 874 transitions. [2020-07-17 22:53:56,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-17 22:53:56,971 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 66 [2020-07-17 22:53:56,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:53:56,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:53:56,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 466 transitions. [2020-07-17 22:53:56,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:53:56,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 466 transitions. [2020-07-17 22:53:56,991 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 466 transitions. [2020-07-17 22:53:58,013 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 466 edges. 466 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:58,033 INFO L225 Difference]: With dead ends: 612 [2020-07-17 22:53:58,034 INFO L226 Difference]: Without dead ends: 418 [2020-07-17 22:53:58,035 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:53:58,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 418 states. [2020-07-17 22:53:59,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 418 to 323. [2020-07-17 22:53:59,199 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:53:59,199 INFO L82 GeneralOperation]: Start isEquivalent. First operand 418 states. Second operand 323 states. [2020-07-17 22:53:59,199 INFO L74 IsIncluded]: Start isIncluded. First operand 418 states. Second operand 323 states. [2020-07-17 22:53:59,199 INFO L87 Difference]: Start difference. First operand 418 states. Second operand 323 states. [2020-07-17 22:53:59,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:59,219 INFO L93 Difference]: Finished difference Result 418 states and 565 transitions. [2020-07-17 22:53:59,219 INFO L276 IsEmpty]: Start isEmpty. Operand 418 states and 565 transitions. [2020-07-17 22:53:59,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:59,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:59,223 INFO L74 IsIncluded]: Start isIncluded. First operand 323 states. Second operand 418 states. [2020-07-17 22:53:59,224 INFO L87 Difference]: Start difference. First operand 323 states. Second operand 418 states. [2020-07-17 22:53:59,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:53:59,244 INFO L93 Difference]: Finished difference Result 418 states and 565 transitions. [2020-07-17 22:53:59,244 INFO L276 IsEmpty]: Start isEmpty. Operand 418 states and 565 transitions. [2020-07-17 22:53:59,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:53:59,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:53:59,246 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:53:59,246 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:53:59,246 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 323 states. [2020-07-17 22:53:59,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 323 states to 323 states and 419 transitions. [2020-07-17 22:53:59,260 INFO L78 Accepts]: Start accepts. Automaton has 323 states and 419 transitions. Word has length 66 [2020-07-17 22:53:59,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:53:59,261 INFO L479 AbstractCegarLoop]: Abstraction has 323 states and 419 transitions. [2020-07-17 22:53:59,261 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:53:59,261 INFO L276 IsEmpty]: Start isEmpty. Operand 323 states and 419 transitions. [2020-07-17 22:53:59,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:53:59,262 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:53:59,262 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 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-07-17 22:53:59,262 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-17 22:53:59,262 INFO L427 AbstractCegarLoop]: === Iteration 6 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:53:59,262 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:53:59,263 INFO L82 PathProgramCache]: Analyzing trace with hash -822318239, now seen corresponding path program 1 times [2020-07-17 22:53:59,263 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:53:59,263 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [788907369] [2020-07-17 22:53:59,263 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:53:59,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,374 INFO L280 TraceCheckUtils]: 0: Hoare triple {10039#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,374 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,375 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {10001#true} {10001#true} #286#return; {10001#true} is VALID [2020-07-17 22:53:59,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,407 INFO L280 TraceCheckUtils]: 0: Hoare triple {10040#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {10001#true} is VALID [2020-07-17 22:53:59,407 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,408 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {10001#true} {10001#true} #262#return; {10001#true} is VALID [2020-07-17 22:53:59,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,421 INFO L280 TraceCheckUtils]: 0: Hoare triple {10041#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,422 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,422 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,422 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10001#true} {10001#true} #280#return; {10001#true} is VALID [2020-07-17 22:53:59,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,425 INFO L280 TraceCheckUtils]: 0: Hoare triple {10001#true} havoc ~__retres1~2; {10001#true} is VALID [2020-07-17 22:53:59,426 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {10001#true} is VALID [2020-07-17 22:53:59,426 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} #res := ~__retres1~2; {10001#true} is VALID [2020-07-17 22:53:59,427 INFO L280 TraceCheckUtils]: 3: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,427 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10001#true} {10001#true} #272#return; {10001#true} is VALID [2020-07-17 22:53:59,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,535 INFO L280 TraceCheckUtils]: 0: Hoare triple {10001#true} havoc ~__retres1~0; {10001#true} is VALID [2020-07-17 22:53:59,536 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume !(1 == ~p_dw_pc~0); {10001#true} is VALID [2020-07-17 22:53:59,537 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} ~__retres1~0 := 0; {10056#(and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))} is VALID [2020-07-17 22:53:59,539 INFO L280 TraceCheckUtils]: 3: Hoare triple {10056#(and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))} #res := ~__retres1~0; {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} is VALID [2020-07-17 22:53:59,540 INFO L280 TraceCheckUtils]: 4: Hoare triple {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} assume true; {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} is VALID [2020-07-17 22:53:59,540 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} {10001#true} #268#return; {10048#(and (<= |immediate_notify_threads_#t~ret0| 0) (<= 0 |immediate_notify_threads_#t~ret0|))} is VALID [2020-07-17 22:53:59,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:53:59,551 INFO L280 TraceCheckUtils]: 0: Hoare triple {10001#true} havoc ~__retres1~1; {10001#true} is VALID [2020-07-17 22:53:59,552 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume 1 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-17 22:53:59,552 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {10001#true} is VALID [2020-07-17 22:53:59,552 INFO L280 TraceCheckUtils]: 3: Hoare triple {10001#true} #res := ~__retres1~1; {10001#true} is VALID [2020-07-17 22:53:59,552 INFO L280 TraceCheckUtils]: 4: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,553 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10001#true} {10002#false} #270#return; {10002#false} is VALID [2020-07-17 22:53:59,553 INFO L280 TraceCheckUtils]: 0: Hoare triple {10041#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {10001#true} is VALID [2020-07-17 22:53:59,553 INFO L263 TraceCheckUtils]: 1: Hoare triple {10001#true} call #t~ret0 := is_do_write_p_triggered(); {10001#true} is VALID [2020-07-17 22:53:59,553 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} havoc ~__retres1~0; {10001#true} is VALID [2020-07-17 22:53:59,554 INFO L280 TraceCheckUtils]: 3: Hoare triple {10001#true} assume !(1 == ~p_dw_pc~0); {10001#true} is VALID [2020-07-17 22:53:59,555 INFO L280 TraceCheckUtils]: 4: Hoare triple {10001#true} ~__retres1~0 := 0; {10056#(and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))} is VALID [2020-07-17 22:53:59,557 INFO L280 TraceCheckUtils]: 5: Hoare triple {10056#(and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))} #res := ~__retres1~0; {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} is VALID [2020-07-17 22:53:59,559 INFO L280 TraceCheckUtils]: 6: Hoare triple {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} assume true; {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} is VALID [2020-07-17 22:53:59,561 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} {10001#true} #268#return; {10048#(and (<= |immediate_notify_threads_#t~ret0| 0) (<= 0 |immediate_notify_threads_#t~ret0|))} is VALID [2020-07-17 22:53:59,562 INFO L280 TraceCheckUtils]: 8: Hoare triple {10048#(and (<= |immediate_notify_threads_#t~ret0| 0) (<= 0 |immediate_notify_threads_#t~ret0|))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {10049#(and (< 0 (+ immediate_notify_threads_~tmp~0 1)) (<= immediate_notify_threads_~tmp~0 0))} is VALID [2020-07-17 22:53:59,562 INFO L280 TraceCheckUtils]: 9: Hoare triple {10049#(and (< 0 (+ immediate_notify_threads_~tmp~0 1)) (<= immediate_notify_threads_~tmp~0 0))} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {10002#false} is VALID [2020-07-17 22:53:59,563 INFO L263 TraceCheckUtils]: 10: Hoare triple {10002#false} call #t~ret1 := is_do_read_c_triggered(); {10001#true} is VALID [2020-07-17 22:53:59,563 INFO L280 TraceCheckUtils]: 11: Hoare triple {10001#true} havoc ~__retres1~1; {10001#true} is VALID [2020-07-17 22:53:59,563 INFO L280 TraceCheckUtils]: 12: Hoare triple {10001#true} assume 1 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-17 22:53:59,563 INFO L280 TraceCheckUtils]: 13: Hoare triple {10001#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {10001#true} is VALID [2020-07-17 22:53:59,563 INFO L280 TraceCheckUtils]: 14: Hoare triple {10001#true} #res := ~__retres1~1; {10001#true} is VALID [2020-07-17 22:53:59,564 INFO L280 TraceCheckUtils]: 15: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,564 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {10001#true} {10002#false} #270#return; {10002#false} is VALID [2020-07-17 22:53:59,564 INFO L280 TraceCheckUtils]: 17: Hoare triple {10002#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {10002#false} is VALID [2020-07-17 22:53:59,564 INFO L280 TraceCheckUtils]: 18: Hoare triple {10002#false} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {10002#false} is VALID [2020-07-17 22:53:59,564 INFO L280 TraceCheckUtils]: 19: Hoare triple {10002#false} assume true; {10002#false} is VALID [2020-07-17 22:53:59,565 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {10002#false} {10001#true} #290#return; {10002#false} is VALID [2020-07-17 22:53:59,583 INFO L263 TraceCheckUtils]: 0: Hoare triple {10001#true} call ULTIMATE.init(); {10039#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:59,584 INFO L280 TraceCheckUtils]: 1: Hoare triple {10039#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,584 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,584 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10001#true} {10001#true} #286#return; {10001#true} is VALID [2020-07-17 22:53:59,584 INFO L263 TraceCheckUtils]: 4: Hoare triple {10001#true} call #t~ret8 := main(); {10001#true} is VALID [2020-07-17 22:53:59,585 INFO L280 TraceCheckUtils]: 5: Hoare triple {10001#true} havoc ~__retres1~3; {10001#true} is VALID [2020-07-17 22:53:59,586 INFO L263 TraceCheckUtils]: 6: Hoare triple {10001#true} call init_model(); {10040#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:53:59,586 INFO L280 TraceCheckUtils]: 7: Hoare triple {10040#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {10001#true} is VALID [2020-07-17 22:53:59,586 INFO L280 TraceCheckUtils]: 8: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,587 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {10001#true} {10001#true} #262#return; {10001#true} is VALID [2020-07-17 22:53:59,587 INFO L263 TraceCheckUtils]: 10: Hoare triple {10001#true} call start_simulation(); {10001#true} is VALID [2020-07-17 22:53:59,587 INFO L280 TraceCheckUtils]: 11: Hoare triple {10001#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,588 INFO L263 TraceCheckUtils]: 12: Hoare triple {10001#true} call init_threads(); {10041#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:59,588 INFO L280 TraceCheckUtils]: 13: Hoare triple {10041#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,588 INFO L280 TraceCheckUtils]: 14: Hoare triple {10001#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {10001#true} is VALID [2020-07-17 22:53:59,588 INFO L280 TraceCheckUtils]: 15: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,589 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {10001#true} {10001#true} #280#return; {10001#true} is VALID [2020-07-17 22:53:59,589 INFO L280 TraceCheckUtils]: 17: Hoare triple {10001#true} assume !false; {10001#true} is VALID [2020-07-17 22:53:59,589 INFO L280 TraceCheckUtils]: 18: Hoare triple {10001#true} ~kernel_st~0 := 1; {10001#true} is VALID [2020-07-17 22:53:59,589 INFO L263 TraceCheckUtils]: 19: Hoare triple {10001#true} call eval(); {10001#true} is VALID [2020-07-17 22:53:59,589 INFO L280 TraceCheckUtils]: 20: Hoare triple {10001#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {10001#true} is VALID [2020-07-17 22:53:59,590 INFO L280 TraceCheckUtils]: 21: Hoare triple {10001#true} assume !false; {10001#true} is VALID [2020-07-17 22:53:59,590 INFO L263 TraceCheckUtils]: 22: Hoare triple {10001#true} call #t~ret3 := exists_runnable_thread(); {10001#true} is VALID [2020-07-17 22:53:59,590 INFO L280 TraceCheckUtils]: 23: Hoare triple {10001#true} havoc ~__retres1~2; {10001#true} is VALID [2020-07-17 22:53:59,590 INFO L280 TraceCheckUtils]: 24: Hoare triple {10001#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {10001#true} is VALID [2020-07-17 22:53:59,590 INFO L280 TraceCheckUtils]: 25: Hoare triple {10001#true} #res := ~__retres1~2; {10001#true} is VALID [2020-07-17 22:53:59,591 INFO L280 TraceCheckUtils]: 26: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,591 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {10001#true} {10001#true} #272#return; {10001#true} is VALID [2020-07-17 22:53:59,591 INFO L280 TraceCheckUtils]: 28: Hoare triple {10001#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {10001#true} is VALID [2020-07-17 22:53:59,591 INFO L280 TraceCheckUtils]: 29: Hoare triple {10001#true} assume 0 != ~tmp___1~0; {10001#true} is VALID [2020-07-17 22:53:59,592 INFO L280 TraceCheckUtils]: 30: Hoare triple {10001#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {10001#true} is VALID [2020-07-17 22:53:59,592 INFO L280 TraceCheckUtils]: 31: Hoare triple {10001#true} assume !(0 != ~tmp~1); {10001#true} is VALID [2020-07-17 22:53:59,592 INFO L280 TraceCheckUtils]: 32: Hoare triple {10001#true} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {10001#true} is VALID [2020-07-17 22:53:59,593 INFO L280 TraceCheckUtils]: 33: Hoare triple {10001#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {10001#true} is VALID [2020-07-17 22:53:59,593 INFO L263 TraceCheckUtils]: 34: Hoare triple {10001#true} call do_read_c(); {10001#true} is VALID [2020-07-17 22:53:59,593 INFO L280 TraceCheckUtils]: 35: Hoare triple {10001#true} havoc ~a~0; {10001#true} is VALID [2020-07-17 22:53:59,593 INFO L280 TraceCheckUtils]: 36: Hoare triple {10001#true} assume 0 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-17 22:53:59,594 INFO L280 TraceCheckUtils]: 37: Hoare triple {10001#true} assume !false; {10001#true} is VALID [2020-07-17 22:53:59,594 INFO L280 TraceCheckUtils]: 38: Hoare triple {10001#true} assume !(1 == ~q_free~0); {10001#true} is VALID [2020-07-17 22:53:59,594 INFO L280 TraceCheckUtils]: 39: Hoare triple {10001#true} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {10001#true} is VALID [2020-07-17 22:53:59,596 INFO L263 TraceCheckUtils]: 40: Hoare triple {10001#true} call immediate_notify_threads(); {10041#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:53:59,597 INFO L280 TraceCheckUtils]: 41: Hoare triple {10041#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {10001#true} is VALID [2020-07-17 22:53:59,597 INFO L263 TraceCheckUtils]: 42: Hoare triple {10001#true} call #t~ret0 := is_do_write_p_triggered(); {10001#true} is VALID [2020-07-17 22:53:59,597 INFO L280 TraceCheckUtils]: 43: Hoare triple {10001#true} havoc ~__retres1~0; {10001#true} is VALID [2020-07-17 22:53:59,597 INFO L280 TraceCheckUtils]: 44: Hoare triple {10001#true} assume !(1 == ~p_dw_pc~0); {10001#true} is VALID [2020-07-17 22:53:59,599 INFO L280 TraceCheckUtils]: 45: Hoare triple {10001#true} ~__retres1~0 := 0; {10056#(and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))} is VALID [2020-07-17 22:53:59,600 INFO L280 TraceCheckUtils]: 46: Hoare triple {10056#(and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))} #res := ~__retres1~0; {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} is VALID [2020-07-17 22:53:59,602 INFO L280 TraceCheckUtils]: 47: Hoare triple {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} assume true; {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} is VALID [2020-07-17 22:53:59,603 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {10057#(and (<= |is_do_write_p_triggered_#res| 0) (<= 0 |is_do_write_p_triggered_#res|))} {10001#true} #268#return; {10048#(and (<= |immediate_notify_threads_#t~ret0| 0) (<= 0 |immediate_notify_threads_#t~ret0|))} is VALID [2020-07-17 22:53:59,605 INFO L280 TraceCheckUtils]: 49: Hoare triple {10048#(and (<= |immediate_notify_threads_#t~ret0| 0) (<= 0 |immediate_notify_threads_#t~ret0|))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {10049#(and (< 0 (+ immediate_notify_threads_~tmp~0 1)) (<= immediate_notify_threads_~tmp~0 0))} is VALID [2020-07-17 22:53:59,608 INFO L280 TraceCheckUtils]: 50: Hoare triple {10049#(and (< 0 (+ immediate_notify_threads_~tmp~0 1)) (<= immediate_notify_threads_~tmp~0 0))} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {10002#false} is VALID [2020-07-17 22:53:59,608 INFO L263 TraceCheckUtils]: 51: Hoare triple {10002#false} call #t~ret1 := is_do_read_c_triggered(); {10001#true} is VALID [2020-07-17 22:53:59,609 INFO L280 TraceCheckUtils]: 52: Hoare triple {10001#true} havoc ~__retres1~1; {10001#true} is VALID [2020-07-17 22:53:59,609 INFO L280 TraceCheckUtils]: 53: Hoare triple {10001#true} assume 1 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-17 22:53:59,609 INFO L280 TraceCheckUtils]: 54: Hoare triple {10001#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {10001#true} is VALID [2020-07-17 22:53:59,609 INFO L280 TraceCheckUtils]: 55: Hoare triple {10001#true} #res := ~__retres1~1; {10001#true} is VALID [2020-07-17 22:53:59,609 INFO L280 TraceCheckUtils]: 56: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-17 22:53:59,610 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {10001#true} {10002#false} #270#return; {10002#false} is VALID [2020-07-17 22:53:59,610 INFO L280 TraceCheckUtils]: 58: Hoare triple {10002#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {10002#false} is VALID [2020-07-17 22:53:59,610 INFO L280 TraceCheckUtils]: 59: Hoare triple {10002#false} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {10002#false} is VALID [2020-07-17 22:53:59,610 INFO L280 TraceCheckUtils]: 60: Hoare triple {10002#false} assume true; {10002#false} is VALID [2020-07-17 22:53:59,611 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {10002#false} {10001#true} #290#return; {10002#false} is VALID [2020-07-17 22:53:59,611 INFO L280 TraceCheckUtils]: 62: Hoare triple {10002#false} ~q_read_ev~0 := 2; {10002#false} is VALID [2020-07-17 22:53:59,611 INFO L280 TraceCheckUtils]: 63: Hoare triple {10002#false} assume !(~p_last_write~0 == ~c_last_read~0); {10002#false} is VALID [2020-07-17 22:53:59,611 INFO L263 TraceCheckUtils]: 64: Hoare triple {10002#false} call error(); {10002#false} is VALID [2020-07-17 22:53:59,612 INFO L280 TraceCheckUtils]: 65: Hoare triple {10002#false} assume !false; {10002#false} is VALID [2020-07-17 22:53:59,618 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:53:59,619 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [788907369] [2020-07-17 22:53:59,622 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:53:59,622 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-17 22:53:59,623 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2041176668] [2020-07-17 22:53:59,624 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-17 22:53:59,624 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:53:59,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:53:59,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:53:59,725 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:53:59,726 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:53:59,727 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:53:59,727 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:53:59,728 INFO L87 Difference]: Start difference. First operand 323 states and 419 transitions. Second operand 9 states. [2020-07-17 22:54:04,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:04,399 INFO L93 Difference]: Finished difference Result 727 states and 1002 transitions. [2020-07-17 22:54:04,400 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-17 22:54:04,400 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-17 22:54:04,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:54:04,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:54:04,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 313 transitions. [2020-07-17 22:54:04,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:54:04,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 313 transitions. [2020-07-17 22:54:04,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 313 transitions. [2020-07-17 22:54:05,003 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:05,024 INFO L225 Difference]: With dead ends: 727 [2020-07-17 22:54:05,024 INFO L226 Difference]: Without dead ends: 421 [2020-07-17 22:54:05,027 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:54:05,028 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 421 states. [2020-07-17 22:54:06,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 421 to 341. [2020-07-17 22:54:06,258 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:54:06,259 INFO L82 GeneralOperation]: Start isEquivalent. First operand 421 states. Second operand 341 states. [2020-07-17 22:54:06,259 INFO L74 IsIncluded]: Start isIncluded. First operand 421 states. Second operand 341 states. [2020-07-17 22:54:06,260 INFO L87 Difference]: Start difference. First operand 421 states. Second operand 341 states. [2020-07-17 22:54:06,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:06,278 INFO L93 Difference]: Finished difference Result 421 states and 563 transitions. [2020-07-17 22:54:06,278 INFO L276 IsEmpty]: Start isEmpty. Operand 421 states and 563 transitions. [2020-07-17 22:54:06,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:06,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:06,281 INFO L74 IsIncluded]: Start isIncluded. First operand 341 states. Second operand 421 states. [2020-07-17 22:54:06,281 INFO L87 Difference]: Start difference. First operand 341 states. Second operand 421 states. [2020-07-17 22:54:06,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:06,303 INFO L93 Difference]: Finished difference Result 421 states and 563 transitions. [2020-07-17 22:54:06,303 INFO L276 IsEmpty]: Start isEmpty. Operand 421 states and 563 transitions. [2020-07-17 22:54:06,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:06,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:06,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:54:06,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:54:06,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 341 states. [2020-07-17 22:54:06,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 437 transitions. [2020-07-17 22:54:06,320 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 437 transitions. Word has length 66 [2020-07-17 22:54:06,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:54:06,321 INFO L479 AbstractCegarLoop]: Abstraction has 341 states and 437 transitions. [2020-07-17 22:54:06,321 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:54:06,321 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 437 transitions. [2020-07-17 22:54:06,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:54:06,322 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:54:06,322 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 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-07-17 22:54:06,322 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-17 22:54:06,322 INFO L427 AbstractCegarLoop]: === Iteration 7 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:54:06,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:54:06,323 INFO L82 PathProgramCache]: Analyzing trace with hash -1843386593, now seen corresponding path program 1 times [2020-07-17 22:54:06,323 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:54:06,323 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544980649] [2020-07-17 22:54:06,323 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:54:06,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,438 INFO L280 TraceCheckUtils]: 0: Hoare triple {12432#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {12392#true} is VALID [2020-07-17 22:54:06,438 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,439 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {12392#true} {12392#true} #286#return; {12392#true} is VALID [2020-07-17 22:54:06,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,480 INFO L280 TraceCheckUtils]: 0: Hoare triple {12433#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {12392#true} is VALID [2020-07-17 22:54:06,480 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,480 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {12392#true} {12392#true} #262#return; {12392#true} is VALID [2020-07-17 22:54:06,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,508 INFO L280 TraceCheckUtils]: 0: Hoare triple {12434#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:06,508 INFO L280 TraceCheckUtils]: 1: Hoare triple {12435#(<= ~p_dw_st~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:06,509 INFO L280 TraceCheckUtils]: 2: Hoare triple {12435#(<= ~p_dw_st~0 0)} assume true; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:06,509 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12435#(<= ~p_dw_st~0 0)} {12392#true} #280#return; {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,515 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#true} havoc ~__retres1~2; {12392#true} is VALID [2020-07-17 22:54:06,516 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {12392#true} is VALID [2020-07-17 22:54:06,516 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} #res := ~__retres1~2; {12392#true} is VALID [2020-07-17 22:54:06,516 INFO L280 TraceCheckUtils]: 3: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,517 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12392#true} {12404#(not (= 1 ~p_dw_st~0))} #272#return; {12392#true} is VALID [2020-07-17 22:54:06,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,545 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#true} havoc ~__retres1~0; {12392#true} is VALID [2020-07-17 22:54:06,546 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume !(1 == ~p_dw_pc~0); {12392#true} is VALID [2020-07-17 22:54:06,547 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} ~__retres1~0 := 0; {12392#true} is VALID [2020-07-17 22:54:06,547 INFO L280 TraceCheckUtils]: 3: Hoare triple {12392#true} #res := ~__retres1~0; {12392#true} is VALID [2020-07-17 22:54:06,547 INFO L280 TraceCheckUtils]: 4: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,547 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12392#true} {12392#true} #268#return; {12392#true} is VALID [2020-07-17 22:54:06,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:06,554 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#true} havoc ~__retres1~1; {12392#true} is VALID [2020-07-17 22:54:06,554 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume 1 == ~c_dr_pc~0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,555 INFO L280 TraceCheckUtils]: 2: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,555 INFO L280 TraceCheckUtils]: 3: Hoare triple {12448#(= 1 ~c_dr_pc~0)} #res := ~__retres1~1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,556 INFO L280 TraceCheckUtils]: 4: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,558 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12448#(= 1 ~c_dr_pc~0)} {12392#true} #270#return; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,559 INFO L280 TraceCheckUtils]: 0: Hoare triple {12434#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {12392#true} is VALID [2020-07-17 22:54:06,559 INFO L263 TraceCheckUtils]: 1: Hoare triple {12392#true} call #t~ret0 := is_do_write_p_triggered(); {12392#true} is VALID [2020-07-17 22:54:06,559 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} havoc ~__retres1~0; {12392#true} is VALID [2020-07-17 22:54:06,559 INFO L280 TraceCheckUtils]: 3: Hoare triple {12392#true} assume !(1 == ~p_dw_pc~0); {12392#true} is VALID [2020-07-17 22:54:06,560 INFO L280 TraceCheckUtils]: 4: Hoare triple {12392#true} ~__retres1~0 := 0; {12392#true} is VALID [2020-07-17 22:54:06,560 INFO L280 TraceCheckUtils]: 5: Hoare triple {12392#true} #res := ~__retres1~0; {12392#true} is VALID [2020-07-17 22:54:06,560 INFO L280 TraceCheckUtils]: 6: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,560 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {12392#true} {12392#true} #268#return; {12392#true} is VALID [2020-07-17 22:54:06,561 INFO L280 TraceCheckUtils]: 8: Hoare triple {12392#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {12392#true} is VALID [2020-07-17 22:54:06,561 INFO L280 TraceCheckUtils]: 9: Hoare triple {12392#true} assume !(0 != ~tmp~0); {12392#true} is VALID [2020-07-17 22:54:06,561 INFO L263 TraceCheckUtils]: 10: Hoare triple {12392#true} call #t~ret1 := is_do_read_c_triggered(); {12392#true} is VALID [2020-07-17 22:54:06,561 INFO L280 TraceCheckUtils]: 11: Hoare triple {12392#true} havoc ~__retres1~1; {12392#true} is VALID [2020-07-17 22:54:06,562 INFO L280 TraceCheckUtils]: 12: Hoare triple {12392#true} assume 1 == ~c_dr_pc~0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,563 INFO L280 TraceCheckUtils]: 13: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,563 INFO L280 TraceCheckUtils]: 14: Hoare triple {12448#(= 1 ~c_dr_pc~0)} #res := ~__retres1~1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,564 INFO L280 TraceCheckUtils]: 15: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,564 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {12448#(= 1 ~c_dr_pc~0)} {12392#true} #270#return; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,565 INFO L280 TraceCheckUtils]: 17: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,565 INFO L280 TraceCheckUtils]: 18: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,566 INFO L280 TraceCheckUtils]: 19: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,566 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {12448#(= 1 ~c_dr_pc~0)} {12410#(not (= ~c_dr_pc~0 1))} #290#return; {12393#false} is VALID [2020-07-17 22:54:06,568 INFO L263 TraceCheckUtils]: 0: Hoare triple {12392#true} call ULTIMATE.init(); {12432#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:06,569 INFO L280 TraceCheckUtils]: 1: Hoare triple {12432#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {12392#true} is VALID [2020-07-17 22:54:06,569 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,569 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12392#true} {12392#true} #286#return; {12392#true} is VALID [2020-07-17 22:54:06,569 INFO L263 TraceCheckUtils]: 4: Hoare triple {12392#true} call #t~ret8 := main(); {12392#true} is VALID [2020-07-17 22:54:06,569 INFO L280 TraceCheckUtils]: 5: Hoare triple {12392#true} havoc ~__retres1~3; {12392#true} is VALID [2020-07-17 22:54:06,571 INFO L263 TraceCheckUtils]: 6: Hoare triple {12392#true} call init_model(); {12433#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:06,572 INFO L280 TraceCheckUtils]: 7: Hoare triple {12433#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {12392#true} is VALID [2020-07-17 22:54:06,572 INFO L280 TraceCheckUtils]: 8: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,572 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {12392#true} {12392#true} #262#return; {12392#true} is VALID [2020-07-17 22:54:06,573 INFO L263 TraceCheckUtils]: 10: Hoare triple {12392#true} call start_simulation(); {12392#true} is VALID [2020-07-17 22:54:06,573 INFO L280 TraceCheckUtils]: 11: Hoare triple {12392#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {12392#true} is VALID [2020-07-17 22:54:06,575 INFO L263 TraceCheckUtils]: 12: Hoare triple {12392#true} call init_threads(); {12434#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:06,576 INFO L280 TraceCheckUtils]: 13: Hoare triple {12434#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:06,576 INFO L280 TraceCheckUtils]: 14: Hoare triple {12435#(<= ~p_dw_st~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:06,577 INFO L280 TraceCheckUtils]: 15: Hoare triple {12435#(<= ~p_dw_st~0 0)} assume true; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:06,577 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {12435#(<= ~p_dw_st~0 0)} {12392#true} #280#return; {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,579 INFO L280 TraceCheckUtils]: 17: Hoare triple {12404#(not (= 1 ~p_dw_st~0))} assume !false; {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,580 INFO L280 TraceCheckUtils]: 18: Hoare triple {12404#(not (= 1 ~p_dw_st~0))} ~kernel_st~0 := 1; {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,582 INFO L263 TraceCheckUtils]: 19: Hoare triple {12404#(not (= 1 ~p_dw_st~0))} call eval(); {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,583 INFO L280 TraceCheckUtils]: 20: Hoare triple {12404#(not (= 1 ~p_dw_st~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,584 INFO L280 TraceCheckUtils]: 21: Hoare triple {12404#(not (= 1 ~p_dw_st~0))} assume !false; {12404#(not (= 1 ~p_dw_st~0))} is VALID [2020-07-17 22:54:06,584 INFO L263 TraceCheckUtils]: 22: Hoare triple {12404#(not (= 1 ~p_dw_st~0))} call #t~ret3 := exists_runnable_thread(); {12392#true} is VALID [2020-07-17 22:54:06,584 INFO L280 TraceCheckUtils]: 23: Hoare triple {12392#true} havoc ~__retres1~2; {12392#true} is VALID [2020-07-17 22:54:06,584 INFO L280 TraceCheckUtils]: 24: Hoare triple {12392#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {12392#true} is VALID [2020-07-17 22:54:06,585 INFO L280 TraceCheckUtils]: 25: Hoare triple {12392#true} #res := ~__retres1~2; {12392#true} is VALID [2020-07-17 22:54:06,585 INFO L280 TraceCheckUtils]: 26: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,585 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {12392#true} {12404#(not (= 1 ~p_dw_st~0))} #272#return; {12392#true} is VALID [2020-07-17 22:54:06,585 INFO L280 TraceCheckUtils]: 28: Hoare triple {12392#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {12392#true} is VALID [2020-07-17 22:54:06,586 INFO L280 TraceCheckUtils]: 29: Hoare triple {12392#true} assume 0 != ~tmp___1~0; {12392#true} is VALID [2020-07-17 22:54:06,586 INFO L280 TraceCheckUtils]: 30: Hoare triple {12392#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {12392#true} is VALID [2020-07-17 22:54:06,586 INFO L280 TraceCheckUtils]: 31: Hoare triple {12392#true} assume !(0 != ~tmp~1); {12392#true} is VALID [2020-07-17 22:54:06,586 INFO L280 TraceCheckUtils]: 32: Hoare triple {12392#true} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {12392#true} is VALID [2020-07-17 22:54:06,587 INFO L280 TraceCheckUtils]: 33: Hoare triple {12392#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {12392#true} is VALID [2020-07-17 22:54:06,587 INFO L263 TraceCheckUtils]: 34: Hoare triple {12392#true} call do_read_c(); {12392#true} is VALID [2020-07-17 22:54:06,587 INFO L280 TraceCheckUtils]: 35: Hoare triple {12392#true} havoc ~a~0; {12392#true} is VALID [2020-07-17 22:54:06,589 INFO L280 TraceCheckUtils]: 36: Hoare triple {12392#true} assume 0 == ~c_dr_pc~0; {12410#(not (= ~c_dr_pc~0 1))} is VALID [2020-07-17 22:54:06,589 INFO L280 TraceCheckUtils]: 37: Hoare triple {12410#(not (= ~c_dr_pc~0 1))} assume !false; {12410#(not (= ~c_dr_pc~0 1))} is VALID [2020-07-17 22:54:06,590 INFO L280 TraceCheckUtils]: 38: Hoare triple {12410#(not (= ~c_dr_pc~0 1))} assume !(1 == ~q_free~0); {12410#(not (= ~c_dr_pc~0 1))} is VALID [2020-07-17 22:54:06,590 INFO L280 TraceCheckUtils]: 39: Hoare triple {12410#(not (= ~c_dr_pc~0 1))} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {12410#(not (= ~c_dr_pc~0 1))} is VALID [2020-07-17 22:54:06,591 INFO L263 TraceCheckUtils]: 40: Hoare triple {12410#(not (= ~c_dr_pc~0 1))} call immediate_notify_threads(); {12434#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:06,591 INFO L280 TraceCheckUtils]: 41: Hoare triple {12434#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {12392#true} is VALID [2020-07-17 22:54:06,592 INFO L263 TraceCheckUtils]: 42: Hoare triple {12392#true} call #t~ret0 := is_do_write_p_triggered(); {12392#true} is VALID [2020-07-17 22:54:06,592 INFO L280 TraceCheckUtils]: 43: Hoare triple {12392#true} havoc ~__retres1~0; {12392#true} is VALID [2020-07-17 22:54:06,592 INFO L280 TraceCheckUtils]: 44: Hoare triple {12392#true} assume !(1 == ~p_dw_pc~0); {12392#true} is VALID [2020-07-17 22:54:06,592 INFO L280 TraceCheckUtils]: 45: Hoare triple {12392#true} ~__retres1~0 := 0; {12392#true} is VALID [2020-07-17 22:54:06,592 INFO L280 TraceCheckUtils]: 46: Hoare triple {12392#true} #res := ~__retres1~0; {12392#true} is VALID [2020-07-17 22:54:06,592 INFO L280 TraceCheckUtils]: 47: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-17 22:54:06,593 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {12392#true} {12392#true} #268#return; {12392#true} is VALID [2020-07-17 22:54:06,593 INFO L280 TraceCheckUtils]: 49: Hoare triple {12392#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {12392#true} is VALID [2020-07-17 22:54:06,593 INFO L280 TraceCheckUtils]: 50: Hoare triple {12392#true} assume !(0 != ~tmp~0); {12392#true} is VALID [2020-07-17 22:54:06,593 INFO L263 TraceCheckUtils]: 51: Hoare triple {12392#true} call #t~ret1 := is_do_read_c_triggered(); {12392#true} is VALID [2020-07-17 22:54:06,593 INFO L280 TraceCheckUtils]: 52: Hoare triple {12392#true} havoc ~__retres1~1; {12392#true} is VALID [2020-07-17 22:54:06,594 INFO L280 TraceCheckUtils]: 53: Hoare triple {12392#true} assume 1 == ~c_dr_pc~0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,596 INFO L280 TraceCheckUtils]: 54: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,597 INFO L280 TraceCheckUtils]: 55: Hoare triple {12448#(= 1 ~c_dr_pc~0)} #res := ~__retres1~1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,598 INFO L280 TraceCheckUtils]: 56: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,600 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {12448#(= 1 ~c_dr_pc~0)} {12392#true} #270#return; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,600 INFO L280 TraceCheckUtils]: 58: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,601 INFO L280 TraceCheckUtils]: 59: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,602 INFO L280 TraceCheckUtils]: 60: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-17 22:54:06,603 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {12448#(= 1 ~c_dr_pc~0)} {12410#(not (= ~c_dr_pc~0 1))} #290#return; {12393#false} is VALID [2020-07-17 22:54:06,604 INFO L280 TraceCheckUtils]: 62: Hoare triple {12393#false} ~q_read_ev~0 := 2; {12393#false} is VALID [2020-07-17 22:54:06,604 INFO L280 TraceCheckUtils]: 63: Hoare triple {12393#false} assume !(~p_last_write~0 == ~c_last_read~0); {12393#false} is VALID [2020-07-17 22:54:06,604 INFO L263 TraceCheckUtils]: 64: Hoare triple {12393#false} call error(); {12393#false} is VALID [2020-07-17 22:54:06,605 INFO L280 TraceCheckUtils]: 65: Hoare triple {12393#false} assume !false; {12393#false} is VALID [2020-07-17 22:54:06,613 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:54:06,613 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544980649] [2020-07-17 22:54:06,613 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:54:06,614 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-17 22:54:06,614 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173342006] [2020-07-17 22:54:06,615 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-17 22:54:06,616 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:54:06,617 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:54:06,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:06,704 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:54:06,705 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:54:06,705 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:54:06,706 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:54:06,706 INFO L87 Difference]: Start difference. First operand 341 states and 437 transitions. Second operand 9 states. [2020-07-17 22:54:19,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:19,547 INFO L93 Difference]: Finished difference Result 1164 states and 1617 transitions. [2020-07-17 22:54:19,547 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-17 22:54:19,547 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-17 22:54:19,548 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:54:19,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:54:19,567 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 819 transitions. [2020-07-17 22:54:19,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:54:19,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 819 transitions. [2020-07-17 22:54:19,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 819 transitions. [2020-07-17 22:54:21,320 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 819 edges. 819 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:21,372 INFO L225 Difference]: With dead ends: 1164 [2020-07-17 22:54:21,373 INFO L226 Difference]: Without dead ends: 840 [2020-07-17 22:54:21,376 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 226 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=200, Invalid=730, Unknown=0, NotChecked=0, Total=930 [2020-07-17 22:54:21,378 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 840 states. [2020-07-17 22:54:23,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 840 to 643. [2020-07-17 22:54:23,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:54:23,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 840 states. Second operand 643 states. [2020-07-17 22:54:23,899 INFO L74 IsIncluded]: Start isIncluded. First operand 840 states. Second operand 643 states. [2020-07-17 22:54:23,899 INFO L87 Difference]: Start difference. First operand 840 states. Second operand 643 states. [2020-07-17 22:54:23,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:23,951 INFO L93 Difference]: Finished difference Result 840 states and 1084 transitions. [2020-07-17 22:54:23,951 INFO L276 IsEmpty]: Start isEmpty. Operand 840 states and 1084 transitions. [2020-07-17 22:54:23,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:23,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:23,956 INFO L74 IsIncluded]: Start isIncluded. First operand 643 states. Second operand 840 states. [2020-07-17 22:54:23,956 INFO L87 Difference]: Start difference. First operand 643 states. Second operand 840 states. [2020-07-17 22:54:24,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:24,015 INFO L93 Difference]: Finished difference Result 840 states and 1084 transitions. [2020-07-17 22:54:24,015 INFO L276 IsEmpty]: Start isEmpty. Operand 840 states and 1084 transitions. [2020-07-17 22:54:24,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:24,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:24,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:54:24,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:54:24,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 643 states. [2020-07-17 22:54:24,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 643 states to 643 states and 815 transitions. [2020-07-17 22:54:24,065 INFO L78 Accepts]: Start accepts. Automaton has 643 states and 815 transitions. Word has length 66 [2020-07-17 22:54:24,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:54:24,066 INFO L479 AbstractCegarLoop]: Abstraction has 643 states and 815 transitions. [2020-07-17 22:54:24,066 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:54:24,066 INFO L276 IsEmpty]: Start isEmpty. Operand 643 states and 815 transitions. [2020-07-17 22:54:24,067 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:54:24,067 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:54:24,068 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 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-07-17 22:54:24,068 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-17 22:54:24,068 INFO L427 AbstractCegarLoop]: === Iteration 8 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:54:24,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:54:24,068 INFO L82 PathProgramCache]: Analyzing trace with hash 1172255968, now seen corresponding path program 1 times [2020-07-17 22:54:24,069 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:54:24,069 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2099477906] [2020-07-17 22:54:24,069 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:54:24,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,187 INFO L280 TraceCheckUtils]: 0: Hoare triple {16719#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,188 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,188 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {16681#true} {16681#true} #286#return; {16681#true} is VALID [2020-07-17 22:54:24,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,235 INFO L280 TraceCheckUtils]: 0: Hoare triple {16720#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {16681#true} is VALID [2020-07-17 22:54:24,236 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,236 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {16681#true} {16681#true} #262#return; {16681#true} is VALID [2020-07-17 22:54:24,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {16721#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,258 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,258 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,258 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {16681#true} {16681#true} #280#return; {16681#true} is VALID [2020-07-17 22:54:24,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,261 INFO L280 TraceCheckUtils]: 0: Hoare triple {16681#true} havoc ~__retres1~2; {16681#true} is VALID [2020-07-17 22:54:24,262 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {16681#true} is VALID [2020-07-17 22:54:24,262 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} #res := ~__retres1~2; {16681#true} is VALID [2020-07-17 22:54:24,262 INFO L280 TraceCheckUtils]: 3: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,262 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16681#true} {16681#true} #272#return; {16681#true} is VALID [2020-07-17 22:54:24,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,363 INFO L280 TraceCheckUtils]: 0: Hoare triple {16681#true} havoc ~__retres1~0; {16681#true} is VALID [2020-07-17 22:54:24,364 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume !(1 == ~p_dw_pc~0); {16681#true} is VALID [2020-07-17 22:54:24,365 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} ~__retres1~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,365 INFO L280 TraceCheckUtils]: 3: Hoare triple {16681#true} #res := ~__retres1~0; {16681#true} is VALID [2020-07-17 22:54:24,366 INFO L280 TraceCheckUtils]: 4: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,366 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16681#true} {16681#true} #268#return; {16681#true} is VALID [2020-07-17 22:54:24,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:24,430 INFO L280 TraceCheckUtils]: 0: Hoare triple {16681#true} havoc ~__retres1~1; {16681#true} is VALID [2020-07-17 22:54:24,431 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume !(1 == ~c_dr_pc~0); {16681#true} is VALID [2020-07-17 22:54:24,433 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} ~__retres1~1 := 0; {16736#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} is VALID [2020-07-17 22:54:24,434 INFO L280 TraceCheckUtils]: 3: Hoare triple {16736#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} #res := ~__retres1~1; {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2020-07-17 22:54:24,435 INFO L280 TraceCheckUtils]: 4: Hoare triple {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} assume true; {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2020-07-17 22:54:24,437 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} {16681#true} #270#return; {16734#(and (<= 0 |immediate_notify_threads_#t~ret1|) (<= |immediate_notify_threads_#t~ret1| 0))} is VALID [2020-07-17 22:54:24,438 INFO L280 TraceCheckUtils]: 0: Hoare triple {16721#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {16681#true} is VALID [2020-07-17 22:54:24,438 INFO L263 TraceCheckUtils]: 1: Hoare triple {16681#true} call #t~ret0 := is_do_write_p_triggered(); {16681#true} is VALID [2020-07-17 22:54:24,438 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} havoc ~__retres1~0; {16681#true} is VALID [2020-07-17 22:54:24,439 INFO L280 TraceCheckUtils]: 3: Hoare triple {16681#true} assume !(1 == ~p_dw_pc~0); {16681#true} is VALID [2020-07-17 22:54:24,439 INFO L280 TraceCheckUtils]: 4: Hoare triple {16681#true} ~__retres1~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,439 INFO L280 TraceCheckUtils]: 5: Hoare triple {16681#true} #res := ~__retres1~0; {16681#true} is VALID [2020-07-17 22:54:24,439 INFO L280 TraceCheckUtils]: 6: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,439 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {16681#true} {16681#true} #268#return; {16681#true} is VALID [2020-07-17 22:54:24,439 INFO L280 TraceCheckUtils]: 8: Hoare triple {16681#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {16681#true} is VALID [2020-07-17 22:54:24,440 INFO L280 TraceCheckUtils]: 9: Hoare triple {16681#true} assume !(0 != ~tmp~0); {16681#true} is VALID [2020-07-17 22:54:24,440 INFO L263 TraceCheckUtils]: 10: Hoare triple {16681#true} call #t~ret1 := is_do_read_c_triggered(); {16681#true} is VALID [2020-07-17 22:54:24,440 INFO L280 TraceCheckUtils]: 11: Hoare triple {16681#true} havoc ~__retres1~1; {16681#true} is VALID [2020-07-17 22:54:24,440 INFO L280 TraceCheckUtils]: 12: Hoare triple {16681#true} assume !(1 == ~c_dr_pc~0); {16681#true} is VALID [2020-07-17 22:54:24,441 INFO L280 TraceCheckUtils]: 13: Hoare triple {16681#true} ~__retres1~1 := 0; {16736#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} is VALID [2020-07-17 22:54:24,444 INFO L280 TraceCheckUtils]: 14: Hoare triple {16736#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} #res := ~__retres1~1; {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2020-07-17 22:54:24,446 INFO L280 TraceCheckUtils]: 15: Hoare triple {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} assume true; {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2020-07-17 22:54:24,447 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} {16681#true} #270#return; {16734#(and (<= 0 |immediate_notify_threads_#t~ret1|) (<= |immediate_notify_threads_#t~ret1| 0))} is VALID [2020-07-17 22:54:24,450 INFO L280 TraceCheckUtils]: 17: Hoare triple {16734#(and (<= 0 |immediate_notify_threads_#t~ret1|) (<= |immediate_notify_threads_#t~ret1| 0))} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {16735#(and (<= immediate_notify_threads_~tmp___0~0 0) (< 0 (+ immediate_notify_threads_~tmp___0~0 1)))} is VALID [2020-07-17 22:54:24,452 INFO L280 TraceCheckUtils]: 18: Hoare triple {16735#(and (<= immediate_notify_threads_~tmp___0~0 0) (< 0 (+ immediate_notify_threads_~tmp___0~0 1)))} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {16682#false} is VALID [2020-07-17 22:54:24,452 INFO L280 TraceCheckUtils]: 19: Hoare triple {16682#false} assume true; {16682#false} is VALID [2020-07-17 22:54:24,452 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {16682#false} {16681#true} #290#return; {16682#false} is VALID [2020-07-17 22:54:24,456 INFO L263 TraceCheckUtils]: 0: Hoare triple {16681#true} call ULTIMATE.init(); {16719#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:24,457 INFO L280 TraceCheckUtils]: 1: Hoare triple {16719#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,457 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,458 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {16681#true} {16681#true} #286#return; {16681#true} is VALID [2020-07-17 22:54:24,458 INFO L263 TraceCheckUtils]: 4: Hoare triple {16681#true} call #t~ret8 := main(); {16681#true} is VALID [2020-07-17 22:54:24,458 INFO L280 TraceCheckUtils]: 5: Hoare triple {16681#true} havoc ~__retres1~3; {16681#true} is VALID [2020-07-17 22:54:24,460 INFO L263 TraceCheckUtils]: 6: Hoare triple {16681#true} call init_model(); {16720#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:24,461 INFO L280 TraceCheckUtils]: 7: Hoare triple {16720#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {16681#true} is VALID [2020-07-17 22:54:24,461 INFO L280 TraceCheckUtils]: 8: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,461 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {16681#true} {16681#true} #262#return; {16681#true} is VALID [2020-07-17 22:54:24,462 INFO L263 TraceCheckUtils]: 10: Hoare triple {16681#true} call start_simulation(); {16681#true} is VALID [2020-07-17 22:54:24,462 INFO L280 TraceCheckUtils]: 11: Hoare triple {16681#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,464 INFO L263 TraceCheckUtils]: 12: Hoare triple {16681#true} call init_threads(); {16721#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:24,465 INFO L280 TraceCheckUtils]: 13: Hoare triple {16721#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,465 INFO L280 TraceCheckUtils]: 14: Hoare triple {16681#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,465 INFO L280 TraceCheckUtils]: 15: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,466 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {16681#true} {16681#true} #280#return; {16681#true} is VALID [2020-07-17 22:54:24,466 INFO L280 TraceCheckUtils]: 17: Hoare triple {16681#true} assume !false; {16681#true} is VALID [2020-07-17 22:54:24,466 INFO L280 TraceCheckUtils]: 18: Hoare triple {16681#true} ~kernel_st~0 := 1; {16681#true} is VALID [2020-07-17 22:54:24,467 INFO L263 TraceCheckUtils]: 19: Hoare triple {16681#true} call eval(); {16681#true} is VALID [2020-07-17 22:54:24,467 INFO L280 TraceCheckUtils]: 20: Hoare triple {16681#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {16681#true} is VALID [2020-07-17 22:54:24,467 INFO L280 TraceCheckUtils]: 21: Hoare triple {16681#true} assume !false; {16681#true} is VALID [2020-07-17 22:54:24,467 INFO L263 TraceCheckUtils]: 22: Hoare triple {16681#true} call #t~ret3 := exists_runnable_thread(); {16681#true} is VALID [2020-07-17 22:54:24,468 INFO L280 TraceCheckUtils]: 23: Hoare triple {16681#true} havoc ~__retres1~2; {16681#true} is VALID [2020-07-17 22:54:24,468 INFO L280 TraceCheckUtils]: 24: Hoare triple {16681#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {16681#true} is VALID [2020-07-17 22:54:24,468 INFO L280 TraceCheckUtils]: 25: Hoare triple {16681#true} #res := ~__retres1~2; {16681#true} is VALID [2020-07-17 22:54:24,469 INFO L280 TraceCheckUtils]: 26: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,469 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {16681#true} {16681#true} #272#return; {16681#true} is VALID [2020-07-17 22:54:24,469 INFO L280 TraceCheckUtils]: 28: Hoare triple {16681#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {16681#true} is VALID [2020-07-17 22:54:24,470 INFO L280 TraceCheckUtils]: 29: Hoare triple {16681#true} assume 0 != ~tmp___1~0; {16681#true} is VALID [2020-07-17 22:54:24,470 INFO L280 TraceCheckUtils]: 30: Hoare triple {16681#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {16681#true} is VALID [2020-07-17 22:54:24,470 INFO L280 TraceCheckUtils]: 31: Hoare triple {16681#true} assume !(0 != ~tmp~1); {16681#true} is VALID [2020-07-17 22:54:24,471 INFO L280 TraceCheckUtils]: 32: Hoare triple {16681#true} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {16681#true} is VALID [2020-07-17 22:54:24,471 INFO L280 TraceCheckUtils]: 33: Hoare triple {16681#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {16681#true} is VALID [2020-07-17 22:54:24,471 INFO L263 TraceCheckUtils]: 34: Hoare triple {16681#true} call do_read_c(); {16681#true} is VALID [2020-07-17 22:54:24,472 INFO L280 TraceCheckUtils]: 35: Hoare triple {16681#true} havoc ~a~0; {16681#true} is VALID [2020-07-17 22:54:24,472 INFO L280 TraceCheckUtils]: 36: Hoare triple {16681#true} assume 0 == ~c_dr_pc~0; {16681#true} is VALID [2020-07-17 22:54:24,472 INFO L280 TraceCheckUtils]: 37: Hoare triple {16681#true} assume !false; {16681#true} is VALID [2020-07-17 22:54:24,473 INFO L280 TraceCheckUtils]: 38: Hoare triple {16681#true} assume !(1 == ~q_free~0); {16681#true} is VALID [2020-07-17 22:54:24,473 INFO L280 TraceCheckUtils]: 39: Hoare triple {16681#true} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {16681#true} is VALID [2020-07-17 22:54:24,475 INFO L263 TraceCheckUtils]: 40: Hoare triple {16681#true} call immediate_notify_threads(); {16721#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:24,476 INFO L280 TraceCheckUtils]: 41: Hoare triple {16721#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {16681#true} is VALID [2020-07-17 22:54:24,476 INFO L263 TraceCheckUtils]: 42: Hoare triple {16681#true} call #t~ret0 := is_do_write_p_triggered(); {16681#true} is VALID [2020-07-17 22:54:24,477 INFO L280 TraceCheckUtils]: 43: Hoare triple {16681#true} havoc ~__retres1~0; {16681#true} is VALID [2020-07-17 22:54:24,477 INFO L280 TraceCheckUtils]: 44: Hoare triple {16681#true} assume !(1 == ~p_dw_pc~0); {16681#true} is VALID [2020-07-17 22:54:24,477 INFO L280 TraceCheckUtils]: 45: Hoare triple {16681#true} ~__retres1~0 := 0; {16681#true} is VALID [2020-07-17 22:54:24,478 INFO L280 TraceCheckUtils]: 46: Hoare triple {16681#true} #res := ~__retres1~0; {16681#true} is VALID [2020-07-17 22:54:24,478 INFO L280 TraceCheckUtils]: 47: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-17 22:54:24,479 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {16681#true} {16681#true} #268#return; {16681#true} is VALID [2020-07-17 22:54:24,479 INFO L280 TraceCheckUtils]: 49: Hoare triple {16681#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {16681#true} is VALID [2020-07-17 22:54:24,479 INFO L280 TraceCheckUtils]: 50: Hoare triple {16681#true} assume !(0 != ~tmp~0); {16681#true} is VALID [2020-07-17 22:54:24,479 INFO L263 TraceCheckUtils]: 51: Hoare triple {16681#true} call #t~ret1 := is_do_read_c_triggered(); {16681#true} is VALID [2020-07-17 22:54:24,480 INFO L280 TraceCheckUtils]: 52: Hoare triple {16681#true} havoc ~__retres1~1; {16681#true} is VALID [2020-07-17 22:54:24,480 INFO L280 TraceCheckUtils]: 53: Hoare triple {16681#true} assume !(1 == ~c_dr_pc~0); {16681#true} is VALID [2020-07-17 22:54:24,482 INFO L280 TraceCheckUtils]: 54: Hoare triple {16681#true} ~__retres1~1 := 0; {16736#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} is VALID [2020-07-17 22:54:24,483 INFO L280 TraceCheckUtils]: 55: Hoare triple {16736#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} #res := ~__retres1~1; {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2020-07-17 22:54:24,484 INFO L280 TraceCheckUtils]: 56: Hoare triple {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} assume true; {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2020-07-17 22:54:24,485 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {16737#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} {16681#true} #270#return; {16734#(and (<= 0 |immediate_notify_threads_#t~ret1|) (<= |immediate_notify_threads_#t~ret1| 0))} is VALID [2020-07-17 22:54:24,486 INFO L280 TraceCheckUtils]: 58: Hoare triple {16734#(and (<= 0 |immediate_notify_threads_#t~ret1|) (<= |immediate_notify_threads_#t~ret1| 0))} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {16735#(and (<= immediate_notify_threads_~tmp___0~0 0) (< 0 (+ immediate_notify_threads_~tmp___0~0 1)))} is VALID [2020-07-17 22:54:24,488 INFO L280 TraceCheckUtils]: 59: Hoare triple {16735#(and (<= immediate_notify_threads_~tmp___0~0 0) (< 0 (+ immediate_notify_threads_~tmp___0~0 1)))} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {16682#false} is VALID [2020-07-17 22:54:24,489 INFO L280 TraceCheckUtils]: 60: Hoare triple {16682#false} assume true; {16682#false} is VALID [2020-07-17 22:54:24,489 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {16682#false} {16681#true} #290#return; {16682#false} is VALID [2020-07-17 22:54:24,490 INFO L280 TraceCheckUtils]: 62: Hoare triple {16682#false} ~q_read_ev~0 := 2; {16682#false} is VALID [2020-07-17 22:54:24,490 INFO L280 TraceCheckUtils]: 63: Hoare triple {16682#false} assume !(~p_last_write~0 == ~c_last_read~0); {16682#false} is VALID [2020-07-17 22:54:24,490 INFO L263 TraceCheckUtils]: 64: Hoare triple {16682#false} call error(); {16682#false} is VALID [2020-07-17 22:54:24,491 INFO L280 TraceCheckUtils]: 65: Hoare triple {16682#false} assume !false; {16682#false} is VALID [2020-07-17 22:54:24,501 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:54:24,502 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2099477906] [2020-07-17 22:54:24,503 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:54:24,503 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-17 22:54:24,503 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [66666324] [2020-07-17 22:54:24,504 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-17 22:54:24,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:54:24,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:54:24,605 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:24,606 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:54:24,606 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:54:24,606 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:54:24,607 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:54:24,607 INFO L87 Difference]: Start difference. First operand 643 states and 815 transitions. Second operand 9 states. [2020-07-17 22:54:31,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:31,356 INFO L93 Difference]: Finished difference Result 1352 states and 1804 transitions. [2020-07-17 22:54:31,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-17 22:54:31,356 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-17 22:54:31,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:54:31,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:54:31,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 317 transitions. [2020-07-17 22:54:31,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:54:31,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 317 transitions. [2020-07-17 22:54:31,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 317 transitions. [2020-07-17 22:54:31,913 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 317 edges. 317 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:31,953 INFO L225 Difference]: With dead ends: 1352 [2020-07-17 22:54:31,953 INFO L226 Difference]: Without dead ends: 764 [2020-07-17 22:54:31,955 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:54:31,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 764 states. [2020-07-17 22:54:34,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 764 to 669. [2020-07-17 22:54:34,516 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:54:34,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 764 states. Second operand 669 states. [2020-07-17 22:54:34,517 INFO L74 IsIncluded]: Start isIncluded. First operand 764 states. Second operand 669 states. [2020-07-17 22:54:34,517 INFO L87 Difference]: Start difference. First operand 764 states. Second operand 669 states. [2020-07-17 22:54:34,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:34,559 INFO L93 Difference]: Finished difference Result 764 states and 978 transitions. [2020-07-17 22:54:34,559 INFO L276 IsEmpty]: Start isEmpty. Operand 764 states and 978 transitions. [2020-07-17 22:54:34,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:34,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:34,562 INFO L74 IsIncluded]: Start isIncluded. First operand 669 states. Second operand 764 states. [2020-07-17 22:54:34,562 INFO L87 Difference]: Start difference. First operand 669 states. Second operand 764 states. [2020-07-17 22:54:34,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:34,609 INFO L93 Difference]: Finished difference Result 764 states and 978 transitions. [2020-07-17 22:54:34,609 INFO L276 IsEmpty]: Start isEmpty. Operand 764 states and 978 transitions. [2020-07-17 22:54:34,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:34,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:34,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:54:34,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:54:34,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 669 states. [2020-07-17 22:54:34,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 669 states to 669 states and 834 transitions. [2020-07-17 22:54:34,656 INFO L78 Accepts]: Start accepts. Automaton has 669 states and 834 transitions. Word has length 66 [2020-07-17 22:54:34,657 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:54:34,657 INFO L479 AbstractCegarLoop]: Abstraction has 669 states and 834 transitions. [2020-07-17 22:54:34,657 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:54:34,657 INFO L276 IsEmpty]: Start isEmpty. Operand 669 states and 834 transitions. [2020-07-17 22:54:34,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:54:34,661 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:54:34,661 INFO L422 BasicCegarLoop]: trace 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, 1, 1, 1, 1, 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-07-17 22:54:34,662 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-17 22:54:34,662 INFO L427 AbstractCegarLoop]: === Iteration 9 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:54:34,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:54:34,662 INFO L82 PathProgramCache]: Analyzing trace with hash -1347703966, now seen corresponding path program 1 times [2020-07-17 22:54:34,663 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:54:34,665 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [754235935] [2020-07-17 22:54:34,666 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:54:34,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,837 INFO L280 TraceCheckUtils]: 0: Hoare triple {21081#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,837 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,837 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {21042#true} {21042#true} #286#return; {21042#true} is VALID [2020-07-17 22:54:34,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,895 INFO L280 TraceCheckUtils]: 0: Hoare triple {21082#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,896 INFO L280 TraceCheckUtils]: 1: Hoare triple {21050#(= 1 ~q_free~0)} assume true; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,897 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {21050#(= 1 ~q_free~0)} {21042#true} #262#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,920 INFO L280 TraceCheckUtils]: 0: Hoare triple {21083#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,921 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,921 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,922 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #280#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,929 INFO L280 TraceCheckUtils]: 0: Hoare triple {21042#true} havoc ~__retres1~2; {21042#true} is VALID [2020-07-17 22:54:34,929 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {21042#true} is VALID [2020-07-17 22:54:34,929 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} #res := ~__retres1~2; {21042#true} is VALID [2020-07-17 22:54:34,929 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,931 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #272#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,945 INFO L280 TraceCheckUtils]: 0: Hoare triple {21042#true} havoc ~__retres1~0; {21042#true} is VALID [2020-07-17 22:54:34,946 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume !(1 == ~p_dw_pc~0); {21042#true} is VALID [2020-07-17 22:54:34,946 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} ~__retres1~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,946 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} #res := ~__retres1~0; {21042#true} is VALID [2020-07-17 22:54:34,947 INFO L280 TraceCheckUtils]: 4: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,947 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {21042#true} {21042#true} #268#return; {21042#true} is VALID [2020-07-17 22:54:34,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:34,951 INFO L280 TraceCheckUtils]: 0: Hoare triple {21042#true} havoc ~__retres1~1; {21042#true} is VALID [2020-07-17 22:54:34,951 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume !(1 == ~c_dr_pc~0); {21042#true} is VALID [2020-07-17 22:54:34,952 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} ~__retres1~1 := 0; {21042#true} is VALID [2020-07-17 22:54:34,952 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} #res := ~__retres1~1; {21042#true} is VALID [2020-07-17 22:54:34,952 INFO L280 TraceCheckUtils]: 4: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,952 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {21042#true} {21042#true} #270#return; {21042#true} is VALID [2020-07-17 22:54:34,953 INFO L280 TraceCheckUtils]: 0: Hoare triple {21083#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {21042#true} is VALID [2020-07-17 22:54:34,954 INFO L263 TraceCheckUtils]: 1: Hoare triple {21042#true} call #t~ret0 := is_do_write_p_triggered(); {21042#true} is VALID [2020-07-17 22:54:34,954 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} havoc ~__retres1~0; {21042#true} is VALID [2020-07-17 22:54:34,954 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} assume !(1 == ~p_dw_pc~0); {21042#true} is VALID [2020-07-17 22:54:34,955 INFO L280 TraceCheckUtils]: 4: Hoare triple {21042#true} ~__retres1~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,955 INFO L280 TraceCheckUtils]: 5: Hoare triple {21042#true} #res := ~__retres1~0; {21042#true} is VALID [2020-07-17 22:54:34,955 INFO L280 TraceCheckUtils]: 6: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,956 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {21042#true} {21042#true} #268#return; {21042#true} is VALID [2020-07-17 22:54:34,956 INFO L280 TraceCheckUtils]: 8: Hoare triple {21042#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {21042#true} is VALID [2020-07-17 22:54:34,956 INFO L280 TraceCheckUtils]: 9: Hoare triple {21042#true} assume !(0 != ~tmp~0); {21042#true} is VALID [2020-07-17 22:54:34,957 INFO L263 TraceCheckUtils]: 10: Hoare triple {21042#true} call #t~ret1 := is_do_read_c_triggered(); {21042#true} is VALID [2020-07-17 22:54:34,957 INFO L280 TraceCheckUtils]: 11: Hoare triple {21042#true} havoc ~__retres1~1; {21042#true} is VALID [2020-07-17 22:54:34,957 INFO L280 TraceCheckUtils]: 12: Hoare triple {21042#true} assume !(1 == ~c_dr_pc~0); {21042#true} is VALID [2020-07-17 22:54:34,958 INFO L280 TraceCheckUtils]: 13: Hoare triple {21042#true} ~__retres1~1 := 0; {21042#true} is VALID [2020-07-17 22:54:34,958 INFO L280 TraceCheckUtils]: 14: Hoare triple {21042#true} #res := ~__retres1~1; {21042#true} is VALID [2020-07-17 22:54:34,958 INFO L280 TraceCheckUtils]: 15: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,958 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {21042#true} {21042#true} #270#return; {21042#true} is VALID [2020-07-17 22:54:34,958 INFO L280 TraceCheckUtils]: 17: Hoare triple {21042#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {21042#true} is VALID [2020-07-17 22:54:34,959 INFO L280 TraceCheckUtils]: 18: Hoare triple {21042#true} assume !(0 != ~tmp___0~0); {21042#true} is VALID [2020-07-17 22:54:34,959 INFO L280 TraceCheckUtils]: 19: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,959 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {21042#true} {21043#false} #290#return; {21043#false} is VALID [2020-07-17 22:54:34,962 INFO L263 TraceCheckUtils]: 0: Hoare triple {21042#true} call ULTIMATE.init(); {21081#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:34,963 INFO L280 TraceCheckUtils]: 1: Hoare triple {21081#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,963 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,964 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {21042#true} {21042#true} #286#return; {21042#true} is VALID [2020-07-17 22:54:34,964 INFO L263 TraceCheckUtils]: 4: Hoare triple {21042#true} call #t~ret8 := main(); {21042#true} is VALID [2020-07-17 22:54:34,964 INFO L280 TraceCheckUtils]: 5: Hoare triple {21042#true} havoc ~__retres1~3; {21042#true} is VALID [2020-07-17 22:54:34,966 INFO L263 TraceCheckUtils]: 6: Hoare triple {21042#true} call init_model(); {21082#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:34,967 INFO L280 TraceCheckUtils]: 7: Hoare triple {21082#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,967 INFO L280 TraceCheckUtils]: 8: Hoare triple {21050#(= 1 ~q_free~0)} assume true; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,969 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {21050#(= 1 ~q_free~0)} {21042#true} #262#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,971 INFO L263 TraceCheckUtils]: 10: Hoare triple {21050#(= 1 ~q_free~0)} call start_simulation(); {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,973 INFO L280 TraceCheckUtils]: 11: Hoare triple {21050#(= 1 ~q_free~0)} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,974 INFO L263 TraceCheckUtils]: 12: Hoare triple {21050#(= 1 ~q_free~0)} call init_threads(); {21083#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:34,974 INFO L280 TraceCheckUtils]: 13: Hoare triple {21083#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,975 INFO L280 TraceCheckUtils]: 14: Hoare triple {21042#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {21042#true} is VALID [2020-07-17 22:54:34,975 INFO L280 TraceCheckUtils]: 15: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,976 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #280#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,978 INFO L280 TraceCheckUtils]: 17: Hoare triple {21050#(= 1 ~q_free~0)} assume !false; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,979 INFO L280 TraceCheckUtils]: 18: Hoare triple {21050#(= 1 ~q_free~0)} ~kernel_st~0 := 1; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,981 INFO L263 TraceCheckUtils]: 19: Hoare triple {21050#(= 1 ~q_free~0)} call eval(); {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,982 INFO L280 TraceCheckUtils]: 20: Hoare triple {21050#(= 1 ~q_free~0)} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,982 INFO L280 TraceCheckUtils]: 21: Hoare triple {21050#(= 1 ~q_free~0)} assume !false; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,982 INFO L263 TraceCheckUtils]: 22: Hoare triple {21050#(= 1 ~q_free~0)} call #t~ret3 := exists_runnable_thread(); {21042#true} is VALID [2020-07-17 22:54:34,982 INFO L280 TraceCheckUtils]: 23: Hoare triple {21042#true} havoc ~__retres1~2; {21042#true} is VALID [2020-07-17 22:54:34,983 INFO L280 TraceCheckUtils]: 24: Hoare triple {21042#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {21042#true} is VALID [2020-07-17 22:54:34,983 INFO L280 TraceCheckUtils]: 25: Hoare triple {21042#true} #res := ~__retres1~2; {21042#true} is VALID [2020-07-17 22:54:34,983 INFO L280 TraceCheckUtils]: 26: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:34,984 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #272#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,985 INFO L280 TraceCheckUtils]: 28: Hoare triple {21050#(= 1 ~q_free~0)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,987 INFO L280 TraceCheckUtils]: 29: Hoare triple {21050#(= 1 ~q_free~0)} assume 0 != ~tmp___1~0; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,989 INFO L280 TraceCheckUtils]: 30: Hoare triple {21050#(= 1 ~q_free~0)} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,990 INFO L280 TraceCheckUtils]: 31: Hoare triple {21050#(= 1 ~q_free~0)} assume !(0 != ~tmp~1); {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,991 INFO L280 TraceCheckUtils]: 32: Hoare triple {21050#(= 1 ~q_free~0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,992 INFO L280 TraceCheckUtils]: 33: Hoare triple {21050#(= 1 ~q_free~0)} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,994 INFO L263 TraceCheckUtils]: 34: Hoare triple {21050#(= 1 ~q_free~0)} call do_read_c(); {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,996 INFO L280 TraceCheckUtils]: 35: Hoare triple {21050#(= 1 ~q_free~0)} havoc ~a~0; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,996 INFO L280 TraceCheckUtils]: 36: Hoare triple {21050#(= 1 ~q_free~0)} assume 0 == ~c_dr_pc~0; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,998 INFO L280 TraceCheckUtils]: 37: Hoare triple {21050#(= 1 ~q_free~0)} assume !false; {21050#(= 1 ~q_free~0)} is VALID [2020-07-17 22:54:34,999 INFO L280 TraceCheckUtils]: 38: Hoare triple {21050#(= 1 ~q_free~0)} assume !(1 == ~q_free~0); {21043#false} is VALID [2020-07-17 22:54:35,000 INFO L280 TraceCheckUtils]: 39: Hoare triple {21043#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {21043#false} is VALID [2020-07-17 22:54:35,000 INFO L263 TraceCheckUtils]: 40: Hoare triple {21043#false} call immediate_notify_threads(); {21083#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:35,001 INFO L280 TraceCheckUtils]: 41: Hoare triple {21083#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {21042#true} is VALID [2020-07-17 22:54:35,001 INFO L263 TraceCheckUtils]: 42: Hoare triple {21042#true} call #t~ret0 := is_do_write_p_triggered(); {21042#true} is VALID [2020-07-17 22:54:35,001 INFO L280 TraceCheckUtils]: 43: Hoare triple {21042#true} havoc ~__retres1~0; {21042#true} is VALID [2020-07-17 22:54:35,001 INFO L280 TraceCheckUtils]: 44: Hoare triple {21042#true} assume !(1 == ~p_dw_pc~0); {21042#true} is VALID [2020-07-17 22:54:35,002 INFO L280 TraceCheckUtils]: 45: Hoare triple {21042#true} ~__retres1~0 := 0; {21042#true} is VALID [2020-07-17 22:54:35,002 INFO L280 TraceCheckUtils]: 46: Hoare triple {21042#true} #res := ~__retres1~0; {21042#true} is VALID [2020-07-17 22:54:35,002 INFO L280 TraceCheckUtils]: 47: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:35,002 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {21042#true} {21042#true} #268#return; {21042#true} is VALID [2020-07-17 22:54:35,002 INFO L280 TraceCheckUtils]: 49: Hoare triple {21042#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {21042#true} is VALID [2020-07-17 22:54:35,003 INFO L280 TraceCheckUtils]: 50: Hoare triple {21042#true} assume !(0 != ~tmp~0); {21042#true} is VALID [2020-07-17 22:54:35,003 INFO L263 TraceCheckUtils]: 51: Hoare triple {21042#true} call #t~ret1 := is_do_read_c_triggered(); {21042#true} is VALID [2020-07-17 22:54:35,003 INFO L280 TraceCheckUtils]: 52: Hoare triple {21042#true} havoc ~__retres1~1; {21042#true} is VALID [2020-07-17 22:54:35,003 INFO L280 TraceCheckUtils]: 53: Hoare triple {21042#true} assume !(1 == ~c_dr_pc~0); {21042#true} is VALID [2020-07-17 22:54:35,004 INFO L280 TraceCheckUtils]: 54: Hoare triple {21042#true} ~__retres1~1 := 0; {21042#true} is VALID [2020-07-17 22:54:35,004 INFO L280 TraceCheckUtils]: 55: Hoare triple {21042#true} #res := ~__retres1~1; {21042#true} is VALID [2020-07-17 22:54:35,004 INFO L280 TraceCheckUtils]: 56: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:35,005 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {21042#true} {21042#true} #270#return; {21042#true} is VALID [2020-07-17 22:54:35,005 INFO L280 TraceCheckUtils]: 58: Hoare triple {21042#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {21042#true} is VALID [2020-07-17 22:54:35,005 INFO L280 TraceCheckUtils]: 59: Hoare triple {21042#true} assume !(0 != ~tmp___0~0); {21042#true} is VALID [2020-07-17 22:54:35,005 INFO L280 TraceCheckUtils]: 60: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-17 22:54:35,006 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {21042#true} {21043#false} #290#return; {21043#false} is VALID [2020-07-17 22:54:35,006 INFO L280 TraceCheckUtils]: 62: Hoare triple {21043#false} ~q_read_ev~0 := 2; {21043#false} is VALID [2020-07-17 22:54:35,006 INFO L280 TraceCheckUtils]: 63: Hoare triple {21043#false} assume !(~p_last_write~0 == ~c_last_read~0); {21043#false} is VALID [2020-07-17 22:54:35,006 INFO L263 TraceCheckUtils]: 64: Hoare triple {21043#false} call error(); {21043#false} is VALID [2020-07-17 22:54:35,007 INFO L280 TraceCheckUtils]: 65: Hoare triple {21043#false} assume !false; {21043#false} is VALID [2020-07-17 22:54:35,015 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:54:35,016 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [754235935] [2020-07-17 22:54:35,016 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:54:35,016 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:54:35,027 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1766373982] [2020-07-17 22:54:35,028 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 66 [2020-07-17 22:54:35,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:54:35,029 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:54:35,130 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:35,130 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:54:35,130 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:54:35,131 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:54:35,131 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:54:35,131 INFO L87 Difference]: Start difference. First operand 669 states and 834 transitions. Second operand 6 states. [2020-07-17 22:54:40,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:40,692 INFO L93 Difference]: Finished difference Result 1262 states and 1648 transitions. [2020-07-17 22:54:40,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:54:40,692 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 66 [2020-07-17 22:54:40,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:54:40,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:54:40,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 405 transitions. [2020-07-17 22:54:40,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:54:40,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 405 transitions. [2020-07-17 22:54:40,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 405 transitions. [2020-07-17 22:54:41,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 405 edges. 405 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:41,494 INFO L225 Difference]: With dead ends: 1262 [2020-07-17 22:54:41,494 INFO L226 Difference]: Without dead ends: 814 [2020-07-17 22:54:41,497 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 17 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:54:41,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 814 states. [2020-07-17 22:54:44,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 814 to 708. [2020-07-17 22:54:44,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:54:44,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 814 states. Second operand 708 states. [2020-07-17 22:54:44,390 INFO L74 IsIncluded]: Start isIncluded. First operand 814 states. Second operand 708 states. [2020-07-17 22:54:44,391 INFO L87 Difference]: Start difference. First operand 814 states. Second operand 708 states. [2020-07-17 22:54:44,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:44,427 INFO L93 Difference]: Finished difference Result 814 states and 1057 transitions. [2020-07-17 22:54:44,427 INFO L276 IsEmpty]: Start isEmpty. Operand 814 states and 1057 transitions. [2020-07-17 22:54:44,430 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:44,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:44,430 INFO L74 IsIncluded]: Start isIncluded. First operand 708 states. Second operand 814 states. [2020-07-17 22:54:44,431 INFO L87 Difference]: Start difference. First operand 708 states. Second operand 814 states. [2020-07-17 22:54:44,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:44,486 INFO L93 Difference]: Finished difference Result 814 states and 1057 transitions. [2020-07-17 22:54:44,487 INFO L276 IsEmpty]: Start isEmpty. Operand 814 states and 1057 transitions. [2020-07-17 22:54:44,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:44,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:44,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:54:44,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:54:44,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 708 states. [2020-07-17 22:54:44,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 708 states to 708 states and 908 transitions. [2020-07-17 22:54:44,533 INFO L78 Accepts]: Start accepts. Automaton has 708 states and 908 transitions. Word has length 66 [2020-07-17 22:54:44,533 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:54:44,533 INFO L479 AbstractCegarLoop]: Abstraction has 708 states and 908 transitions. [2020-07-17 22:54:44,533 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:54:44,534 INFO L276 IsEmpty]: Start isEmpty. Operand 708 states and 908 transitions. [2020-07-17 22:54:44,535 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-17 22:54:44,536 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:54:44,536 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:54:44,537 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-17 22:54:44,537 INFO L427 AbstractCegarLoop]: === Iteration 10 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:54:44,537 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:54:44,537 INFO L82 PathProgramCache]: Analyzing trace with hash 1757954899, now seen corresponding path program 1 times [2020-07-17 22:54:44,537 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:54:44,538 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1984338419] [2020-07-17 22:54:44,538 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:54:44,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,693 INFO L280 TraceCheckUtils]: 0: Hoare triple {25482#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,693 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,694 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {25431#true} {25431#true} #286#return; {25431#true} is VALID [2020-07-17 22:54:44,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,738 INFO L280 TraceCheckUtils]: 0: Hoare triple {25483#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {25431#true} is VALID [2020-07-17 22:54:44,738 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,739 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {25431#true} {25431#true} #262#return; {25431#true} is VALID [2020-07-17 22:54:44,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,799 INFO L280 TraceCheckUtils]: 0: Hoare triple {25484#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:44,800 INFO L280 TraceCheckUtils]: 1: Hoare triple {25485#(<= ~p_dw_st~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:44,802 INFO L280 TraceCheckUtils]: 2: Hoare triple {25485#(<= ~p_dw_st~0 0)} assume true; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:44,804 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {25485#(<= ~p_dw_st~0 0)} {25431#true} #280#return; {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,809 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,810 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-17 22:54:44,810 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,811 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,811 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {25431#true} {25443#(not (= 2 ~p_dw_st~0))} #272#return; {25431#true} is VALID [2020-07-17 22:54:44,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,891 INFO L280 TraceCheckUtils]: 0: Hoare triple {25486#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|))} havoc ~a~0; {25431#true} is VALID [2020-07-17 22:54:44,892 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 0 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-17 22:54:44,892 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-17 22:54:44,893 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume 1 == ~q_free~0;~c_dr_st~0 := 2;~c_dr_pc~0 := 1;~a_t~0 := ~a~0; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:44,894 INFO L280 TraceCheckUtils]: 4: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:44,895 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {25487#(<= 2 ~c_dr_st~0)} {25431#true} #276#return; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,899 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,900 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-17 22:54:44,900 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,900 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,902 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {25431#true} {25455#(not (= ~c_dr_st~0 0))} #272#return; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,918 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~0; {25431#true} is VALID [2020-07-17 22:54:44,919 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume !(1 == ~p_dw_pc~0); {25431#true} is VALID [2020-07-17 22:54:44,919 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} ~__retres1~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,920 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} #res := ~__retres1~0; {25431#true} is VALID [2020-07-17 22:54:44,920 INFO L280 TraceCheckUtils]: 4: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,920 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {25431#true} {25431#true} #268#return; {25431#true} is VALID [2020-07-17 22:54:44,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:44,928 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~1; {25431#true} is VALID [2020-07-17 22:54:44,928 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 1 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-17 22:54:44,929 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25431#true} is VALID [2020-07-17 22:54:44,929 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} #res := ~__retres1~1; {25431#true} is VALID [2020-07-17 22:54:44,930 INFO L280 TraceCheckUtils]: 4: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,930 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {25431#true} {25431#true} #270#return; {25431#true} is VALID [2020-07-17 22:54:44,930 INFO L280 TraceCheckUtils]: 0: Hoare triple {25484#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {25431#true} is VALID [2020-07-17 22:54:44,931 INFO L263 TraceCheckUtils]: 1: Hoare triple {25431#true} call #t~ret0 := is_do_write_p_triggered(); {25431#true} is VALID [2020-07-17 22:54:44,931 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} havoc ~__retres1~0; {25431#true} is VALID [2020-07-17 22:54:44,931 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume !(1 == ~p_dw_pc~0); {25431#true} is VALID [2020-07-17 22:54:44,932 INFO L280 TraceCheckUtils]: 4: Hoare triple {25431#true} ~__retres1~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,932 INFO L280 TraceCheckUtils]: 5: Hoare triple {25431#true} #res := ~__retres1~0; {25431#true} is VALID [2020-07-17 22:54:44,932 INFO L280 TraceCheckUtils]: 6: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,933 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {25431#true} {25431#true} #268#return; {25431#true} is VALID [2020-07-17 22:54:44,933 INFO L280 TraceCheckUtils]: 8: Hoare triple {25431#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {25431#true} is VALID [2020-07-17 22:54:44,933 INFO L280 TraceCheckUtils]: 9: Hoare triple {25431#true} assume !(0 != ~tmp~0); {25431#true} is VALID [2020-07-17 22:54:44,934 INFO L263 TraceCheckUtils]: 10: Hoare triple {25431#true} call #t~ret1 := is_do_read_c_triggered(); {25431#true} is VALID [2020-07-17 22:54:44,934 INFO L280 TraceCheckUtils]: 11: Hoare triple {25431#true} havoc ~__retres1~1; {25431#true} is VALID [2020-07-17 22:54:44,934 INFO L280 TraceCheckUtils]: 12: Hoare triple {25431#true} assume 1 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-17 22:54:44,935 INFO L280 TraceCheckUtils]: 13: Hoare triple {25431#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25431#true} is VALID [2020-07-17 22:54:44,935 INFO L280 TraceCheckUtils]: 14: Hoare triple {25431#true} #res := ~__retres1~1; {25431#true} is VALID [2020-07-17 22:54:44,935 INFO L280 TraceCheckUtils]: 15: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,936 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {25431#true} {25431#true} #270#return; {25431#true} is VALID [2020-07-17 22:54:44,936 INFO L280 TraceCheckUtils]: 17: Hoare triple {25431#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {25431#true} is VALID [2020-07-17 22:54:44,937 INFO L280 TraceCheckUtils]: 18: Hoare triple {25431#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,937 INFO L280 TraceCheckUtils]: 19: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,937 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {25431#true} {25432#false} #290#return; {25432#false} is VALID [2020-07-17 22:54:44,940 INFO L263 TraceCheckUtils]: 0: Hoare triple {25431#true} call ULTIMATE.init(); {25482#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:44,941 INFO L280 TraceCheckUtils]: 1: Hoare triple {25482#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,941 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,941 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {25431#true} {25431#true} #286#return; {25431#true} is VALID [2020-07-17 22:54:44,942 INFO L263 TraceCheckUtils]: 4: Hoare triple {25431#true} call #t~ret8 := main(); {25431#true} is VALID [2020-07-17 22:54:44,942 INFO L280 TraceCheckUtils]: 5: Hoare triple {25431#true} havoc ~__retres1~3; {25431#true} is VALID [2020-07-17 22:54:44,945 INFO L263 TraceCheckUtils]: 6: Hoare triple {25431#true} call init_model(); {25483#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:44,945 INFO L280 TraceCheckUtils]: 7: Hoare triple {25483#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {25431#true} is VALID [2020-07-17 22:54:44,945 INFO L280 TraceCheckUtils]: 8: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,946 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {25431#true} {25431#true} #262#return; {25431#true} is VALID [2020-07-17 22:54:44,946 INFO L263 TraceCheckUtils]: 10: Hoare triple {25431#true} call start_simulation(); {25431#true} is VALID [2020-07-17 22:54:44,946 INFO L280 TraceCheckUtils]: 11: Hoare triple {25431#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,948 INFO L263 TraceCheckUtils]: 12: Hoare triple {25431#true} call init_threads(); {25484#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:44,951 INFO L280 TraceCheckUtils]: 13: Hoare triple {25484#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:44,952 INFO L280 TraceCheckUtils]: 14: Hoare triple {25485#(<= ~p_dw_st~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:44,954 INFO L280 TraceCheckUtils]: 15: Hoare triple {25485#(<= ~p_dw_st~0 0)} assume true; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:54:44,956 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {25485#(<= ~p_dw_st~0 0)} {25431#true} #280#return; {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,957 INFO L280 TraceCheckUtils]: 17: Hoare triple {25443#(not (= 2 ~p_dw_st~0))} assume !false; {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,958 INFO L280 TraceCheckUtils]: 18: Hoare triple {25443#(not (= 2 ~p_dw_st~0))} ~kernel_st~0 := 1; {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,959 INFO L263 TraceCheckUtils]: 19: Hoare triple {25443#(not (= 2 ~p_dw_st~0))} call eval(); {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,960 INFO L280 TraceCheckUtils]: 20: Hoare triple {25443#(not (= 2 ~p_dw_st~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,960 INFO L280 TraceCheckUtils]: 21: Hoare triple {25443#(not (= 2 ~p_dw_st~0))} assume !false; {25443#(not (= 2 ~p_dw_st~0))} is VALID [2020-07-17 22:54:44,961 INFO L263 TraceCheckUtils]: 22: Hoare triple {25443#(not (= 2 ~p_dw_st~0))} call #t~ret3 := exists_runnable_thread(); {25431#true} is VALID [2020-07-17 22:54:44,961 INFO L280 TraceCheckUtils]: 23: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,962 INFO L280 TraceCheckUtils]: 24: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-17 22:54:44,962 INFO L280 TraceCheckUtils]: 25: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,962 INFO L280 TraceCheckUtils]: 26: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,963 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {25431#true} {25443#(not (= 2 ~p_dw_st~0))} #272#return; {25431#true} is VALID [2020-07-17 22:54:44,963 INFO L280 TraceCheckUtils]: 28: Hoare triple {25431#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {25431#true} is VALID [2020-07-17 22:54:44,964 INFO L280 TraceCheckUtils]: 29: Hoare triple {25431#true} assume 0 != ~tmp___1~0; {25431#true} is VALID [2020-07-17 22:54:44,964 INFO L280 TraceCheckUtils]: 30: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {25431#true} is VALID [2020-07-17 22:54:44,964 INFO L280 TraceCheckUtils]: 31: Hoare triple {25431#true} assume !(0 != ~tmp~1); {25431#true} is VALID [2020-07-17 22:54:44,965 INFO L280 TraceCheckUtils]: 32: Hoare triple {25431#true} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {25431#true} is VALID [2020-07-17 22:54:44,965 INFO L280 TraceCheckUtils]: 33: Hoare triple {25431#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25431#true} is VALID [2020-07-17 22:54:44,967 INFO L263 TraceCheckUtils]: 34: Hoare triple {25431#true} call do_read_c(); {25486#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|))} is VALID [2020-07-17 22:54:44,967 INFO L280 TraceCheckUtils]: 35: Hoare triple {25486#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|))} havoc ~a~0; {25431#true} is VALID [2020-07-17 22:54:44,967 INFO L280 TraceCheckUtils]: 36: Hoare triple {25431#true} assume 0 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-17 22:54:44,967 INFO L280 TraceCheckUtils]: 37: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-17 22:54:44,968 INFO L280 TraceCheckUtils]: 38: Hoare triple {25431#true} assume 1 == ~q_free~0;~c_dr_st~0 := 2;~c_dr_pc~0 := 1;~a_t~0 := ~a~0; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:44,969 INFO L280 TraceCheckUtils]: 39: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:44,969 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {25487#(<= 2 ~c_dr_st~0)} {25431#true} #276#return; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,970 INFO L280 TraceCheckUtils]: 41: Hoare triple {25455#(not (= ~c_dr_st~0 0))} assume !false; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,970 INFO L263 TraceCheckUtils]: 42: Hoare triple {25455#(not (= ~c_dr_st~0 0))} call #t~ret3 := exists_runnable_thread(); {25431#true} is VALID [2020-07-17 22:54:44,971 INFO L280 TraceCheckUtils]: 43: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,971 INFO L280 TraceCheckUtils]: 44: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-17 22:54:44,971 INFO L280 TraceCheckUtils]: 45: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:44,972 INFO L280 TraceCheckUtils]: 46: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,973 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {25431#true} {25455#(not (= ~c_dr_st~0 0))} #272#return; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,975 INFO L280 TraceCheckUtils]: 48: Hoare triple {25455#(not (= ~c_dr_st~0 0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,976 INFO L280 TraceCheckUtils]: 49: Hoare triple {25455#(not (= ~c_dr_st~0 0))} assume 0 != ~tmp___1~0; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,976 INFO L280 TraceCheckUtils]: 50: Hoare triple {25455#(not (= ~c_dr_st~0 0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,977 INFO L280 TraceCheckUtils]: 51: Hoare triple {25455#(not (= ~c_dr_st~0 0))} assume !(0 != ~tmp~1); {25455#(not (= ~c_dr_st~0 0))} is VALID [2020-07-17 22:54:44,978 INFO L280 TraceCheckUtils]: 52: Hoare triple {25455#(not (= ~c_dr_st~0 0))} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {25432#false} is VALID [2020-07-17 22:54:44,978 INFO L280 TraceCheckUtils]: 53: Hoare triple {25432#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25432#false} is VALID [2020-07-17 22:54:44,978 INFO L263 TraceCheckUtils]: 54: Hoare triple {25432#false} call do_read_c(); {25432#false} is VALID [2020-07-17 22:54:44,978 INFO L280 TraceCheckUtils]: 55: Hoare triple {25432#false} havoc ~a~0; {25432#false} is VALID [2020-07-17 22:54:44,978 INFO L280 TraceCheckUtils]: 56: Hoare triple {25432#false} assume !(0 == ~c_dr_pc~0); {25432#false} is VALID [2020-07-17 22:54:44,979 INFO L280 TraceCheckUtils]: 57: Hoare triple {25432#false} assume 1 == ~c_dr_pc~0; {25432#false} is VALID [2020-07-17 22:54:44,979 INFO L280 TraceCheckUtils]: 58: Hoare triple {25432#false} ~a~0 := ~a_t~0; {25432#false} is VALID [2020-07-17 22:54:44,979 INFO L280 TraceCheckUtils]: 59: Hoare triple {25432#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {25432#false} is VALID [2020-07-17 22:54:44,979 INFO L263 TraceCheckUtils]: 60: Hoare triple {25432#false} call immediate_notify_threads(); {25484#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:44,979 INFO L280 TraceCheckUtils]: 61: Hoare triple {25484#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {25431#true} is VALID [2020-07-17 22:54:44,980 INFO L263 TraceCheckUtils]: 62: Hoare triple {25431#true} call #t~ret0 := is_do_write_p_triggered(); {25431#true} is VALID [2020-07-17 22:54:44,980 INFO L280 TraceCheckUtils]: 63: Hoare triple {25431#true} havoc ~__retres1~0; {25431#true} is VALID [2020-07-17 22:54:44,980 INFO L280 TraceCheckUtils]: 64: Hoare triple {25431#true} assume !(1 == ~p_dw_pc~0); {25431#true} is VALID [2020-07-17 22:54:44,981 INFO L280 TraceCheckUtils]: 65: Hoare triple {25431#true} ~__retres1~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,981 INFO L280 TraceCheckUtils]: 66: Hoare triple {25431#true} #res := ~__retres1~0; {25431#true} is VALID [2020-07-17 22:54:44,981 INFO L280 TraceCheckUtils]: 67: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,982 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {25431#true} {25431#true} #268#return; {25431#true} is VALID [2020-07-17 22:54:44,982 INFO L280 TraceCheckUtils]: 69: Hoare triple {25431#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {25431#true} is VALID [2020-07-17 22:54:44,983 INFO L280 TraceCheckUtils]: 70: Hoare triple {25431#true} assume !(0 != ~tmp~0); {25431#true} is VALID [2020-07-17 22:54:44,983 INFO L263 TraceCheckUtils]: 71: Hoare triple {25431#true} call #t~ret1 := is_do_read_c_triggered(); {25431#true} is VALID [2020-07-17 22:54:44,984 INFO L280 TraceCheckUtils]: 72: Hoare triple {25431#true} havoc ~__retres1~1; {25431#true} is VALID [2020-07-17 22:54:44,984 INFO L280 TraceCheckUtils]: 73: Hoare triple {25431#true} assume 1 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-17 22:54:44,984 INFO L280 TraceCheckUtils]: 74: Hoare triple {25431#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25431#true} is VALID [2020-07-17 22:54:44,984 INFO L280 TraceCheckUtils]: 75: Hoare triple {25431#true} #res := ~__retres1~1; {25431#true} is VALID [2020-07-17 22:54:44,985 INFO L280 TraceCheckUtils]: 76: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,985 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {25431#true} {25431#true} #270#return; {25431#true} is VALID [2020-07-17 22:54:44,985 INFO L280 TraceCheckUtils]: 78: Hoare triple {25431#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {25431#true} is VALID [2020-07-17 22:54:44,985 INFO L280 TraceCheckUtils]: 79: Hoare triple {25431#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {25431#true} is VALID [2020-07-17 22:54:44,985 INFO L280 TraceCheckUtils]: 80: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:44,986 INFO L275 TraceCheckUtils]: 81: Hoare quadruple {25431#true} {25432#false} #290#return; {25432#false} is VALID [2020-07-17 22:54:44,986 INFO L280 TraceCheckUtils]: 82: Hoare triple {25432#false} ~q_read_ev~0 := 2; {25432#false} is VALID [2020-07-17 22:54:44,986 INFO L280 TraceCheckUtils]: 83: Hoare triple {25432#false} assume !(~p_last_write~0 == ~c_last_read~0); {25432#false} is VALID [2020-07-17 22:54:44,987 INFO L263 TraceCheckUtils]: 84: Hoare triple {25432#false} call error(); {25432#false} is VALID [2020-07-17 22:54:44,987 INFO L280 TraceCheckUtils]: 85: Hoare triple {25432#false} assume !false; {25432#false} is VALID [2020-07-17 22:54:45,004 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 9 proven. 2 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2020-07-17 22:54:45,005 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1984338419] [2020-07-17 22:54:45,005 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2067945664] [2020-07-17 22:54:45,005 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:54:45,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:45,162 INFO L264 TraceCheckSpWp]: Trace formula consists of 572 conjuncts, 2 conjunts are in the unsatisfiable core [2020-07-17 22:54:45,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:45,240 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:54:45,436 INFO L263 TraceCheckUtils]: 0: Hoare triple {25431#true} call ULTIMATE.init(); {25431#true} is VALID [2020-07-17 22:54:45,436 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {25431#true} is VALID [2020-07-17 22:54:45,436 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:45,437 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {25431#true} {25431#true} #286#return; {25431#true} is VALID [2020-07-17 22:54:45,437 INFO L263 TraceCheckUtils]: 4: Hoare triple {25431#true} call #t~ret8 := main(); {25431#true} is VALID [2020-07-17 22:54:45,437 INFO L280 TraceCheckUtils]: 5: Hoare triple {25431#true} havoc ~__retres1~3; {25431#true} is VALID [2020-07-17 22:54:45,438 INFO L263 TraceCheckUtils]: 6: Hoare triple {25431#true} call init_model(); {25431#true} is VALID [2020-07-17 22:54:45,438 INFO L280 TraceCheckUtils]: 7: Hoare triple {25431#true} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {25431#true} is VALID [2020-07-17 22:54:45,438 INFO L280 TraceCheckUtils]: 8: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:45,438 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {25431#true} {25431#true} #262#return; {25431#true} is VALID [2020-07-17 22:54:45,439 INFO L263 TraceCheckUtils]: 10: Hoare triple {25431#true} call start_simulation(); {25431#true} is VALID [2020-07-17 22:54:45,439 INFO L280 TraceCheckUtils]: 11: Hoare triple {25431#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {25431#true} is VALID [2020-07-17 22:54:45,439 INFO L263 TraceCheckUtils]: 12: Hoare triple {25431#true} call init_threads(); {25431#true} is VALID [2020-07-17 22:54:45,440 INFO L280 TraceCheckUtils]: 13: Hoare triple {25431#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {25431#true} is VALID [2020-07-17 22:54:45,440 INFO L280 TraceCheckUtils]: 14: Hoare triple {25431#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {25431#true} is VALID [2020-07-17 22:54:45,440 INFO L280 TraceCheckUtils]: 15: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:45,441 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {25431#true} {25431#true} #280#return; {25431#true} is VALID [2020-07-17 22:54:45,441 INFO L280 TraceCheckUtils]: 17: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-17 22:54:45,441 INFO L280 TraceCheckUtils]: 18: Hoare triple {25431#true} ~kernel_st~0 := 1; {25431#true} is VALID [2020-07-17 22:54:45,442 INFO L263 TraceCheckUtils]: 19: Hoare triple {25431#true} call eval(); {25431#true} is VALID [2020-07-17 22:54:45,442 INFO L280 TraceCheckUtils]: 20: Hoare triple {25431#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {25431#true} is VALID [2020-07-17 22:54:45,442 INFO L280 TraceCheckUtils]: 21: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-17 22:54:45,443 INFO L263 TraceCheckUtils]: 22: Hoare triple {25431#true} call #t~ret3 := exists_runnable_thread(); {25431#true} is VALID [2020-07-17 22:54:45,443 INFO L280 TraceCheckUtils]: 23: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:45,443 INFO L280 TraceCheckUtils]: 24: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-17 22:54:45,443 INFO L280 TraceCheckUtils]: 25: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-17 22:54:45,443 INFO L280 TraceCheckUtils]: 26: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-17 22:54:45,444 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {25431#true} {25431#true} #272#return; {25431#true} is VALID [2020-07-17 22:54:45,444 INFO L280 TraceCheckUtils]: 28: Hoare triple {25431#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {25431#true} is VALID [2020-07-17 22:54:45,444 INFO L280 TraceCheckUtils]: 29: Hoare triple {25431#true} assume 0 != ~tmp___1~0; {25431#true} is VALID [2020-07-17 22:54:45,444 INFO L280 TraceCheckUtils]: 30: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {25431#true} is VALID [2020-07-17 22:54:45,444 INFO L280 TraceCheckUtils]: 31: Hoare triple {25431#true} assume !(0 != ~tmp~1); {25431#true} is VALID [2020-07-17 22:54:45,445 INFO L280 TraceCheckUtils]: 32: Hoare triple {25431#true} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {25431#true} is VALID [2020-07-17 22:54:45,445 INFO L280 TraceCheckUtils]: 33: Hoare triple {25431#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25431#true} is VALID [2020-07-17 22:54:45,445 INFO L263 TraceCheckUtils]: 34: Hoare triple {25431#true} call do_read_c(); {25431#true} is VALID [2020-07-17 22:54:45,445 INFO L280 TraceCheckUtils]: 35: Hoare triple {25431#true} havoc ~a~0; {25431#true} is VALID [2020-07-17 22:54:45,445 INFO L280 TraceCheckUtils]: 36: Hoare triple {25431#true} assume 0 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-17 22:54:45,446 INFO L280 TraceCheckUtils]: 37: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-17 22:54:45,447 INFO L280 TraceCheckUtils]: 38: Hoare triple {25431#true} assume 1 == ~q_free~0;~c_dr_st~0 := 2;~c_dr_pc~0 := 1;~a_t~0 := ~a~0; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,448 INFO L280 TraceCheckUtils]: 39: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,450 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {25487#(<= 2 ~c_dr_st~0)} {25431#true} #276#return; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,452 INFO L280 TraceCheckUtils]: 41: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume !false; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,453 INFO L263 TraceCheckUtils]: 42: Hoare triple {25487#(<= 2 ~c_dr_st~0)} call #t~ret3 := exists_runnable_thread(); {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,454 INFO L280 TraceCheckUtils]: 43: Hoare triple {25487#(<= 2 ~c_dr_st~0)} havoc ~__retres1~2; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,455 INFO L280 TraceCheckUtils]: 44: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,456 INFO L280 TraceCheckUtils]: 45: Hoare triple {25487#(<= 2 ~c_dr_st~0)} #res := ~__retres1~2; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,457 INFO L280 TraceCheckUtils]: 46: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,459 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {25487#(<= 2 ~c_dr_st~0)} {25487#(<= 2 ~c_dr_st~0)} #272#return; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,460 INFO L280 TraceCheckUtils]: 48: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,461 INFO L280 TraceCheckUtils]: 49: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume 0 != ~tmp___1~0; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,461 INFO L280 TraceCheckUtils]: 50: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,462 INFO L280 TraceCheckUtils]: 51: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume !(0 != ~tmp~1); {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-17 22:54:45,463 INFO L280 TraceCheckUtils]: 52: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {25432#false} is VALID [2020-07-17 22:54:45,464 INFO L280 TraceCheckUtils]: 53: Hoare triple {25432#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25432#false} is VALID [2020-07-17 22:54:45,464 INFO L263 TraceCheckUtils]: 54: Hoare triple {25432#false} call do_read_c(); {25432#false} is VALID [2020-07-17 22:54:45,464 INFO L280 TraceCheckUtils]: 55: Hoare triple {25432#false} havoc ~a~0; {25432#false} is VALID [2020-07-17 22:54:45,464 INFO L280 TraceCheckUtils]: 56: Hoare triple {25432#false} assume !(0 == ~c_dr_pc~0); {25432#false} is VALID [2020-07-17 22:54:45,465 INFO L280 TraceCheckUtils]: 57: Hoare triple {25432#false} assume 1 == ~c_dr_pc~0; {25432#false} is VALID [2020-07-17 22:54:45,465 INFO L280 TraceCheckUtils]: 58: Hoare triple {25432#false} ~a~0 := ~a_t~0; {25432#false} is VALID [2020-07-17 22:54:45,465 INFO L280 TraceCheckUtils]: 59: Hoare triple {25432#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {25432#false} is VALID [2020-07-17 22:54:45,465 INFO L263 TraceCheckUtils]: 60: Hoare triple {25432#false} call immediate_notify_threads(); {25432#false} is VALID [2020-07-17 22:54:45,466 INFO L280 TraceCheckUtils]: 61: Hoare triple {25432#false} havoc ~tmp~0;havoc ~tmp___0~0; {25432#false} is VALID [2020-07-17 22:54:45,466 INFO L263 TraceCheckUtils]: 62: Hoare triple {25432#false} call #t~ret0 := is_do_write_p_triggered(); {25432#false} is VALID [2020-07-17 22:54:45,466 INFO L280 TraceCheckUtils]: 63: Hoare triple {25432#false} havoc ~__retres1~0; {25432#false} is VALID [2020-07-17 22:54:45,466 INFO L280 TraceCheckUtils]: 64: Hoare triple {25432#false} assume !(1 == ~p_dw_pc~0); {25432#false} is VALID [2020-07-17 22:54:45,467 INFO L280 TraceCheckUtils]: 65: Hoare triple {25432#false} ~__retres1~0 := 0; {25432#false} is VALID [2020-07-17 22:54:45,467 INFO L280 TraceCheckUtils]: 66: Hoare triple {25432#false} #res := ~__retres1~0; {25432#false} is VALID [2020-07-17 22:54:45,467 INFO L280 TraceCheckUtils]: 67: Hoare triple {25432#false} assume true; {25432#false} is VALID [2020-07-17 22:54:45,467 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {25432#false} {25432#false} #268#return; {25432#false} is VALID [2020-07-17 22:54:45,467 INFO L280 TraceCheckUtils]: 69: Hoare triple {25432#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {25432#false} is VALID [2020-07-17 22:54:45,468 INFO L280 TraceCheckUtils]: 70: Hoare triple {25432#false} assume !(0 != ~tmp~0); {25432#false} is VALID [2020-07-17 22:54:45,468 INFO L263 TraceCheckUtils]: 71: Hoare triple {25432#false} call #t~ret1 := is_do_read_c_triggered(); {25432#false} is VALID [2020-07-17 22:54:45,468 INFO L280 TraceCheckUtils]: 72: Hoare triple {25432#false} havoc ~__retres1~1; {25432#false} is VALID [2020-07-17 22:54:45,468 INFO L280 TraceCheckUtils]: 73: Hoare triple {25432#false} assume 1 == ~c_dr_pc~0; {25432#false} is VALID [2020-07-17 22:54:45,469 INFO L280 TraceCheckUtils]: 74: Hoare triple {25432#false} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25432#false} is VALID [2020-07-17 22:54:45,469 INFO L280 TraceCheckUtils]: 75: Hoare triple {25432#false} #res := ~__retres1~1; {25432#false} is VALID [2020-07-17 22:54:45,469 INFO L280 TraceCheckUtils]: 76: Hoare triple {25432#false} assume true; {25432#false} is VALID [2020-07-17 22:54:45,469 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {25432#false} {25432#false} #270#return; {25432#false} is VALID [2020-07-17 22:54:45,470 INFO L280 TraceCheckUtils]: 78: Hoare triple {25432#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {25432#false} is VALID [2020-07-17 22:54:45,470 INFO L280 TraceCheckUtils]: 79: Hoare triple {25432#false} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {25432#false} is VALID [2020-07-17 22:54:45,470 INFO L280 TraceCheckUtils]: 80: Hoare triple {25432#false} assume true; {25432#false} is VALID [2020-07-17 22:54:45,470 INFO L275 TraceCheckUtils]: 81: Hoare quadruple {25432#false} {25432#false} #290#return; {25432#false} is VALID [2020-07-17 22:54:45,470 INFO L280 TraceCheckUtils]: 82: Hoare triple {25432#false} ~q_read_ev~0 := 2; {25432#false} is VALID [2020-07-17 22:54:45,471 INFO L280 TraceCheckUtils]: 83: Hoare triple {25432#false} assume !(~p_last_write~0 == ~c_last_read~0); {25432#false} is VALID [2020-07-17 22:54:45,471 INFO L263 TraceCheckUtils]: 84: Hoare triple {25432#false} call error(); {25432#false} is VALID [2020-07-17 22:54:45,471 INFO L280 TraceCheckUtils]: 85: Hoare triple {25432#false} assume !false; {25432#false} is VALID [2020-07-17 22:54:45,481 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 16 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:54:45,481 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:54:45,482 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [10] total 10 [2020-07-17 22:54:45,483 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1352544298] [2020-07-17 22:54:45,483 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 86 [2020-07-17 22:54:45,483 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:54:45,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-17 22:54:45,608 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:45,608 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-17 22:54:45,609 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:54:45,609 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-17 22:54:45,609 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2020-07-17 22:54:45,609 INFO L87 Difference]: Start difference. First operand 708 states and 908 transitions. Second operand 3 states. [2020-07-17 22:54:51,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:51,097 INFO L93 Difference]: Finished difference Result 1674 states and 2250 transitions. [2020-07-17 22:54:51,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-17 22:54:51,097 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 86 [2020-07-17 22:54:51,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:54:51,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-17 22:54:51,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 316 transitions. [2020-07-17 22:54:51,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-17 22:54:51,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 316 transitions. [2020-07-17 22:54:51,110 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 316 transitions. [2020-07-17 22:54:51,449 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 316 edges. 316 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:51,530 INFO L225 Difference]: With dead ends: 1674 [2020-07-17 22:54:51,531 INFO L226 Difference]: Without dead ends: 812 [2020-07-17 22:54:51,535 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 102 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2020-07-17 22:54:51,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 812 states. [2020-07-17 22:54:55,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 812 to 812. [2020-07-17 22:54:55,043 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:54:55,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 812 states. Second operand 812 states. [2020-07-17 22:54:55,044 INFO L74 IsIncluded]: Start isIncluded. First operand 812 states. Second operand 812 states. [2020-07-17 22:54:55,044 INFO L87 Difference]: Start difference. First operand 812 states. Second operand 812 states. [2020-07-17 22:54:55,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:55,109 INFO L93 Difference]: Finished difference Result 812 states and 1048 transitions. [2020-07-17 22:54:55,109 INFO L276 IsEmpty]: Start isEmpty. Operand 812 states and 1048 transitions. [2020-07-17 22:54:55,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:55,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:55,115 INFO L74 IsIncluded]: Start isIncluded. First operand 812 states. Second operand 812 states. [2020-07-17 22:54:55,115 INFO L87 Difference]: Start difference. First operand 812 states. Second operand 812 states. [2020-07-17 22:54:55,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:54:55,177 INFO L93 Difference]: Finished difference Result 812 states and 1048 transitions. [2020-07-17 22:54:55,177 INFO L276 IsEmpty]: Start isEmpty. Operand 812 states and 1048 transitions. [2020-07-17 22:54:55,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:54:55,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:54:55,182 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:54:55,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:54:55,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 812 states. [2020-07-17 22:54:55,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 812 states to 812 states and 1048 transitions. [2020-07-17 22:54:55,253 INFO L78 Accepts]: Start accepts. Automaton has 812 states and 1048 transitions. Word has length 86 [2020-07-17 22:54:55,254 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:54:55,254 INFO L479 AbstractCegarLoop]: Abstraction has 812 states and 1048 transitions. [2020-07-17 22:54:55,254 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-17 22:54:55,254 INFO L276 IsEmpty]: Start isEmpty. Operand 812 states and 1048 transitions. [2020-07-17 22:54:55,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2020-07-17 22:54:55,258 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:54:55,259 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:54:55,473 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-17 22:54:55,474 INFO L427 AbstractCegarLoop]: === Iteration 11 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:54:55,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:54:55,474 INFO L82 PathProgramCache]: Analyzing trace with hash -232030383, now seen corresponding path program 1 times [2020-07-17 22:54:55,475 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:54:55,475 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [752743471] [2020-07-17 22:54:55,475 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:54:55,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,598 INFO L280 TraceCheckUtils]: 0: Hoare triple {30880#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,598 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,599 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {30809#true} {30809#true} #286#return; {30809#true} is VALID [2020-07-17 22:54:55,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,648 INFO L280 TraceCheckUtils]: 0: Hoare triple {30881#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,649 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,649 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {30809#true} {30809#true} #262#return; {30809#true} is VALID [2020-07-17 22:54:55,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,664 INFO L280 TraceCheckUtils]: 0: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,664 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,665 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,665 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {30809#true} {30809#true} #280#return; {30809#true} is VALID [2020-07-17 22:54:55,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,668 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~2; {30809#true} is VALID [2020-07-17 22:54:55,668 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30809#true} is VALID [2020-07-17 22:54:55,668 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} #res := ~__retres1~2; {30809#true} is VALID [2020-07-17 22:54:55,668 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,669 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {30809#true} {30809#true} #272#return; {30809#true} is VALID [2020-07-17 22:54:55,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,749 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,749 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,750 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,750 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,750 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,750 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,756 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,757 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,757 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,757 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,758 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,758 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,758 INFO L280 TraceCheckUtils]: 0: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {30809#true} is VALID [2020-07-17 22:54:55,759 INFO L263 TraceCheckUtils]: 1: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,759 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,759 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,760 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,760 INFO L280 TraceCheckUtils]: 5: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,760 INFO L280 TraceCheckUtils]: 6: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,761 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,761 INFO L280 TraceCheckUtils]: 8: Hoare triple {30809#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {30809#true} is VALID [2020-07-17 22:54:55,762 INFO L280 TraceCheckUtils]: 9: Hoare triple {30809#true} assume !(0 != ~tmp~0); {30809#true} is VALID [2020-07-17 22:54:55,762 INFO L263 TraceCheckUtils]: 10: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,762 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,763 INFO L280 TraceCheckUtils]: 12: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,763 INFO L280 TraceCheckUtils]: 13: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,763 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,763 INFO L280 TraceCheckUtils]: 15: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,764 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,764 INFO L280 TraceCheckUtils]: 17: Hoare triple {30809#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {30809#true} is VALID [2020-07-17 22:54:55,764 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-17 22:54:55,764 INFO L280 TraceCheckUtils]: 19: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,765 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {30809#true} {30857#(= ~p_last_write~0 ~q_buf_0~0)} #266#return; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,766 INFO L280 TraceCheckUtils]: 0: Hoare triple {30883#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-17 22:54:55,766 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-17 22:54:55,766 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume !(0 == ~q_free~0); {30809#true} is VALID [2020-07-17 22:54:55,768 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,770 INFO L263 TraceCheckUtils]: 4: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} call immediate_notify_threads(); {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:55,770 INFO L280 TraceCheckUtils]: 5: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {30809#true} is VALID [2020-07-17 22:54:55,771 INFO L263 TraceCheckUtils]: 6: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,771 INFO L280 TraceCheckUtils]: 7: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,771 INFO L280 TraceCheckUtils]: 8: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,771 INFO L280 TraceCheckUtils]: 9: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,772 INFO L280 TraceCheckUtils]: 10: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,772 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,772 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,773 INFO L280 TraceCheckUtils]: 13: Hoare triple {30809#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {30809#true} is VALID [2020-07-17 22:54:55,773 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} assume !(0 != ~tmp~0); {30809#true} is VALID [2020-07-17 22:54:55,773 INFO L263 TraceCheckUtils]: 15: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,773 INFO L280 TraceCheckUtils]: 16: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,774 INFO L280 TraceCheckUtils]: 17: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,774 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,774 INFO L280 TraceCheckUtils]: 19: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,774 INFO L280 TraceCheckUtils]: 20: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,775 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,775 INFO L280 TraceCheckUtils]: 22: Hoare triple {30809#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {30809#true} is VALID [2020-07-17 22:54:55,775 INFO L280 TraceCheckUtils]: 23: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-17 22:54:55,775 INFO L280 TraceCheckUtils]: 24: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,777 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {30809#true} {30857#(= ~p_last_write~0 ~q_buf_0~0)} #266#return; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,778 INFO L280 TraceCheckUtils]: 26: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} ~q_write_ev~0 := 2; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,780 INFO L280 TraceCheckUtils]: 27: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,781 INFO L280 TraceCheckUtils]: 28: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,783 INFO L280 TraceCheckUtils]: 29: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume true; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,785 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {30857#(= ~p_last_write~0 ~q_buf_0~0)} {30809#true} #274#return; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,805 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,805 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume 1 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-17 22:54:55,806 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,806 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,806 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,806 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:54:55,811 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,812 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,812 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,812 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,813 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,813 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,813 INFO L280 TraceCheckUtils]: 0: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {30809#true} is VALID [2020-07-17 22:54:55,814 INFO L263 TraceCheckUtils]: 1: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,814 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,814 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume 1 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-17 22:54:55,814 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,815 INFO L280 TraceCheckUtils]: 5: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,815 INFO L280 TraceCheckUtils]: 6: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,815 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,816 INFO L280 TraceCheckUtils]: 8: Hoare triple {30809#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {30809#true} is VALID [2020-07-17 22:54:55,816 INFO L280 TraceCheckUtils]: 9: Hoare triple {30809#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,816 INFO L263 TraceCheckUtils]: 10: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,816 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,817 INFO L280 TraceCheckUtils]: 12: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,817 INFO L280 TraceCheckUtils]: 13: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,817 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,818 INFO L280 TraceCheckUtils]: 15: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,818 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,818 INFO L280 TraceCheckUtils]: 17: Hoare triple {30809#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {30809#true} is VALID [2020-07-17 22:54:55,819 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-17 22:54:55,819 INFO L280 TraceCheckUtils]: 19: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,821 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {30809#true} {30858#(= ~c_last_read~0 ~p_last_write~0)} #290#return; {30858#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2020-07-17 22:54:55,823 INFO L263 TraceCheckUtils]: 0: Hoare triple {30809#true} call ULTIMATE.init(); {30880#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:55,823 INFO L280 TraceCheckUtils]: 1: Hoare triple {30880#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,824 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,824 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {30809#true} {30809#true} #286#return; {30809#true} is VALID [2020-07-17 22:54:55,824 INFO L263 TraceCheckUtils]: 4: Hoare triple {30809#true} call #t~ret8 := main(); {30809#true} is VALID [2020-07-17 22:54:55,825 INFO L280 TraceCheckUtils]: 5: Hoare triple {30809#true} havoc ~__retres1~3; {30809#true} is VALID [2020-07-17 22:54:55,827 INFO L263 TraceCheckUtils]: 6: Hoare triple {30809#true} call init_model(); {30881#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:55,828 INFO L280 TraceCheckUtils]: 7: Hoare triple {30881#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,828 INFO L280 TraceCheckUtils]: 8: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,828 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {30809#true} {30809#true} #262#return; {30809#true} is VALID [2020-07-17 22:54:55,829 INFO L263 TraceCheckUtils]: 10: Hoare triple {30809#true} call start_simulation(); {30809#true} is VALID [2020-07-17 22:54:55,829 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,830 INFO L263 TraceCheckUtils]: 12: Hoare triple {30809#true} call init_threads(); {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:55,831 INFO L280 TraceCheckUtils]: 13: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,831 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,831 INFO L280 TraceCheckUtils]: 15: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,832 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {30809#true} {30809#true} #280#return; {30809#true} is VALID [2020-07-17 22:54:55,832 INFO L280 TraceCheckUtils]: 17: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-17 22:54:55,832 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} ~kernel_st~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,833 INFO L263 TraceCheckUtils]: 19: Hoare triple {30809#true} call eval(); {30809#true} is VALID [2020-07-17 22:54:55,833 INFO L280 TraceCheckUtils]: 20: Hoare triple {30809#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {30809#true} is VALID [2020-07-17 22:54:55,833 INFO L280 TraceCheckUtils]: 21: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-17 22:54:55,834 INFO L263 TraceCheckUtils]: 22: Hoare triple {30809#true} call #t~ret3 := exists_runnable_thread(); {30809#true} is VALID [2020-07-17 22:54:55,834 INFO L280 TraceCheckUtils]: 23: Hoare triple {30809#true} havoc ~__retres1~2; {30809#true} is VALID [2020-07-17 22:54:55,834 INFO L280 TraceCheckUtils]: 24: Hoare triple {30809#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30809#true} is VALID [2020-07-17 22:54:55,835 INFO L280 TraceCheckUtils]: 25: Hoare triple {30809#true} #res := ~__retres1~2; {30809#true} is VALID [2020-07-17 22:54:55,835 INFO L280 TraceCheckUtils]: 26: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,835 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {30809#true} {30809#true} #272#return; {30809#true} is VALID [2020-07-17 22:54:55,835 INFO L280 TraceCheckUtils]: 28: Hoare triple {30809#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {30809#true} is VALID [2020-07-17 22:54:55,836 INFO L280 TraceCheckUtils]: 29: Hoare triple {30809#true} assume 0 != ~tmp___1~0; {30809#true} is VALID [2020-07-17 22:54:55,836 INFO L280 TraceCheckUtils]: 30: Hoare triple {30809#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {30809#true} is VALID [2020-07-17 22:54:55,836 INFO L280 TraceCheckUtils]: 31: Hoare triple {30809#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,838 INFO L263 TraceCheckUtils]: 32: Hoare triple {30809#true} call do_write_p(); {30883#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:54:55,839 INFO L280 TraceCheckUtils]: 33: Hoare triple {30883#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-17 22:54:55,839 INFO L280 TraceCheckUtils]: 34: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-17 22:54:55,840 INFO L280 TraceCheckUtils]: 35: Hoare triple {30809#true} assume !(0 == ~q_free~0); {30809#true} is VALID [2020-07-17 22:54:55,841 INFO L280 TraceCheckUtils]: 36: Hoare triple {30809#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,843 INFO L263 TraceCheckUtils]: 37: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} call immediate_notify_threads(); {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:55,843 INFO L280 TraceCheckUtils]: 38: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {30809#true} is VALID [2020-07-17 22:54:55,844 INFO L263 TraceCheckUtils]: 39: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,844 INFO L280 TraceCheckUtils]: 40: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,844 INFO L280 TraceCheckUtils]: 41: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,845 INFO L280 TraceCheckUtils]: 42: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,845 INFO L280 TraceCheckUtils]: 43: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,845 INFO L280 TraceCheckUtils]: 44: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,846 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,846 INFO L280 TraceCheckUtils]: 46: Hoare triple {30809#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {30809#true} is VALID [2020-07-17 22:54:55,846 INFO L280 TraceCheckUtils]: 47: Hoare triple {30809#true} assume !(0 != ~tmp~0); {30809#true} is VALID [2020-07-17 22:54:55,847 INFO L263 TraceCheckUtils]: 48: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,847 INFO L280 TraceCheckUtils]: 49: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,847 INFO L280 TraceCheckUtils]: 50: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,847 INFO L280 TraceCheckUtils]: 51: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,848 INFO L280 TraceCheckUtils]: 52: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,848 INFO L280 TraceCheckUtils]: 53: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,848 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,849 INFO L280 TraceCheckUtils]: 55: Hoare triple {30809#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {30809#true} is VALID [2020-07-17 22:54:55,849 INFO L280 TraceCheckUtils]: 56: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-17 22:54:55,849 INFO L280 TraceCheckUtils]: 57: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,850 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {30809#true} {30857#(= ~p_last_write~0 ~q_buf_0~0)} #266#return; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,852 INFO L280 TraceCheckUtils]: 59: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} ~q_write_ev~0 := 2; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,853 INFO L280 TraceCheckUtils]: 60: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,855 INFO L280 TraceCheckUtils]: 61: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,855 INFO L280 TraceCheckUtils]: 62: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume true; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,857 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {30857#(= ~p_last_write~0 ~q_buf_0~0)} {30809#true} #274#return; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,858 INFO L280 TraceCheckUtils]: 64: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,860 INFO L280 TraceCheckUtils]: 65: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,861 INFO L263 TraceCheckUtils]: 66: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} call do_read_c(); {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,862 INFO L280 TraceCheckUtils]: 67: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} havoc ~a~0; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,864 INFO L280 TraceCheckUtils]: 68: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~c_dr_pc~0; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,865 INFO L280 TraceCheckUtils]: 69: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,867 INFO L280 TraceCheckUtils]: 70: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} assume !(1 == ~q_free~0); {30857#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2020-07-17 22:54:55,869 INFO L280 TraceCheckUtils]: 71: Hoare triple {30857#(= ~p_last_write~0 ~q_buf_0~0)} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {30858#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2020-07-17 22:54:55,871 INFO L263 TraceCheckUtils]: 72: Hoare triple {30858#(= ~c_last_read~0 ~p_last_write~0)} call immediate_notify_threads(); {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:54:55,872 INFO L280 TraceCheckUtils]: 73: Hoare triple {30882#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {30809#true} is VALID [2020-07-17 22:54:55,872 INFO L263 TraceCheckUtils]: 74: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,872 INFO L280 TraceCheckUtils]: 75: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,872 INFO L280 TraceCheckUtils]: 76: Hoare triple {30809#true} assume 1 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-17 22:54:55,873 INFO L280 TraceCheckUtils]: 77: Hoare triple {30809#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {30809#true} is VALID [2020-07-17 22:54:55,873 INFO L280 TraceCheckUtils]: 78: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-17 22:54:55,873 INFO L280 TraceCheckUtils]: 79: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,874 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-17 22:54:55,874 INFO L280 TraceCheckUtils]: 81: Hoare triple {30809#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {30809#true} is VALID [2020-07-17 22:54:55,874 INFO L280 TraceCheckUtils]: 82: Hoare triple {30809#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {30809#true} is VALID [2020-07-17 22:54:55,874 INFO L263 TraceCheckUtils]: 83: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-17 22:54:55,875 INFO L280 TraceCheckUtils]: 84: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,875 INFO L280 TraceCheckUtils]: 85: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-17 22:54:55,875 INFO L280 TraceCheckUtils]: 86: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-17 22:54:55,876 INFO L280 TraceCheckUtils]: 87: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-17 22:54:55,876 INFO L280 TraceCheckUtils]: 88: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,876 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-17 22:54:55,876 INFO L280 TraceCheckUtils]: 90: Hoare triple {30809#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {30809#true} is VALID [2020-07-17 22:54:55,877 INFO L280 TraceCheckUtils]: 91: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-17 22:54:55,877 INFO L280 TraceCheckUtils]: 92: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-17 22:54:55,879 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {30809#true} {30858#(= ~c_last_read~0 ~p_last_write~0)} #290#return; {30858#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2020-07-17 22:54:55,880 INFO L280 TraceCheckUtils]: 94: Hoare triple {30858#(= ~c_last_read~0 ~p_last_write~0)} ~q_read_ev~0 := 2; {30858#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2020-07-17 22:54:55,881 INFO L280 TraceCheckUtils]: 95: Hoare triple {30858#(= ~c_last_read~0 ~p_last_write~0)} assume !(~p_last_write~0 == ~c_last_read~0); {30810#false} is VALID [2020-07-17 22:54:55,882 INFO L263 TraceCheckUtils]: 96: Hoare triple {30810#false} call error(); {30810#false} is VALID [2020-07-17 22:54:55,882 INFO L280 TraceCheckUtils]: 97: Hoare triple {30810#false} assume !false; {30810#false} is VALID [2020-07-17 22:54:55,900 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2020-07-17 22:54:55,901 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [752743471] [2020-07-17 22:54:55,901 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:54:55,902 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-17 22:54:55,902 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [332979276] [2020-07-17 22:54:55,903 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 98 [2020-07-17 22:54:55,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:54:55,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:54:56,026 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:54:56,027 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:54:56,027 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:54:56,028 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:54:56,028 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:54:56,029 INFO L87 Difference]: Start difference. First operand 812 states and 1048 transitions. Second operand 8 states. [2020-07-17 22:55:03,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:03,444 INFO L93 Difference]: Finished difference Result 962 states and 1270 transitions. [2020-07-17 22:55:03,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-17 22:55:03,444 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 98 [2020-07-17 22:55:03,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:55:03,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:55:03,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 285 transitions. [2020-07-17 22:55:03,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:55:03,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 285 transitions. [2020-07-17 22:55:03,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 285 transitions. [2020-07-17 22:55:04,100 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 285 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:55:04,182 INFO L225 Difference]: With dead ends: 962 [2020-07-17 22:55:04,183 INFO L226 Difference]: Without dead ends: 959 [2020-07-17 22:55:04,184 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=66, Invalid=144, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:55:04,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 959 states. [2020-07-17 22:55:08,023 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 959 to 820. [2020-07-17 22:55:08,023 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:55:08,023 INFO L82 GeneralOperation]: Start isEquivalent. First operand 959 states. Second operand 820 states. [2020-07-17 22:55:08,024 INFO L74 IsIncluded]: Start isIncluded. First operand 959 states. Second operand 820 states. [2020-07-17 22:55:08,024 INFO L87 Difference]: Start difference. First operand 959 states. Second operand 820 states. [2020-07-17 22:55:08,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:08,091 INFO L93 Difference]: Finished difference Result 959 states and 1264 transitions. [2020-07-17 22:55:08,091 INFO L276 IsEmpty]: Start isEmpty. Operand 959 states and 1264 transitions. [2020-07-17 22:55:08,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:55:08,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:55:08,096 INFO L74 IsIncluded]: Start isIncluded. First operand 820 states. Second operand 959 states. [2020-07-17 22:55:08,096 INFO L87 Difference]: Start difference. First operand 820 states. Second operand 959 states. [2020-07-17 22:55:08,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:08,165 INFO L93 Difference]: Finished difference Result 959 states and 1264 transitions. [2020-07-17 22:55:08,165 INFO L276 IsEmpty]: Start isEmpty. Operand 959 states and 1264 transitions. [2020-07-17 22:55:08,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:55:08,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:55:08,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:55:08,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:55:08,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 820 states. [2020-07-17 22:55:08,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 820 states to 820 states and 1043 transitions. [2020-07-17 22:55:08,235 INFO L78 Accepts]: Start accepts. Automaton has 820 states and 1043 transitions. Word has length 98 [2020-07-17 22:55:08,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:55:08,236 INFO L479 AbstractCegarLoop]: Abstraction has 820 states and 1043 transitions. [2020-07-17 22:55:08,236 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:55:08,236 INFO L276 IsEmpty]: Start isEmpty. Operand 820 states and 1043 transitions. [2020-07-17 22:55:08,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2020-07-17 22:55:08,241 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:55:08,242 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:55:08,242 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-17 22:55:08,242 INFO L427 AbstractCegarLoop]: === Iteration 12 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:55:08,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:55:08,242 INFO L82 PathProgramCache]: Analyzing trace with hash 1396688396, now seen corresponding path program 1 times [2020-07-17 22:55:08,243 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:55:08,243 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [673707414] [2020-07-17 22:55:08,243 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:55:08,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,451 INFO L280 TraceCheckUtils]: 0: Hoare triple {35404#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,452 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,452 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {35333#true} {35333#true} #286#return; {35333#true} is VALID [2020-07-17 22:55:08,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,493 INFO L280 TraceCheckUtils]: 0: Hoare triple {35405#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,494 INFO L280 TraceCheckUtils]: 1: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume true; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,494 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} {35333#true} #262#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,513 INFO L280 TraceCheckUtils]: 0: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,513 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,514 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,514 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {35333#true} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #280#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,518 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~2; {35333#true} is VALID [2020-07-17 22:55:08,519 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {35333#true} is VALID [2020-07-17 22:55:08,519 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} #res := ~__retres1~2; {35333#true} is VALID [2020-07-17 22:55:08,519 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,520 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {35333#true} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #272#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,612 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,613 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,613 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,613 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,613 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,614 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,620 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,621 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,621 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,621 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,621 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,622 INFO L280 TraceCheckUtils]: 0: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {35333#true} is VALID [2020-07-17 22:55:08,622 INFO L263 TraceCheckUtils]: 1: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,622 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,622 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,622 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,623 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,623 INFO L280 TraceCheckUtils]: 6: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,623 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,623 INFO L280 TraceCheckUtils]: 8: Hoare triple {35333#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35333#true} is VALID [2020-07-17 22:55:08,623 INFO L280 TraceCheckUtils]: 9: Hoare triple {35333#true} assume !(0 != ~tmp~0); {35333#true} is VALID [2020-07-17 22:55:08,623 INFO L263 TraceCheckUtils]: 10: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,624 INFO L280 TraceCheckUtils]: 11: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,624 INFO L280 TraceCheckUtils]: 12: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,624 INFO L280 TraceCheckUtils]: 13: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,624 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,624 INFO L280 TraceCheckUtils]: 15: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,625 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,625 INFO L280 TraceCheckUtils]: 17: Hoare triple {35333#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35333#true} is VALID [2020-07-17 22:55:08,625 INFO L280 TraceCheckUtils]: 18: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-17 22:55:08,625 INFO L280 TraceCheckUtils]: 19: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,627 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {35333#true} {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} #266#return; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,629 INFO L280 TraceCheckUtils]: 0: Hoare triple {35407#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} is VALID [2020-07-17 22:55:08,630 INFO L280 TraceCheckUtils]: 1: Hoare triple {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} assume !false; {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} is VALID [2020-07-17 22:55:08,630 INFO L280 TraceCheckUtils]: 2: Hoare triple {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} assume !(0 == ~q_free~0); {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} is VALID [2020-07-17 22:55:08,631 INFO L280 TraceCheckUtils]: 3: Hoare triple {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,632 INFO L263 TraceCheckUtils]: 4: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} call immediate_notify_threads(); {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:08,632 INFO L280 TraceCheckUtils]: 5: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {35333#true} is VALID [2020-07-17 22:55:08,632 INFO L263 TraceCheckUtils]: 6: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,633 INFO L280 TraceCheckUtils]: 7: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,633 INFO L280 TraceCheckUtils]: 8: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,633 INFO L280 TraceCheckUtils]: 9: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,633 INFO L280 TraceCheckUtils]: 10: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,633 INFO L280 TraceCheckUtils]: 11: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,633 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,634 INFO L280 TraceCheckUtils]: 13: Hoare triple {35333#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35333#true} is VALID [2020-07-17 22:55:08,634 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} assume !(0 != ~tmp~0); {35333#true} is VALID [2020-07-17 22:55:08,634 INFO L263 TraceCheckUtils]: 15: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,634 INFO L280 TraceCheckUtils]: 16: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,634 INFO L280 TraceCheckUtils]: 17: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,634 INFO L280 TraceCheckUtils]: 18: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,635 INFO L280 TraceCheckUtils]: 19: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,635 INFO L280 TraceCheckUtils]: 20: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,635 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,635 INFO L280 TraceCheckUtils]: 22: Hoare triple {35333#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35333#true} is VALID [2020-07-17 22:55:08,635 INFO L280 TraceCheckUtils]: 23: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-17 22:55:08,636 INFO L280 TraceCheckUtils]: 24: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,636 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {35333#true} {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} #266#return; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,637 INFO L280 TraceCheckUtils]: 26: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} ~q_write_ev~0 := 2; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,638 INFO L280 TraceCheckUtils]: 27: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} assume !false; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,638 INFO L280 TraceCheckUtils]: 28: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,639 INFO L280 TraceCheckUtils]: 29: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} assume true; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,640 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #274#return; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,651 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,651 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume 1 == ~p_dw_pc~0; {35333#true} is VALID [2020-07-17 22:55:08,651 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35333#true} is VALID [2020-07-17 22:55:08,652 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,652 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,652 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,655 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,655 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,656 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,656 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,656 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,656 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,656 INFO L280 TraceCheckUtils]: 0: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {35333#true} is VALID [2020-07-17 22:55:08,657 INFO L263 TraceCheckUtils]: 1: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,657 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,657 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} assume 1 == ~p_dw_pc~0; {35333#true} is VALID [2020-07-17 22:55:08,657 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35333#true} is VALID [2020-07-17 22:55:08,657 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,658 INFO L280 TraceCheckUtils]: 6: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,658 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,658 INFO L280 TraceCheckUtils]: 8: Hoare triple {35333#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35333#true} is VALID [2020-07-17 22:55:08,658 INFO L280 TraceCheckUtils]: 9: Hoare triple {35333#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,658 INFO L263 TraceCheckUtils]: 10: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,659 INFO L280 TraceCheckUtils]: 11: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,659 INFO L280 TraceCheckUtils]: 12: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,659 INFO L280 TraceCheckUtils]: 13: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,659 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,659 INFO L280 TraceCheckUtils]: 15: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,660 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,660 INFO L280 TraceCheckUtils]: 17: Hoare triple {35333#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35333#true} is VALID [2020-07-17 22:55:08,660 INFO L280 TraceCheckUtils]: 18: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-17 22:55:08,660 INFO L280 TraceCheckUtils]: 19: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,661 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {35333#true} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #290#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,663 INFO L263 TraceCheckUtils]: 0: Hoare triple {35333#true} call ULTIMATE.init(); {35404#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:55:08,663 INFO L280 TraceCheckUtils]: 1: Hoare triple {35404#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,663 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,663 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {35333#true} {35333#true} #286#return; {35333#true} is VALID [2020-07-17 22:55:08,664 INFO L263 TraceCheckUtils]: 4: Hoare triple {35333#true} call #t~ret8 := main(); {35333#true} is VALID [2020-07-17 22:55:08,664 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} havoc ~__retres1~3; {35333#true} is VALID [2020-07-17 22:55:08,665 INFO L263 TraceCheckUtils]: 6: Hoare triple {35333#true} call init_model(); {35405#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:55:08,666 INFO L280 TraceCheckUtils]: 7: Hoare triple {35405#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,666 INFO L280 TraceCheckUtils]: 8: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume true; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,667 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} {35333#true} #262#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,668 INFO L263 TraceCheckUtils]: 10: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} call start_simulation(); {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,669 INFO L280 TraceCheckUtils]: 11: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,671 INFO L263 TraceCheckUtils]: 12: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} call init_threads(); {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:08,672 INFO L280 TraceCheckUtils]: 13: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,672 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,673 INFO L280 TraceCheckUtils]: 15: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,673 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {35333#true} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #280#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,674 INFO L280 TraceCheckUtils]: 17: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume !false; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,675 INFO L280 TraceCheckUtils]: 18: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} ~kernel_st~0 := 1; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,675 INFO L263 TraceCheckUtils]: 19: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} call eval(); {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,676 INFO L280 TraceCheckUtils]: 20: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,677 INFO L280 TraceCheckUtils]: 21: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume !false; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,677 INFO L263 TraceCheckUtils]: 22: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} call #t~ret3 := exists_runnable_thread(); {35333#true} is VALID [2020-07-17 22:55:08,677 INFO L280 TraceCheckUtils]: 23: Hoare triple {35333#true} havoc ~__retres1~2; {35333#true} is VALID [2020-07-17 22:55:08,677 INFO L280 TraceCheckUtils]: 24: Hoare triple {35333#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {35333#true} is VALID [2020-07-17 22:55:08,677 INFO L280 TraceCheckUtils]: 25: Hoare triple {35333#true} #res := ~__retres1~2; {35333#true} is VALID [2020-07-17 22:55:08,677 INFO L280 TraceCheckUtils]: 26: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,678 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {35333#true} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #272#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,679 INFO L280 TraceCheckUtils]: 28: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,679 INFO L280 TraceCheckUtils]: 29: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume 0 != ~tmp___1~0; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,680 INFO L280 TraceCheckUtils]: 30: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,681 INFO L280 TraceCheckUtils]: 31: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,682 INFO L263 TraceCheckUtils]: 32: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} call do_write_p(); {35407#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:55:08,682 INFO L280 TraceCheckUtils]: 33: Hoare triple {35407#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} is VALID [2020-07-17 22:55:08,683 INFO L280 TraceCheckUtils]: 34: Hoare triple {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} assume !false; {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} is VALID [2020-07-17 22:55:08,683 INFO L280 TraceCheckUtils]: 35: Hoare triple {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} assume !(0 == ~q_free~0); {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} is VALID [2020-07-17 22:55:08,684 INFO L280 TraceCheckUtils]: 36: Hoare triple {35408#(= ~p_num_write~0 |old(~p_num_write~0)|)} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,685 INFO L263 TraceCheckUtils]: 37: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} call immediate_notify_threads(); {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:08,685 INFO L280 TraceCheckUtils]: 38: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {35333#true} is VALID [2020-07-17 22:55:08,685 INFO L263 TraceCheckUtils]: 39: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,685 INFO L280 TraceCheckUtils]: 40: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,686 INFO L280 TraceCheckUtils]: 41: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,686 INFO L280 TraceCheckUtils]: 42: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,686 INFO L280 TraceCheckUtils]: 43: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,686 INFO L280 TraceCheckUtils]: 44: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,686 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,687 INFO L280 TraceCheckUtils]: 46: Hoare triple {35333#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35333#true} is VALID [2020-07-17 22:55:08,687 INFO L280 TraceCheckUtils]: 47: Hoare triple {35333#true} assume !(0 != ~tmp~0); {35333#true} is VALID [2020-07-17 22:55:08,687 INFO L263 TraceCheckUtils]: 48: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,687 INFO L280 TraceCheckUtils]: 49: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,687 INFO L280 TraceCheckUtils]: 50: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,687 INFO L280 TraceCheckUtils]: 51: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,688 INFO L280 TraceCheckUtils]: 52: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,688 INFO L280 TraceCheckUtils]: 53: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,688 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,688 INFO L280 TraceCheckUtils]: 55: Hoare triple {35333#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35333#true} is VALID [2020-07-17 22:55:08,688 INFO L280 TraceCheckUtils]: 56: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-17 22:55:08,689 INFO L280 TraceCheckUtils]: 57: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,689 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {35333#true} {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} #266#return; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,690 INFO L280 TraceCheckUtils]: 59: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} ~q_write_ev~0 := 2; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,691 INFO L280 TraceCheckUtils]: 60: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} assume !false; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,691 INFO L280 TraceCheckUtils]: 61: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,692 INFO L280 TraceCheckUtils]: 62: Hoare triple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} assume true; {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} is VALID [2020-07-17 22:55:08,693 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {35409#(and (<= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0))} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #274#return; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,694 INFO L280 TraceCheckUtils]: 64: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,694 INFO L280 TraceCheckUtils]: 65: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,695 INFO L263 TraceCheckUtils]: 66: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} call do_read_c(); {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,696 INFO L280 TraceCheckUtils]: 67: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} havoc ~a~0; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,696 INFO L280 TraceCheckUtils]: 68: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} assume 0 == ~c_dr_pc~0; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,697 INFO L280 TraceCheckUtils]: 69: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} assume !false; {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,698 INFO L280 TraceCheckUtils]: 70: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} assume !(1 == ~q_free~0); {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} is VALID [2020-07-17 22:55:08,699 INFO L280 TraceCheckUtils]: 71: Hoare triple {35382#(and (<= (+ ~c_num_read~0 1) ~p_num_write~0) (<= ~p_num_write~0 (+ ~c_num_read~0 1)))} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,699 INFO L263 TraceCheckUtils]: 72: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} call immediate_notify_threads(); {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:08,700 INFO L280 TraceCheckUtils]: 73: Hoare triple {35406#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {35333#true} is VALID [2020-07-17 22:55:08,700 INFO L263 TraceCheckUtils]: 74: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,700 INFO L280 TraceCheckUtils]: 75: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,700 INFO L280 TraceCheckUtils]: 76: Hoare triple {35333#true} assume 1 == ~p_dw_pc~0; {35333#true} is VALID [2020-07-17 22:55:08,700 INFO L280 TraceCheckUtils]: 77: Hoare triple {35333#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35333#true} is VALID [2020-07-17 22:55:08,700 INFO L280 TraceCheckUtils]: 78: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-17 22:55:08,701 INFO L280 TraceCheckUtils]: 79: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,701 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-17 22:55:08,701 INFO L280 TraceCheckUtils]: 81: Hoare triple {35333#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35333#true} is VALID [2020-07-17 22:55:08,701 INFO L280 TraceCheckUtils]: 82: Hoare triple {35333#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {35333#true} is VALID [2020-07-17 22:55:08,701 INFO L263 TraceCheckUtils]: 83: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-17 22:55:08,701 INFO L280 TraceCheckUtils]: 84: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,702 INFO L280 TraceCheckUtils]: 85: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-17 22:55:08,702 INFO L280 TraceCheckUtils]: 86: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-17 22:55:08,702 INFO L280 TraceCheckUtils]: 87: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-17 22:55:08,702 INFO L280 TraceCheckUtils]: 88: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,702 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-17 22:55:08,702 INFO L280 TraceCheckUtils]: 90: Hoare triple {35333#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35333#true} is VALID [2020-07-17 22:55:08,703 INFO L280 TraceCheckUtils]: 91: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-17 22:55:08,703 INFO L280 TraceCheckUtils]: 92: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:08,703 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {35333#true} {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} #290#return; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,704 INFO L280 TraceCheckUtils]: 94: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} ~q_read_ev~0 := 2; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,705 INFO L280 TraceCheckUtils]: 95: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume ~p_last_write~0 == ~c_last_read~0; {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} is VALID [2020-07-17 22:55:08,705 INFO L280 TraceCheckUtils]: 96: Hoare triple {35341#(and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0))} assume !(~p_num_write~0 == ~c_num_read~0); {35334#false} is VALID [2020-07-17 22:55:08,706 INFO L263 TraceCheckUtils]: 97: Hoare triple {35334#false} call error(); {35334#false} is VALID [2020-07-17 22:55:08,706 INFO L280 TraceCheckUtils]: 98: Hoare triple {35334#false} assume !false; {35334#false} is VALID [2020-07-17 22:55:08,720 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2020-07-17 22:55:08,721 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [673707414] [2020-07-17 22:55:08,721 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [280312194] [2020-07-17 22:55:08,721 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:55:08,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,865 INFO L264 TraceCheckSpWp]: Trace formula consists of 599 conjuncts, 33 conjunts are in the unsatisfiable core [2020-07-17 22:55:08,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:08,903 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:55:09,282 INFO L263 TraceCheckUtils]: 0: Hoare triple {35333#true} call ULTIMATE.init(); {35333#true} is VALID [2020-07-17 22:55:09,283 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {35333#true} is VALID [2020-07-17 22:55:09,283 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-17 22:55:09,283 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {35333#true} {35333#true} #286#return; {35333#true} is VALID [2020-07-17 22:55:09,284 INFO L263 TraceCheckUtils]: 4: Hoare triple {35333#true} call #t~ret8 := main(); {35333#true} is VALID [2020-07-17 22:55:09,284 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} havoc ~__retres1~3; {35333#true} is VALID [2020-07-17 22:55:09,284 INFO L263 TraceCheckUtils]: 6: Hoare triple {35333#true} call init_model(); {35333#true} is VALID [2020-07-17 22:55:09,285 INFO L280 TraceCheckUtils]: 7: Hoare triple {35333#true} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,286 INFO L280 TraceCheckUtils]: 8: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume true; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,287 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} {35333#true} #262#return; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,289 INFO L263 TraceCheckUtils]: 10: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} call start_simulation(); {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,291 INFO L280 TraceCheckUtils]: 11: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,292 INFO L263 TraceCheckUtils]: 12: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} call init_threads(); {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,293 INFO L280 TraceCheckUtils]: 13: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,294 INFO L280 TraceCheckUtils]: 14: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,296 INFO L280 TraceCheckUtils]: 15: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume true; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,298 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} #280#return; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,299 INFO L280 TraceCheckUtils]: 17: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume !false; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,301 INFO L280 TraceCheckUtils]: 18: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} ~kernel_st~0 := 1; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,301 INFO L263 TraceCheckUtils]: 19: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} call eval(); {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,302 INFO L280 TraceCheckUtils]: 20: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,302 INFO L280 TraceCheckUtils]: 21: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume !false; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,303 INFO L263 TraceCheckUtils]: 22: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} call #t~ret3 := exists_runnable_thread(); {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,303 INFO L280 TraceCheckUtils]: 23: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} havoc ~__retres1~2; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,304 INFO L280 TraceCheckUtils]: 24: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,306 INFO L280 TraceCheckUtils]: 25: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} #res := ~__retres1~2; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,309 INFO L280 TraceCheckUtils]: 26: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume true; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,311 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} #272#return; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,311 INFO L280 TraceCheckUtils]: 28: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,312 INFO L280 TraceCheckUtils]: 29: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume 0 != ~tmp___1~0; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,313 INFO L280 TraceCheckUtils]: 30: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,313 INFO L280 TraceCheckUtils]: 31: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,314 INFO L263 TraceCheckUtils]: 32: Hoare triple {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} call do_write_p(); {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} is VALID [2020-07-17 22:55:09,316 INFO L280 TraceCheckUtils]: 33: Hoare triple {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} assume 0 == ~p_dw_pc~0; {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} is VALID [2020-07-17 22:55:09,318 INFO L280 TraceCheckUtils]: 34: Hoare triple {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} assume !false; {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} is VALID [2020-07-17 22:55:09,319 INFO L280 TraceCheckUtils]: 35: Hoare triple {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} assume !(0 == ~q_free~0); {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} is VALID [2020-07-17 22:55:09,321 INFO L280 TraceCheckUtils]: 36: Hoare triple {35555#(and (= ~p_num_write~0 |old(~p_num_write~0)|) (= 0 ~c_num_read~0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} is VALID [2020-07-17 22:55:09,322 INFO L263 TraceCheckUtils]: 37: Hoare triple {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} call immediate_notify_threads(); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,322 INFO L280 TraceCheckUtils]: 38: Hoare triple {35572#(= 0 ~c_num_read~0)} havoc ~tmp~0;havoc ~tmp___0~0; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,323 INFO L263 TraceCheckUtils]: 39: Hoare triple {35572#(= 0 ~c_num_read~0)} call #t~ret0 := is_do_write_p_triggered(); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,323 INFO L280 TraceCheckUtils]: 40: Hoare triple {35572#(= 0 ~c_num_read~0)} havoc ~__retres1~0; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,324 INFO L280 TraceCheckUtils]: 41: Hoare triple {35572#(= 0 ~c_num_read~0)} assume !(1 == ~p_dw_pc~0); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,324 INFO L280 TraceCheckUtils]: 42: Hoare triple {35572#(= 0 ~c_num_read~0)} ~__retres1~0 := 0; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,325 INFO L280 TraceCheckUtils]: 43: Hoare triple {35572#(= 0 ~c_num_read~0)} #res := ~__retres1~0; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,326 INFO L280 TraceCheckUtils]: 44: Hoare triple {35572#(= 0 ~c_num_read~0)} assume true; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,327 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {35572#(= 0 ~c_num_read~0)} {35572#(= 0 ~c_num_read~0)} #268#return; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,329 INFO L280 TraceCheckUtils]: 46: Hoare triple {35572#(= 0 ~c_num_read~0)} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,330 INFO L280 TraceCheckUtils]: 47: Hoare triple {35572#(= 0 ~c_num_read~0)} assume !(0 != ~tmp~0); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,332 INFO L263 TraceCheckUtils]: 48: Hoare triple {35572#(= 0 ~c_num_read~0)} call #t~ret1 := is_do_read_c_triggered(); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,332 INFO L280 TraceCheckUtils]: 49: Hoare triple {35572#(= 0 ~c_num_read~0)} havoc ~__retres1~1; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,333 INFO L280 TraceCheckUtils]: 50: Hoare triple {35572#(= 0 ~c_num_read~0)} assume !(1 == ~c_dr_pc~0); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,333 INFO L280 TraceCheckUtils]: 51: Hoare triple {35572#(= 0 ~c_num_read~0)} ~__retres1~1 := 0; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,334 INFO L280 TraceCheckUtils]: 52: Hoare triple {35572#(= 0 ~c_num_read~0)} #res := ~__retres1~1; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,334 INFO L280 TraceCheckUtils]: 53: Hoare triple {35572#(= 0 ~c_num_read~0)} assume true; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,335 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {35572#(= 0 ~c_num_read~0)} {35572#(= 0 ~c_num_read~0)} #270#return; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,336 INFO L280 TraceCheckUtils]: 55: Hoare triple {35572#(= 0 ~c_num_read~0)} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,338 INFO L280 TraceCheckUtils]: 56: Hoare triple {35572#(= 0 ~c_num_read~0)} assume !(0 != ~tmp___0~0); {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,340 INFO L280 TraceCheckUtils]: 57: Hoare triple {35572#(= 0 ~c_num_read~0)} assume true; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-17 22:55:09,341 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {35572#(= 0 ~c_num_read~0)} {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} #266#return; {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} is VALID [2020-07-17 22:55:09,342 INFO L280 TraceCheckUtils]: 59: Hoare triple {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} ~q_write_ev~0 := 2; {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} is VALID [2020-07-17 22:55:09,343 INFO L280 TraceCheckUtils]: 60: Hoare triple {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} assume !false; {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} is VALID [2020-07-17 22:55:09,343 INFO L280 TraceCheckUtils]: 61: Hoare triple {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} is VALID [2020-07-17 22:55:09,344 INFO L280 TraceCheckUtils]: 62: Hoare triple {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} assume true; {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} is VALID [2020-07-17 22:55:09,347 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {35568#(and (= 0 ~c_num_read~0) (= ~p_num_write~0 (+ |old(~p_num_write~0)| 1)))} {35479#(and (= 0 ~c_num_read~0) (= 0 ~p_num_write~0))} #274#return; {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,349 INFO L280 TraceCheckUtils]: 64: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,350 INFO L280 TraceCheckUtils]: 65: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,351 INFO L263 TraceCheckUtils]: 66: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} call do_read_c(); {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,352 INFO L280 TraceCheckUtils]: 67: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} havoc ~a~0; {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,352 INFO L280 TraceCheckUtils]: 68: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} assume 0 == ~c_dr_pc~0; {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,354 INFO L280 TraceCheckUtils]: 69: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} assume !false; {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,354 INFO L280 TraceCheckUtils]: 70: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} assume !(1 == ~q_free~0); {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,357 INFO L280 TraceCheckUtils]: 71: Hoare triple {35651#(and (= 0 ~c_num_read~0) (= 1 ~p_num_write~0))} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,359 INFO L263 TraceCheckUtils]: 72: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} call immediate_notify_threads(); {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,360 INFO L280 TraceCheckUtils]: 73: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} havoc ~tmp~0;havoc ~tmp___0~0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,361 INFO L263 TraceCheckUtils]: 74: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} call #t~ret0 := is_do_write_p_triggered(); {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,362 INFO L280 TraceCheckUtils]: 75: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} havoc ~__retres1~0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,362 INFO L280 TraceCheckUtils]: 76: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume 1 == ~p_dw_pc~0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,363 INFO L280 TraceCheckUtils]: 77: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,364 INFO L280 TraceCheckUtils]: 78: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} #res := ~__retres1~0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,364 INFO L280 TraceCheckUtils]: 79: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume true; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,366 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} #268#return; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,368 INFO L280 TraceCheckUtils]: 81: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,370 INFO L280 TraceCheckUtils]: 82: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,371 INFO L263 TraceCheckUtils]: 83: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} call #t~ret1 := is_do_read_c_triggered(); {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,372 INFO L280 TraceCheckUtils]: 84: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} havoc ~__retres1~1; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,372 INFO L280 TraceCheckUtils]: 85: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume !(1 == ~c_dr_pc~0); {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,373 INFO L280 TraceCheckUtils]: 86: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} ~__retres1~1 := 0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,374 INFO L280 TraceCheckUtils]: 87: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} #res := ~__retres1~1; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,375 INFO L280 TraceCheckUtils]: 88: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume true; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,377 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} #270#return; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,379 INFO L280 TraceCheckUtils]: 90: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,380 INFO L280 TraceCheckUtils]: 91: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume !(0 != ~tmp___0~0); {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,381 INFO L280 TraceCheckUtils]: 92: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume true; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,382 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} #290#return; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,383 INFO L280 TraceCheckUtils]: 94: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} ~q_read_ev~0 := 2; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,384 INFO L280 TraceCheckUtils]: 95: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume ~p_last_write~0 == ~c_last_read~0; {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} is VALID [2020-07-17 22:55:09,385 INFO L280 TraceCheckUtils]: 96: Hoare triple {35676#(and (= 1 ~c_num_read~0) (= 1 ~p_num_write~0))} assume !(~p_num_write~0 == ~c_num_read~0); {35334#false} is VALID [2020-07-17 22:55:09,385 INFO L263 TraceCheckUtils]: 97: Hoare triple {35334#false} call error(); {35334#false} is VALID [2020-07-17 22:55:09,385 INFO L280 TraceCheckUtils]: 98: Hoare triple {35334#false} assume !false; {35334#false} is VALID [2020-07-17 22:55:09,410 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:55:09,411 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:55:09,411 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 16 [2020-07-17 22:55:09,412 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [345863627] [2020-07-17 22:55:09,413 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 99 [2020-07-17 22:55:09,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:55:09,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-17 22:55:09,597 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:55:09,597 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-17 22:55:09,597 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:55:09,598 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-17 22:55:09,598 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2020-07-17 22:55:09,598 INFO L87 Difference]: Start difference. First operand 820 states and 1043 transitions. Second operand 16 states. [2020-07-17 22:55:41,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:41,418 INFO L93 Difference]: Finished difference Result 2540 states and 3915 transitions. [2020-07-17 22:55:41,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2020-07-17 22:55:41,418 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 99 [2020-07-17 22:55:41,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:55:41,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-17 22:55:41,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 1026 transitions. [2020-07-17 22:55:41,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-17 22:55:41,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 1026 transitions. [2020-07-17 22:55:41,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 1026 transitions. [2020-07-17 22:55:43,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 1026 edges. 1026 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:55:44,011 INFO L225 Difference]: With dead ends: 2540 [2020-07-17 22:55:44,012 INFO L226 Difference]: Without dead ends: 2537 [2020-07-17 22:55:44,014 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 550 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=306, Invalid=1674, Unknown=0, NotChecked=0, Total=1980 [2020-07-17 22:55:44,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2537 states. [2020-07-17 22:55:54,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2537 to 2338. [2020-07-17 22:55:54,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:55:54,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2537 states. Second operand 2338 states. [2020-07-17 22:55:54,316 INFO L74 IsIncluded]: Start isIncluded. First operand 2537 states. Second operand 2338 states. [2020-07-17 22:55:54,317 INFO L87 Difference]: Start difference. First operand 2537 states. Second operand 2338 states. [2020-07-17 22:55:54,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:54,609 INFO L93 Difference]: Finished difference Result 2537 states and 3905 transitions. [2020-07-17 22:55:54,609 INFO L276 IsEmpty]: Start isEmpty. Operand 2537 states and 3905 transitions. [2020-07-17 22:55:54,624 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:55:54,624 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:55:54,624 INFO L74 IsIncluded]: Start isIncluded. First operand 2338 states. Second operand 2537 states. [2020-07-17 22:55:54,625 INFO L87 Difference]: Start difference. First operand 2338 states. Second operand 2537 states. [2020-07-17 22:55:54,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:55:54,922 INFO L93 Difference]: Finished difference Result 2537 states and 3905 transitions. [2020-07-17 22:55:54,922 INFO L276 IsEmpty]: Start isEmpty. Operand 2537 states and 3905 transitions. [2020-07-17 22:55:54,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:55:54,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:55:54,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:55:54,940 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:55:54,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2338 states. [2020-07-17 22:55:55,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2338 states to 2338 states and 3577 transitions. [2020-07-17 22:55:55,225 INFO L78 Accepts]: Start accepts. Automaton has 2338 states and 3577 transitions. Word has length 99 [2020-07-17 22:55:55,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:55:55,225 INFO L479 AbstractCegarLoop]: Abstraction has 2338 states and 3577 transitions. [2020-07-17 22:55:55,225 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-17 22:55:55,225 INFO L276 IsEmpty]: Start isEmpty. Operand 2338 states and 3577 transitions. [2020-07-17 22:55:55,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 126 [2020-07-17 22:55:55,229 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:55:55,229 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:55:55,436 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2020-07-17 22:55:55,436 INFO L427 AbstractCegarLoop]: === Iteration 13 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:55:55,437 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:55:55,437 INFO L82 PathProgramCache]: Analyzing trace with hash 83738947, now seen corresponding path program 2 times [2020-07-17 22:55:55,437 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:55:55,438 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1463123675] [2020-07-17 22:55:55,438 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:55:55,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,561 INFO L280 TraceCheckUtils]: 0: Hoare triple {47741#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,561 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,561 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {47646#true} {47646#true} #286#return; {47646#true} is VALID [2020-07-17 22:55:55,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,601 INFO L280 TraceCheckUtils]: 0: Hoare triple {47742#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,602 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {47646#true} {47646#true} #262#return; {47646#true} is VALID [2020-07-17 22:55:55,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,624 INFO L280 TraceCheckUtils]: 0: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,624 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,625 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,625 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {47646#true} {47646#true} #280#return; {47646#true} is VALID [2020-07-17 22:55:55,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,629 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~2; {47646#true} is VALID [2020-07-17 22:55:55,629 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {47646#true} is VALID [2020-07-17 22:55:55,630 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} #res := ~__retres1~2; {47646#true} is VALID [2020-07-17 22:55:55,630 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,630 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {47646#true} {47646#true} #272#return; {47646#true} is VALID [2020-07-17 22:55:55,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,734 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,735 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,735 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,736 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,736 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,737 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,741 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,742 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,742 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,742 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,743 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,743 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,743 INFO L280 TraceCheckUtils]: 0: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,743 INFO L263 TraceCheckUtils]: 1: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,743 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,744 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,744 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,744 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,744 INFO L280 TraceCheckUtils]: 6: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,744 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,745 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,745 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-17 22:55:55,745 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,745 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,745 INFO L280 TraceCheckUtils]: 12: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,746 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,746 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,746 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,746 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,746 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,747 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,747 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,748 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {47646#true} {47745#(= 0 ~q_free~0)} #266#return; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,764 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,765 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,765 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,765 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,766 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,766 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,776 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,777 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,777 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,778 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,778 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,779 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,779 INFO L280 TraceCheckUtils]: 0: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,780 INFO L263 TraceCheckUtils]: 1: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,780 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,780 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,781 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,781 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,781 INFO L280 TraceCheckUtils]: 6: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,782 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,782 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,782 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-17 22:55:55,783 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,783 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,783 INFO L280 TraceCheckUtils]: 12: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,784 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,784 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,784 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,785 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,785 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,785 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,786 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,786 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {47646#true} {47647#false} #266#return; {47647#false} is VALID [2020-07-17 22:55:55,787 INFO L280 TraceCheckUtils]: 0: Hoare triple {47744#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-17 22:55:55,787 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-17 22:55:55,788 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume !(0 == ~q_free~0); {47646#true} is VALID [2020-07-17 22:55:55,791 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,794 INFO L263 TraceCheckUtils]: 4: Hoare triple {47745#(= 0 ~q_free~0)} call immediate_notify_threads(); {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:55,795 INFO L280 TraceCheckUtils]: 5: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,795 INFO L263 TraceCheckUtils]: 6: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,796 INFO L280 TraceCheckUtils]: 7: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,796 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,797 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,797 INFO L280 TraceCheckUtils]: 10: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,798 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,798 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,798 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,798 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-17 22:55:55,799 INFO L263 TraceCheckUtils]: 15: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,799 INFO L280 TraceCheckUtils]: 16: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,799 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,800 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,800 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,800 INFO L280 TraceCheckUtils]: 20: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,801 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,801 INFO L280 TraceCheckUtils]: 22: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,801 INFO L280 TraceCheckUtils]: 23: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,802 INFO L280 TraceCheckUtils]: 24: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,803 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {47646#true} {47745#(= 0 ~q_free~0)} #266#return; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,804 INFO L280 TraceCheckUtils]: 26: Hoare triple {47745#(= 0 ~q_free~0)} ~q_write_ev~0 := 2; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,804 INFO L280 TraceCheckUtils]: 27: Hoare triple {47745#(= 0 ~q_free~0)} assume !false; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,805 INFO L280 TraceCheckUtils]: 28: Hoare triple {47745#(= 0 ~q_free~0)} assume !(0 == ~q_free~0); {47647#false} is VALID [2020-07-17 22:55:55,805 INFO L280 TraceCheckUtils]: 29: Hoare triple {47647#false} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {47647#false} is VALID [2020-07-17 22:55:55,805 INFO L263 TraceCheckUtils]: 30: Hoare triple {47647#false} call immediate_notify_threads(); {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:55,806 INFO L280 TraceCheckUtils]: 31: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,806 INFO L263 TraceCheckUtils]: 32: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,806 INFO L280 TraceCheckUtils]: 33: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,806 INFO L280 TraceCheckUtils]: 34: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,806 INFO L280 TraceCheckUtils]: 35: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,807 INFO L280 TraceCheckUtils]: 36: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,807 INFO L280 TraceCheckUtils]: 37: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,808 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,808 INFO L280 TraceCheckUtils]: 39: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,809 INFO L280 TraceCheckUtils]: 40: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-17 22:55:55,809 INFO L263 TraceCheckUtils]: 41: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,809 INFO L280 TraceCheckUtils]: 42: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,810 INFO L280 TraceCheckUtils]: 43: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,810 INFO L280 TraceCheckUtils]: 44: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,811 INFO L280 TraceCheckUtils]: 45: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,811 INFO L280 TraceCheckUtils]: 46: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,812 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,812 INFO L280 TraceCheckUtils]: 48: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,812 INFO L280 TraceCheckUtils]: 49: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,813 INFO L280 TraceCheckUtils]: 50: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,813 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {47646#true} {47647#false} #266#return; {47647#false} is VALID [2020-07-17 22:55:55,813 INFO L280 TraceCheckUtils]: 52: Hoare triple {47647#false} ~q_write_ev~0 := 2; {47647#false} is VALID [2020-07-17 22:55:55,814 INFO L280 TraceCheckUtils]: 53: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-17 22:55:55,814 INFO L280 TraceCheckUtils]: 54: Hoare triple {47647#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {47647#false} is VALID [2020-07-17 22:55:55,814 INFO L280 TraceCheckUtils]: 55: Hoare triple {47647#false} assume true; {47647#false} is VALID [2020-07-17 22:55:55,814 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {47647#false} {47646#true} #274#return; {47647#false} is VALID [2020-07-17 22:55:55,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,839 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,839 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume 1 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-17 22:55:55,840 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,840 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,840 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,841 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:55:55,845 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,845 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,845 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,846 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,846 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,846 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,847 INFO L280 TraceCheckUtils]: 0: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,847 INFO L263 TraceCheckUtils]: 1: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,847 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,848 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume 1 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-17 22:55:55,848 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,848 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,849 INFO L280 TraceCheckUtils]: 6: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,849 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,850 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,850 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,850 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,851 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,851 INFO L280 TraceCheckUtils]: 12: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,851 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,852 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,852 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,852 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,853 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,853 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,853 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,854 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {47646#true} {47647#false} #290#return; {47647#false} is VALID [2020-07-17 22:55:55,859 INFO L263 TraceCheckUtils]: 0: Hoare triple {47646#true} call ULTIMATE.init(); {47741#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:55:55,859 INFO L280 TraceCheckUtils]: 1: Hoare triple {47741#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,859 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,859 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {47646#true} {47646#true} #286#return; {47646#true} is VALID [2020-07-17 22:55:55,860 INFO L263 TraceCheckUtils]: 4: Hoare triple {47646#true} call #t~ret8 := main(); {47646#true} is VALID [2020-07-17 22:55:55,860 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} havoc ~__retres1~3; {47646#true} is VALID [2020-07-17 22:55:55,862 INFO L263 TraceCheckUtils]: 6: Hoare triple {47646#true} call init_model(); {47742#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:55:55,863 INFO L280 TraceCheckUtils]: 7: Hoare triple {47742#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,864 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,864 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {47646#true} {47646#true} #262#return; {47646#true} is VALID [2020-07-17 22:55:55,865 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call start_simulation(); {47646#true} is VALID [2020-07-17 22:55:55,865 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,867 INFO L263 TraceCheckUtils]: 12: Hoare triple {47646#true} call init_threads(); {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:55,868 INFO L280 TraceCheckUtils]: 13: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,868 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,868 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,869 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #280#return; {47646#true} is VALID [2020-07-17 22:55:55,869 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-17 22:55:55,869 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} ~kernel_st~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,870 INFO L263 TraceCheckUtils]: 19: Hoare triple {47646#true} call eval(); {47646#true} is VALID [2020-07-17 22:55:55,870 INFO L280 TraceCheckUtils]: 20: Hoare triple {47646#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {47646#true} is VALID [2020-07-17 22:55:55,870 INFO L280 TraceCheckUtils]: 21: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-17 22:55:55,870 INFO L263 TraceCheckUtils]: 22: Hoare triple {47646#true} call #t~ret3 := exists_runnable_thread(); {47646#true} is VALID [2020-07-17 22:55:55,871 INFO L280 TraceCheckUtils]: 23: Hoare triple {47646#true} havoc ~__retres1~2; {47646#true} is VALID [2020-07-17 22:55:55,871 INFO L280 TraceCheckUtils]: 24: Hoare triple {47646#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {47646#true} is VALID [2020-07-17 22:55:55,871 INFO L280 TraceCheckUtils]: 25: Hoare triple {47646#true} #res := ~__retres1~2; {47646#true} is VALID [2020-07-17 22:55:55,872 INFO L280 TraceCheckUtils]: 26: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,872 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {47646#true} {47646#true} #272#return; {47646#true} is VALID [2020-07-17 22:55:55,872 INFO L280 TraceCheckUtils]: 28: Hoare triple {47646#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {47646#true} is VALID [2020-07-17 22:55:55,873 INFO L280 TraceCheckUtils]: 29: Hoare triple {47646#true} assume 0 != ~tmp___1~0; {47646#true} is VALID [2020-07-17 22:55:55,873 INFO L280 TraceCheckUtils]: 30: Hoare triple {47646#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {47646#true} is VALID [2020-07-17 22:55:55,873 INFO L280 TraceCheckUtils]: 31: Hoare triple {47646#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,877 INFO L263 TraceCheckUtils]: 32: Hoare triple {47646#true} call do_write_p(); {47744#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:55:55,877 INFO L280 TraceCheckUtils]: 33: Hoare triple {47744#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-17 22:55:55,878 INFO L280 TraceCheckUtils]: 34: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-17 22:55:55,878 INFO L280 TraceCheckUtils]: 35: Hoare triple {47646#true} assume !(0 == ~q_free~0); {47646#true} is VALID [2020-07-17 22:55:55,880 INFO L280 TraceCheckUtils]: 36: Hoare triple {47646#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,881 INFO L263 TraceCheckUtils]: 37: Hoare triple {47745#(= 0 ~q_free~0)} call immediate_notify_threads(); {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:55,881 INFO L280 TraceCheckUtils]: 38: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,882 INFO L263 TraceCheckUtils]: 39: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,882 INFO L280 TraceCheckUtils]: 40: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,882 INFO L280 TraceCheckUtils]: 41: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,883 INFO L280 TraceCheckUtils]: 42: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,883 INFO L280 TraceCheckUtils]: 43: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,883 INFO L280 TraceCheckUtils]: 44: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,884 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,884 INFO L280 TraceCheckUtils]: 46: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,885 INFO L280 TraceCheckUtils]: 47: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-17 22:55:55,885 INFO L263 TraceCheckUtils]: 48: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,885 INFO L280 TraceCheckUtils]: 49: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,886 INFO L280 TraceCheckUtils]: 50: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,886 INFO L280 TraceCheckUtils]: 51: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,887 INFO L280 TraceCheckUtils]: 52: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,887 INFO L280 TraceCheckUtils]: 53: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,887 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,888 INFO L280 TraceCheckUtils]: 55: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,888 INFO L280 TraceCheckUtils]: 56: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,889 INFO L280 TraceCheckUtils]: 57: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,890 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {47646#true} {47745#(= 0 ~q_free~0)} #266#return; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,891 INFO L280 TraceCheckUtils]: 59: Hoare triple {47745#(= 0 ~q_free~0)} ~q_write_ev~0 := 2; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,892 INFO L280 TraceCheckUtils]: 60: Hoare triple {47745#(= 0 ~q_free~0)} assume !false; {47745#(= 0 ~q_free~0)} is VALID [2020-07-17 22:55:55,894 INFO L280 TraceCheckUtils]: 61: Hoare triple {47745#(= 0 ~q_free~0)} assume !(0 == ~q_free~0); {47647#false} is VALID [2020-07-17 22:55:55,895 INFO L280 TraceCheckUtils]: 62: Hoare triple {47647#false} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {47647#false} is VALID [2020-07-17 22:55:55,895 INFO L263 TraceCheckUtils]: 63: Hoare triple {47647#false} call immediate_notify_threads(); {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:55,896 INFO L280 TraceCheckUtils]: 64: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,896 INFO L263 TraceCheckUtils]: 65: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,897 INFO L280 TraceCheckUtils]: 66: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,897 INFO L280 TraceCheckUtils]: 67: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,897 INFO L280 TraceCheckUtils]: 68: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,897 INFO L280 TraceCheckUtils]: 69: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,898 INFO L280 TraceCheckUtils]: 70: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,898 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,898 INFO L280 TraceCheckUtils]: 72: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,899 INFO L280 TraceCheckUtils]: 73: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-17 22:55:55,899 INFO L263 TraceCheckUtils]: 74: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,901 INFO L280 TraceCheckUtils]: 75: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,902 INFO L280 TraceCheckUtils]: 76: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,902 INFO L280 TraceCheckUtils]: 77: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,902 INFO L280 TraceCheckUtils]: 78: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,903 INFO L280 TraceCheckUtils]: 79: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,903 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,903 INFO L280 TraceCheckUtils]: 81: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,904 INFO L280 TraceCheckUtils]: 82: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,904 INFO L280 TraceCheckUtils]: 83: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,905 INFO L275 TraceCheckUtils]: 84: Hoare quadruple {47646#true} {47647#false} #266#return; {47647#false} is VALID [2020-07-17 22:55:55,905 INFO L280 TraceCheckUtils]: 85: Hoare triple {47647#false} ~q_write_ev~0 := 2; {47647#false} is VALID [2020-07-17 22:55:55,905 INFO L280 TraceCheckUtils]: 86: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-17 22:55:55,906 INFO L280 TraceCheckUtils]: 87: Hoare triple {47647#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {47647#false} is VALID [2020-07-17 22:55:55,906 INFO L280 TraceCheckUtils]: 88: Hoare triple {47647#false} assume true; {47647#false} is VALID [2020-07-17 22:55:55,907 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {47647#false} {47646#true} #274#return; {47647#false} is VALID [2020-07-17 22:55:55,907 INFO L280 TraceCheckUtils]: 90: Hoare triple {47647#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {47647#false} is VALID [2020-07-17 22:55:55,907 INFO L280 TraceCheckUtils]: 91: Hoare triple {47647#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {47647#false} is VALID [2020-07-17 22:55:55,908 INFO L263 TraceCheckUtils]: 92: Hoare triple {47647#false} call do_read_c(); {47647#false} is VALID [2020-07-17 22:55:55,908 INFO L280 TraceCheckUtils]: 93: Hoare triple {47647#false} havoc ~a~0; {47647#false} is VALID [2020-07-17 22:55:55,908 INFO L280 TraceCheckUtils]: 94: Hoare triple {47647#false} assume 0 == ~c_dr_pc~0; {47647#false} is VALID [2020-07-17 22:55:55,908 INFO L280 TraceCheckUtils]: 95: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-17 22:55:55,909 INFO L280 TraceCheckUtils]: 96: Hoare triple {47647#false} assume !(1 == ~q_free~0); {47647#false} is VALID [2020-07-17 22:55:55,909 INFO L280 TraceCheckUtils]: 97: Hoare triple {47647#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {47647#false} is VALID [2020-07-17 22:55:55,909 INFO L263 TraceCheckUtils]: 98: Hoare triple {47647#false} call immediate_notify_threads(); {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:55:55,909 INFO L280 TraceCheckUtils]: 99: Hoare triple {47743#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {47646#true} is VALID [2020-07-17 22:55:55,909 INFO L263 TraceCheckUtils]: 100: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,909 INFO L280 TraceCheckUtils]: 101: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,910 INFO L280 TraceCheckUtils]: 102: Hoare triple {47646#true} assume 1 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-17 22:55:55,910 INFO L280 TraceCheckUtils]: 103: Hoare triple {47646#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {47646#true} is VALID [2020-07-17 22:55:55,910 INFO L280 TraceCheckUtils]: 104: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-17 22:55:55,911 INFO L280 TraceCheckUtils]: 105: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,911 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-17 22:55:55,911 INFO L280 TraceCheckUtils]: 107: Hoare triple {47646#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {47646#true} is VALID [2020-07-17 22:55:55,912 INFO L280 TraceCheckUtils]: 108: Hoare triple {47646#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {47646#true} is VALID [2020-07-17 22:55:55,912 INFO L263 TraceCheckUtils]: 109: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-17 22:55:55,912 INFO L280 TraceCheckUtils]: 110: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,913 INFO L280 TraceCheckUtils]: 111: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-17 22:55:55,913 INFO L280 TraceCheckUtils]: 112: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-17 22:55:55,913 INFO L280 TraceCheckUtils]: 113: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-17 22:55:55,913 INFO L280 TraceCheckUtils]: 114: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,914 INFO L275 TraceCheckUtils]: 115: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-17 22:55:55,914 INFO L280 TraceCheckUtils]: 116: Hoare triple {47646#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {47646#true} is VALID [2020-07-17 22:55:55,914 INFO L280 TraceCheckUtils]: 117: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-17 22:55:55,915 INFO L280 TraceCheckUtils]: 118: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-17 22:55:55,915 INFO L275 TraceCheckUtils]: 119: Hoare quadruple {47646#true} {47647#false} #290#return; {47647#false} is VALID [2020-07-17 22:55:55,915 INFO L280 TraceCheckUtils]: 120: Hoare triple {47647#false} ~q_read_ev~0 := 2; {47647#false} is VALID [2020-07-17 22:55:55,916 INFO L280 TraceCheckUtils]: 121: Hoare triple {47647#false} assume ~p_last_write~0 == ~c_last_read~0; {47647#false} is VALID [2020-07-17 22:55:55,916 INFO L280 TraceCheckUtils]: 122: Hoare triple {47647#false} assume !(~p_num_write~0 == ~c_num_read~0); {47647#false} is VALID [2020-07-17 22:55:55,916 INFO L263 TraceCheckUtils]: 123: Hoare triple {47647#false} call error(); {47647#false} is VALID [2020-07-17 22:55:55,916 INFO L280 TraceCheckUtils]: 124: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-17 22:55:55,947 INFO L134 CoverageAnalysis]: Checked inductivity of 70 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 61 trivial. 0 not checked. [2020-07-17 22:55:55,954 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1463123675] [2020-07-17 22:55:55,955 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:55:55,955 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-17 22:55:55,955 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [456604617] [2020-07-17 22:55:55,956 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 125 [2020-07-17 22:55:55,957 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:55:55,957 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-17 22:55:56,095 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:55:56,095 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-17 22:55:56,095 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:55:56,096 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-17 22:55:56,096 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:55:56,096 INFO L87 Difference]: Start difference. First operand 2338 states and 3577 transitions. Second operand 7 states. [2020-07-17 22:56:09,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:09,038 INFO L93 Difference]: Finished difference Result 3773 states and 6055 transitions. [2020-07-17 22:56:09,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:56:09,038 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 125 [2020-07-17 22:56:09,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:56:09,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:56:09,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 382 transitions. [2020-07-17 22:56:09,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:56:09,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 382 transitions. [2020-07-17 22:56:09,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 382 transitions. [2020-07-17 22:56:09,842 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 382 edges. 382 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:56:10,074 INFO L225 Difference]: With dead ends: 3773 [2020-07-17 22:56:10,074 INFO L226 Difference]: Without dead ends: 2107 [2020-07-17 22:56:10,086 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2020-07-17 22:56:10,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2107 states. [2020-07-17 22:56:19,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2107 to 2006. [2020-07-17 22:56:19,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:56:19,417 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2107 states. Second operand 2006 states. [2020-07-17 22:56:19,417 INFO L74 IsIncluded]: Start isIncluded. First operand 2107 states. Second operand 2006 states. [2020-07-17 22:56:19,418 INFO L87 Difference]: Start difference. First operand 2107 states. Second operand 2006 states. [2020-07-17 22:56:19,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:19,597 INFO L93 Difference]: Finished difference Result 2107 states and 3117 transitions. [2020-07-17 22:56:19,597 INFO L276 IsEmpty]: Start isEmpty. Operand 2107 states and 3117 transitions. [2020-07-17 22:56:19,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:19,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:19,611 INFO L74 IsIncluded]: Start isIncluded. First operand 2006 states. Second operand 2107 states. [2020-07-17 22:56:19,611 INFO L87 Difference]: Start difference. First operand 2006 states. Second operand 2107 states. [2020-07-17 22:56:19,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:19,787 INFO L93 Difference]: Finished difference Result 2107 states and 3117 transitions. [2020-07-17 22:56:19,788 INFO L276 IsEmpty]: Start isEmpty. Operand 2107 states and 3117 transitions. [2020-07-17 22:56:19,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:19,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:19,793 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:56:19,793 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:56:19,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2006 states. [2020-07-17 22:56:19,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2006 states to 2006 states and 2998 transitions. [2020-07-17 22:56:19,997 INFO L78 Accepts]: Start accepts. Automaton has 2006 states and 2998 transitions. Word has length 125 [2020-07-17 22:56:19,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:56:19,998 INFO L479 AbstractCegarLoop]: Abstraction has 2006 states and 2998 transitions. [2020-07-17 22:56:19,998 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-17 22:56:19,998 INFO L276 IsEmpty]: Start isEmpty. Operand 2006 states and 2998 transitions. [2020-07-17 22:56:20,001 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 173 [2020-07-17 22:56:20,002 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:56:20,002 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:56:20,002 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-17 22:56:20,002 INFO L427 AbstractCegarLoop]: === Iteration 14 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:56:20,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:56:20,003 INFO L82 PathProgramCache]: Analyzing trace with hash 58792781, now seen corresponding path program 1 times [2020-07-17 22:56:20,003 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:56:20,003 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1805113960] [2020-07-17 22:56:20,003 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:56:20,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,176 INFO L280 TraceCheckUtils]: 0: Hoare triple {60112#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,176 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,176 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {59975#true} {59975#true} #286#return; {59975#true} is VALID [2020-07-17 22:56:20,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,242 INFO L280 TraceCheckUtils]: 0: Hoare triple {60113#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {60114#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:56:20,244 INFO L280 TraceCheckUtils]: 1: Hoare triple {60114#(<= ~p_dw_pc~0 0)} assume true; {60114#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:56:20,245 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {60114#(<= ~p_dw_pc~0 0)} {59975#true} #262#return; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,270 INFO L280 TraceCheckUtils]: 0: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,270 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,270 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,271 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59975#true} {59983#(not (= 2 ~p_dw_pc~0))} #280#return; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,402 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,403 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,403 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,404 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,404 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-17 22:56:20,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,487 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,487 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,488 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,488 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,488 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,489 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,495 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,496 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,496 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,497 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,497 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,497 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,498 INFO L280 TraceCheckUtils]: 0: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,498 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,498 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,499 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,499 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,500 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,500 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,500 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,501 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,501 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-17 22:56:20,501 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,502 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,502 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,503 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,503 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,503 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,504 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,504 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,504 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,505 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,505 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,506 INFO L280 TraceCheckUtils]: 0: Hoare triple {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,507 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,507 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-17 22:56:20,508 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,509 INFO L263 TraceCheckUtils]: 4: Hoare triple {59975#true} call immediate_notify_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,509 INFO L280 TraceCheckUtils]: 5: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,510 INFO L263 TraceCheckUtils]: 6: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,510 INFO L280 TraceCheckUtils]: 7: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,510 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,510 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,511 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,511 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,511 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,511 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,512 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-17 22:56:20,512 INFO L263 TraceCheckUtils]: 15: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,512 INFO L280 TraceCheckUtils]: 16: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,512 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,513 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,513 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,513 INFO L280 TraceCheckUtils]: 20: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,514 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,514 INFO L280 TraceCheckUtils]: 22: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,516 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,517 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,517 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,517 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-17 22:56:20,517 INFO L280 TraceCheckUtils]: 27: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,518 INFO L280 TraceCheckUtils]: 28: Hoare triple {59975#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,520 INFO L280 TraceCheckUtils]: 29: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,521 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {60153#(<= 2 ~p_dw_st~0)} {59975#true} #274#return; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,543 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,544 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,546 INFO L280 TraceCheckUtils]: 2: Hoare triple {60193#(<= ~p_dw_st~0 0)} #res := ~__retres1~2; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,547 INFO L280 TraceCheckUtils]: 3: Hoare triple {60193#(<= ~p_dw_st~0 0)} assume true; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,548 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {60193#(<= ~p_dw_st~0 0)} {60153#(<= 2 ~p_dw_st~0)} #272#return; {59976#false} is VALID [2020-07-17 22:56:20,548 INFO L280 TraceCheckUtils]: 0: Hoare triple {60116#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {59975#true} is VALID [2020-07-17 22:56:20,548 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,548 INFO L263 TraceCheckUtils]: 2: Hoare triple {59975#true} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,549 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,549 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,549 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,549 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,550 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-17 22:56:20,550 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59975#true} is VALID [2020-07-17 22:56:20,550 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume 0 != ~tmp___1~0; {59975#true} is VALID [2020-07-17 22:56:20,550 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {59975#true} is VALID [2020-07-17 22:56:20,551 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,554 INFO L263 TraceCheckUtils]: 12: Hoare triple {59975#true} call do_write_p(); {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:56:20,555 INFO L280 TraceCheckUtils]: 13: Hoare triple {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,555 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,555 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-17 22:56:20,556 INFO L280 TraceCheckUtils]: 16: Hoare triple {59975#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,556 INFO L263 TraceCheckUtils]: 17: Hoare triple {59975#true} call immediate_notify_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,557 INFO L280 TraceCheckUtils]: 18: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,557 INFO L263 TraceCheckUtils]: 19: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,557 INFO L280 TraceCheckUtils]: 20: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,557 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,558 INFO L280 TraceCheckUtils]: 22: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,558 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,558 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,558 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,559 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,559 INFO L280 TraceCheckUtils]: 27: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-17 22:56:20,559 INFO L263 TraceCheckUtils]: 28: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,560 INFO L280 TraceCheckUtils]: 29: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,560 INFO L280 TraceCheckUtils]: 30: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,560 INFO L280 TraceCheckUtils]: 31: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,560 INFO L280 TraceCheckUtils]: 32: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,561 INFO L280 TraceCheckUtils]: 33: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,561 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,561 INFO L280 TraceCheckUtils]: 35: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,561 INFO L280 TraceCheckUtils]: 36: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,561 INFO L280 TraceCheckUtils]: 37: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,562 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,562 INFO L280 TraceCheckUtils]: 39: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-17 22:56:20,562 INFO L280 TraceCheckUtils]: 40: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,563 INFO L280 TraceCheckUtils]: 41: Hoare triple {59975#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,564 INFO L280 TraceCheckUtils]: 42: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,565 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {60153#(<= 2 ~p_dw_st~0)} {59975#true} #274#return; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,565 INFO L280 TraceCheckUtils]: 44: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !(0 == ~c_dr_st~0); {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,575 INFO L280 TraceCheckUtils]: 45: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !false; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,575 INFO L263 TraceCheckUtils]: 46: Hoare triple {60153#(<= 2 ~p_dw_st~0)} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,575 INFO L280 TraceCheckUtils]: 47: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,576 INFO L280 TraceCheckUtils]: 48: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,577 INFO L280 TraceCheckUtils]: 49: Hoare triple {60193#(<= ~p_dw_st~0 0)} #res := ~__retres1~2; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,577 INFO L280 TraceCheckUtils]: 50: Hoare triple {60193#(<= ~p_dw_st~0 0)} assume true; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,578 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {60193#(<= ~p_dw_st~0 0)} {60153#(<= 2 ~p_dw_st~0)} #272#return; {59976#false} is VALID [2020-07-17 22:56:20,578 INFO L280 TraceCheckUtils]: 52: Hoare triple {59976#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59976#false} is VALID [2020-07-17 22:56:20,579 INFO L280 TraceCheckUtils]: 53: Hoare triple {59976#false} assume !(0 != ~tmp___1~0); {59976#false} is VALID [2020-07-17 22:56:20,579 INFO L280 TraceCheckUtils]: 54: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:20,579 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {59976#false} {59983#(not (= 2 ~p_dw_pc~0))} #282#return; {59976#false} is VALID [2020-07-17 22:56:20,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,592 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,592 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,593 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,593 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,593 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {59975#true} {59975#true} #278#return; {59975#true} is VALID [2020-07-17 22:56:20,593 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~tmp~2;havoc ~__retres2~0; {59975#true} is VALID [2020-07-17 22:56:20,594 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret6 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,594 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,594 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,594 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,594 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,595 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {59975#true} {59975#true} #278#return; {59975#true} is VALID [2020-07-17 22:56:20,595 INFO L280 TraceCheckUtils]: 7: Hoare triple {59975#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~tmp~2 := #t~ret6;havoc #t~ret6; {59975#true} is VALID [2020-07-17 22:56:20,595 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume !(0 != ~tmp~2);~__retres2~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,595 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} #res := ~__retres2~0; {59975#true} is VALID [2020-07-17 22:56:20,595 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,596 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {59975#true} {59976#false} #284#return; {59976#false} is VALID [2020-07-17 22:56:20,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,601 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,602 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,603 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,603 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {59975#true} {59976#false} #272#return; {59976#false} is VALID [2020-07-17 22:56:20,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,620 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,621 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,621 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,622 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,622 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,625 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,626 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,626 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,626 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,626 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,627 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,627 INFO L280 TraceCheckUtils]: 0: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,628 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,628 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,628 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,629 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,629 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,629 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,630 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,630 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,630 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,631 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,631 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,631 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,632 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,632 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,632 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,633 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,633 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,633 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,633 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,633 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,634 INFO L280 TraceCheckUtils]: 0: Hoare triple {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume !(0 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,634 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,634 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,635 INFO L263 TraceCheckUtils]: 3: Hoare triple {59975#true} call immediate_notify_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,636 INFO L280 TraceCheckUtils]: 4: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,636 INFO L263 TraceCheckUtils]: 5: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,636 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,636 INFO L280 TraceCheckUtils]: 7: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,636 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,637 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,637 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,637 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,637 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,637 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,638 INFO L263 TraceCheckUtils]: 14: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,638 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,638 INFO L280 TraceCheckUtils]: 16: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,638 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,639 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,639 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,639 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,639 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,640 INFO L280 TraceCheckUtils]: 22: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,640 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,640 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,640 INFO L280 TraceCheckUtils]: 25: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-17 22:56:20,641 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,641 INFO L280 TraceCheckUtils]: 27: Hoare triple {59975#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,641 INFO L280 TraceCheckUtils]: 28: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,641 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {59975#true} {59976#false} #274#return; {59976#false} is VALID [2020-07-17 22:56:20,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,653 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,653 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,653 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,653 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,653 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,654 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,658 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,659 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,659 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,659 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,659 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,660 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,660 INFO L280 TraceCheckUtils]: 0: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,660 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,660 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,661 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,661 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,661 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,661 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,661 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,661 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,662 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,662 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,662 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,662 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,662 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,662 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,663 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,663 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,663 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,663 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,663 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,664 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59976#false} #290#return; {59976#false} is VALID [2020-07-17 22:56:20,665 INFO L263 TraceCheckUtils]: 0: Hoare triple {59975#true} call ULTIMATE.init(); {60112#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:56:20,666 INFO L280 TraceCheckUtils]: 1: Hoare triple {60112#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,666 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,666 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59975#true} {59975#true} #286#return; {59975#true} is VALID [2020-07-17 22:56:20,666 INFO L263 TraceCheckUtils]: 4: Hoare triple {59975#true} call #t~ret8 := main(); {59975#true} is VALID [2020-07-17 22:56:20,666 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} havoc ~__retres1~3; {59975#true} is VALID [2020-07-17 22:56:20,667 INFO L263 TraceCheckUtils]: 6: Hoare triple {59975#true} call init_model(); {60113#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:56:20,668 INFO L280 TraceCheckUtils]: 7: Hoare triple {60113#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {60114#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:56:20,669 INFO L280 TraceCheckUtils]: 8: Hoare triple {60114#(<= ~p_dw_pc~0 0)} assume true; {60114#(<= ~p_dw_pc~0 0)} is VALID [2020-07-17 22:56:20,669 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {60114#(<= ~p_dw_pc~0 0)} {59975#true} #262#return; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,670 INFO L263 TraceCheckUtils]: 10: Hoare triple {59983#(not (= 2 ~p_dw_pc~0))} call start_simulation(); {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,670 INFO L280 TraceCheckUtils]: 11: Hoare triple {59983#(not (= 2 ~p_dw_pc~0))} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,671 INFO L263 TraceCheckUtils]: 12: Hoare triple {59983#(not (= 2 ~p_dw_pc~0))} call init_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,671 INFO L280 TraceCheckUtils]: 13: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,671 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,672 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,672 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59983#(not (= 2 ~p_dw_pc~0))} #280#return; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,673 INFO L280 TraceCheckUtils]: 17: Hoare triple {59983#(not (= 2 ~p_dw_pc~0))} assume !false; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,674 INFO L280 TraceCheckUtils]: 18: Hoare triple {59983#(not (= 2 ~p_dw_pc~0))} ~kernel_st~0 := 1; {59983#(not (= 2 ~p_dw_pc~0))} is VALID [2020-07-17 22:56:20,676 INFO L263 TraceCheckUtils]: 19: Hoare triple {59983#(not (= 2 ~p_dw_pc~0))} call eval(); {60116#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:56:20,677 INFO L280 TraceCheckUtils]: 20: Hoare triple {60116#(and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {59975#true} is VALID [2020-07-17 22:56:20,677 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,677 INFO L263 TraceCheckUtils]: 22: Hoare triple {59975#true} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,678 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,678 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,678 INFO L280 TraceCheckUtils]: 25: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,678 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,678 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-17 22:56:20,679 INFO L280 TraceCheckUtils]: 28: Hoare triple {59975#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59975#true} is VALID [2020-07-17 22:56:20,679 INFO L280 TraceCheckUtils]: 29: Hoare triple {59975#true} assume 0 != ~tmp___1~0; {59975#true} is VALID [2020-07-17 22:56:20,679 INFO L280 TraceCheckUtils]: 30: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {59975#true} is VALID [2020-07-17 22:56:20,679 INFO L280 TraceCheckUtils]: 31: Hoare triple {59975#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,680 INFO L263 TraceCheckUtils]: 32: Hoare triple {59975#true} call do_write_p(); {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:56:20,681 INFO L280 TraceCheckUtils]: 33: Hoare triple {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,681 INFO L280 TraceCheckUtils]: 34: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,681 INFO L280 TraceCheckUtils]: 35: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-17 22:56:20,681 INFO L280 TraceCheckUtils]: 36: Hoare triple {59975#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,682 INFO L263 TraceCheckUtils]: 37: Hoare triple {59975#true} call immediate_notify_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,682 INFO L280 TraceCheckUtils]: 38: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,682 INFO L263 TraceCheckUtils]: 39: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,682 INFO L280 TraceCheckUtils]: 40: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,682 INFO L280 TraceCheckUtils]: 41: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,683 INFO L280 TraceCheckUtils]: 42: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,683 INFO L280 TraceCheckUtils]: 43: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,683 INFO L280 TraceCheckUtils]: 44: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,683 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,683 INFO L280 TraceCheckUtils]: 46: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,683 INFO L280 TraceCheckUtils]: 47: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-17 22:56:20,684 INFO L263 TraceCheckUtils]: 48: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,684 INFO L280 TraceCheckUtils]: 49: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,684 INFO L280 TraceCheckUtils]: 50: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,684 INFO L280 TraceCheckUtils]: 51: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,684 INFO L280 TraceCheckUtils]: 52: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,684 INFO L280 TraceCheckUtils]: 53: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,685 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,685 INFO L280 TraceCheckUtils]: 55: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,685 INFO L280 TraceCheckUtils]: 56: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,685 INFO L280 TraceCheckUtils]: 57: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,685 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,685 INFO L280 TraceCheckUtils]: 59: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-17 22:56:20,686 INFO L280 TraceCheckUtils]: 60: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,686 INFO L280 TraceCheckUtils]: 61: Hoare triple {59975#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,687 INFO L280 TraceCheckUtils]: 62: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,687 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {60153#(<= 2 ~p_dw_st~0)} {59975#true} #274#return; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,688 INFO L280 TraceCheckUtils]: 64: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !(0 == ~c_dr_st~0); {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,689 INFO L280 TraceCheckUtils]: 65: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !false; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:20,689 INFO L263 TraceCheckUtils]: 66: Hoare triple {60153#(<= 2 ~p_dw_st~0)} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,689 INFO L280 TraceCheckUtils]: 67: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,690 INFO L280 TraceCheckUtils]: 68: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,690 INFO L280 TraceCheckUtils]: 69: Hoare triple {60193#(<= ~p_dw_st~0 0)} #res := ~__retres1~2; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,691 INFO L280 TraceCheckUtils]: 70: Hoare triple {60193#(<= ~p_dw_st~0 0)} assume true; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-17 22:56:20,692 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {60193#(<= ~p_dw_st~0 0)} {60153#(<= 2 ~p_dw_st~0)} #272#return; {59976#false} is VALID [2020-07-17 22:56:20,692 INFO L280 TraceCheckUtils]: 72: Hoare triple {59976#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59976#false} is VALID [2020-07-17 22:56:20,692 INFO L280 TraceCheckUtils]: 73: Hoare triple {59976#false} assume !(0 != ~tmp___1~0); {59976#false} is VALID [2020-07-17 22:56:20,693 INFO L280 TraceCheckUtils]: 74: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:20,693 INFO L275 TraceCheckUtils]: 75: Hoare quadruple {59976#false} {59983#(not (= 2 ~p_dw_pc~0))} #282#return; {59976#false} is VALID [2020-07-17 22:56:20,693 INFO L263 TraceCheckUtils]: 76: Hoare triple {59976#false} call #t~ret7 := stop_simulation(); {59975#true} is VALID [2020-07-17 22:56:20,694 INFO L280 TraceCheckUtils]: 77: Hoare triple {59975#true} havoc ~tmp~2;havoc ~__retres2~0; {59975#true} is VALID [2020-07-17 22:56:20,694 INFO L263 TraceCheckUtils]: 78: Hoare triple {59975#true} call #t~ret6 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,694 INFO L280 TraceCheckUtils]: 79: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,694 INFO L280 TraceCheckUtils]: 80: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,695 INFO L280 TraceCheckUtils]: 81: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,695 INFO L280 TraceCheckUtils]: 82: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,695 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {59975#true} {59975#true} #278#return; {59975#true} is VALID [2020-07-17 22:56:20,696 INFO L280 TraceCheckUtils]: 84: Hoare triple {59975#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~tmp~2 := #t~ret6;havoc #t~ret6; {59975#true} is VALID [2020-07-17 22:56:20,696 INFO L280 TraceCheckUtils]: 85: Hoare triple {59975#true} assume !(0 != ~tmp~2);~__retres2~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,696 INFO L280 TraceCheckUtils]: 86: Hoare triple {59975#true} #res := ~__retres2~0; {59975#true} is VALID [2020-07-17 22:56:20,696 INFO L280 TraceCheckUtils]: 87: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,697 INFO L275 TraceCheckUtils]: 88: Hoare quadruple {59975#true} {59976#false} #284#return; {59976#false} is VALID [2020-07-17 22:56:20,697 INFO L280 TraceCheckUtils]: 89: Hoare triple {59976#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~tmp~3 := #t~ret7;havoc #t~ret7; {59976#false} is VALID [2020-07-17 22:56:20,698 INFO L280 TraceCheckUtils]: 90: Hoare triple {59976#false} assume !(0 != ~tmp~3); {59976#false} is VALID [2020-07-17 22:56:20,698 INFO L280 TraceCheckUtils]: 91: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:20,698 INFO L280 TraceCheckUtils]: 92: Hoare triple {59976#false} ~kernel_st~0 := 1; {59976#false} is VALID [2020-07-17 22:56:20,699 INFO L263 TraceCheckUtils]: 93: Hoare triple {59976#false} call eval(); {59976#false} is VALID [2020-07-17 22:56:20,699 INFO L280 TraceCheckUtils]: 94: Hoare triple {59976#false} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {59976#false} is VALID [2020-07-17 22:56:20,699 INFO L280 TraceCheckUtils]: 95: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:20,699 INFO L263 TraceCheckUtils]: 96: Hoare triple {59976#false} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:20,699 INFO L280 TraceCheckUtils]: 97: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,700 INFO L280 TraceCheckUtils]: 98: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:20,700 INFO L280 TraceCheckUtils]: 99: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:20,700 INFO L280 TraceCheckUtils]: 100: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,700 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {59975#true} {59976#false} #272#return; {59976#false} is VALID [2020-07-17 22:56:20,700 INFO L280 TraceCheckUtils]: 102: Hoare triple {59976#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59976#false} is VALID [2020-07-17 22:56:20,701 INFO L280 TraceCheckUtils]: 103: Hoare triple {59976#false} assume 0 != ~tmp___1~0; {59976#false} is VALID [2020-07-17 22:56:20,701 INFO L280 TraceCheckUtils]: 104: Hoare triple {59976#false} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {59976#false} is VALID [2020-07-17 22:56:20,701 INFO L280 TraceCheckUtils]: 105: Hoare triple {59976#false} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59976#false} is VALID [2020-07-17 22:56:20,701 INFO L263 TraceCheckUtils]: 106: Hoare triple {59976#false} call do_write_p(); {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2020-07-17 22:56:20,702 INFO L280 TraceCheckUtils]: 107: Hoare triple {60159#(and (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume !(0 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,702 INFO L280 TraceCheckUtils]: 108: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,702 INFO L280 TraceCheckUtils]: 109: Hoare triple {59975#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,703 INFO L263 TraceCheckUtils]: 110: Hoare triple {59975#true} call immediate_notify_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,703 INFO L280 TraceCheckUtils]: 111: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,703 INFO L263 TraceCheckUtils]: 112: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,703 INFO L280 TraceCheckUtils]: 113: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,704 INFO L280 TraceCheckUtils]: 114: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,704 INFO L280 TraceCheckUtils]: 115: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,704 INFO L280 TraceCheckUtils]: 116: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,704 INFO L280 TraceCheckUtils]: 117: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,704 INFO L275 TraceCheckUtils]: 118: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,704 INFO L280 TraceCheckUtils]: 119: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,705 INFO L280 TraceCheckUtils]: 120: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,705 INFO L263 TraceCheckUtils]: 121: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,705 INFO L280 TraceCheckUtils]: 122: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,705 INFO L280 TraceCheckUtils]: 123: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,706 INFO L280 TraceCheckUtils]: 124: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,706 INFO L280 TraceCheckUtils]: 125: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,706 INFO L280 TraceCheckUtils]: 126: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,706 INFO L275 TraceCheckUtils]: 127: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,707 INFO L280 TraceCheckUtils]: 128: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,707 INFO L280 TraceCheckUtils]: 129: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,707 INFO L280 TraceCheckUtils]: 130: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,707 INFO L275 TraceCheckUtils]: 131: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:20,707 INFO L280 TraceCheckUtils]: 132: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-17 22:56:20,708 INFO L280 TraceCheckUtils]: 133: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:20,708 INFO L280 TraceCheckUtils]: 134: Hoare triple {59975#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,708 INFO L280 TraceCheckUtils]: 135: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,708 INFO L275 TraceCheckUtils]: 136: Hoare quadruple {59975#true} {59976#false} #274#return; {59976#false} is VALID [2020-07-17 22:56:20,709 INFO L280 TraceCheckUtils]: 137: Hoare triple {59976#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {59976#false} is VALID [2020-07-17 22:56:20,709 INFO L280 TraceCheckUtils]: 138: Hoare triple {59976#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {59976#false} is VALID [2020-07-17 22:56:20,709 INFO L263 TraceCheckUtils]: 139: Hoare triple {59976#false} call do_read_c(); {59976#false} is VALID [2020-07-17 22:56:20,709 INFO L280 TraceCheckUtils]: 140: Hoare triple {59976#false} havoc ~a~0; {59976#false} is VALID [2020-07-17 22:56:20,710 INFO L280 TraceCheckUtils]: 141: Hoare triple {59976#false} assume 0 == ~c_dr_pc~0; {59976#false} is VALID [2020-07-17 22:56:20,710 INFO L280 TraceCheckUtils]: 142: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:20,710 INFO L280 TraceCheckUtils]: 143: Hoare triple {59976#false} assume !(1 == ~q_free~0); {59976#false} is VALID [2020-07-17 22:56:20,710 INFO L280 TraceCheckUtils]: 144: Hoare triple {59976#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {59976#false} is VALID [2020-07-17 22:56:20,711 INFO L263 TraceCheckUtils]: 145: Hoare triple {59976#false} call immediate_notify_threads(); {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2020-07-17 22:56:20,711 INFO L280 TraceCheckUtils]: 146: Hoare triple {60115#(and (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:20,711 INFO L263 TraceCheckUtils]: 147: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,711 INFO L280 TraceCheckUtils]: 148: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,711 INFO L280 TraceCheckUtils]: 149: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:20,711 INFO L280 TraceCheckUtils]: 150: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-17 22:56:20,712 INFO L280 TraceCheckUtils]: 151: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:20,712 INFO L280 TraceCheckUtils]: 152: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,712 INFO L275 TraceCheckUtils]: 153: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:20,712 INFO L280 TraceCheckUtils]: 154: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:20,712 INFO L280 TraceCheckUtils]: 155: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:20,712 INFO L263 TraceCheckUtils]: 156: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:20,713 INFO L280 TraceCheckUtils]: 157: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,713 INFO L280 TraceCheckUtils]: 158: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:20,713 INFO L280 TraceCheckUtils]: 159: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:20,713 INFO L280 TraceCheckUtils]: 160: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:20,713 INFO L280 TraceCheckUtils]: 161: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,713 INFO L275 TraceCheckUtils]: 162: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:20,714 INFO L280 TraceCheckUtils]: 163: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:20,714 INFO L280 TraceCheckUtils]: 164: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:20,714 INFO L280 TraceCheckUtils]: 165: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:20,714 INFO L275 TraceCheckUtils]: 166: Hoare quadruple {59975#true} {59976#false} #290#return; {59976#false} is VALID [2020-07-17 22:56:20,714 INFO L280 TraceCheckUtils]: 167: Hoare triple {59976#false} ~q_read_ev~0 := 2; {59976#false} is VALID [2020-07-17 22:56:20,715 INFO L280 TraceCheckUtils]: 168: Hoare triple {59976#false} assume ~p_last_write~0 == ~c_last_read~0; {59976#false} is VALID [2020-07-17 22:56:20,715 INFO L280 TraceCheckUtils]: 169: Hoare triple {59976#false} assume !(~p_num_write~0 == ~c_num_read~0); {59976#false} is VALID [2020-07-17 22:56:20,715 INFO L263 TraceCheckUtils]: 170: Hoare triple {59976#false} call error(); {59976#false} is VALID [2020-07-17 22:56:20,715 INFO L280 TraceCheckUtils]: 171: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:20,750 INFO L134 CoverageAnalysis]: Checked inductivity of 123 backedges. 21 proven. 8 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2020-07-17 22:56:20,751 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1805113960] [2020-07-17 22:56:20,752 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1438832127] [2020-07-17 22:56:20,752 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:56:20,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,912 INFO L264 TraceCheckSpWp]: Trace formula consists of 854 conjuncts, 2 conjunts are in the unsatisfiable core [2020-07-17 22:56:20,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:56:20,963 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:56:21,126 INFO L263 TraceCheckUtils]: 0: Hoare triple {59975#true} call ULTIMATE.init(); {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} ~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0; {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59975#true} {59975#true} #286#return; {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L263 TraceCheckUtils]: 4: Hoare triple {59975#true} call #t~ret8 := main(); {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} havoc ~__retres1~3; {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L263 TraceCheckUtils]: 6: Hoare triple {59975#true} call init_model(); {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L280 TraceCheckUtils]: 7: Hoare triple {59975#true} ~q_free~0 := 1;~q_write_ev~0 := 2;~q_read_ev~0 := ~q_write_ev~0;~p_num_write~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 1;~c_num_read~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 1; {59975#true} is VALID [2020-07-17 22:56:21,127 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {59975#true} {59975#true} #262#return; {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call start_simulation(); {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~kernel_st~0;havoc ~tmp~3;~kernel_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L263 TraceCheckUtils]: 12: Hoare triple {59975#true} call init_threads(); {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {59975#true} is VALID [2020-07-17 22:56:21,128 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #280#return; {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} ~kernel_st~0 := 1; {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L263 TraceCheckUtils]: 19: Hoare triple {59975#true} call eval(); {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L280 TraceCheckUtils]: 20: Hoare triple {59975#true} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:21,129 INFO L263 TraceCheckUtils]: 22: Hoare triple {59975#true} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L280 TraceCheckUtils]: 25: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L280 TraceCheckUtils]: 28: Hoare triple {59975#true} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59975#true} is VALID [2020-07-17 22:56:21,130 INFO L280 TraceCheckUtils]: 29: Hoare triple {59975#true} assume 0 != ~tmp___1~0; {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L280 TraceCheckUtils]: 30: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L280 TraceCheckUtils]: 31: Hoare triple {59975#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L263 TraceCheckUtils]: 32: Hoare triple {59975#true} call do_write_p(); {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L280 TraceCheckUtils]: 33: Hoare triple {59975#true} assume 0 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L280 TraceCheckUtils]: 34: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L280 TraceCheckUtils]: 35: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-17 22:56:21,131 INFO L280 TraceCheckUtils]: 36: Hoare triple {59975#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L263 TraceCheckUtils]: 37: Hoare triple {59975#true} call immediate_notify_threads(); {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L280 TraceCheckUtils]: 38: Hoare triple {59975#true} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L263 TraceCheckUtils]: 39: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L280 TraceCheckUtils]: 40: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L280 TraceCheckUtils]: 41: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L280 TraceCheckUtils]: 42: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-17 22:56:21,132 INFO L280 TraceCheckUtils]: 43: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L280 TraceCheckUtils]: 44: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L280 TraceCheckUtils]: 46: Hoare triple {59975#true} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L280 TraceCheckUtils]: 47: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L263 TraceCheckUtils]: 48: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L280 TraceCheckUtils]: 49: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:21,133 INFO L280 TraceCheckUtils]: 50: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-17 22:56:21,134 INFO L280 TraceCheckUtils]: 51: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-17 22:56:21,134 INFO L280 TraceCheckUtils]: 52: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-17 22:56:21,134 INFO L280 TraceCheckUtils]: 53: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,134 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-17 22:56:21,134 INFO L280 TraceCheckUtils]: 55: Hoare triple {59975#true} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59975#true} is VALID [2020-07-17 22:56:21,134 INFO L280 TraceCheckUtils]: 56: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-17 22:56:21,135 INFO L280 TraceCheckUtils]: 57: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-17 22:56:21,135 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-17 22:56:21,135 INFO L280 TraceCheckUtils]: 59: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-17 22:56:21,135 INFO L280 TraceCheckUtils]: 60: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-17 22:56:21,136 INFO L280 TraceCheckUtils]: 61: Hoare triple {59975#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,136 INFO L280 TraceCheckUtils]: 62: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,137 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {60153#(<= 2 ~p_dw_st~0)} {59975#true} #274#return; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,137 INFO L280 TraceCheckUtils]: 64: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !(0 == ~c_dr_st~0); {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,138 INFO L280 TraceCheckUtils]: 65: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !false; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,138 INFO L263 TraceCheckUtils]: 66: Hoare triple {60153#(<= 2 ~p_dw_st~0)} call #t~ret3 := exists_runnable_thread(); {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,139 INFO L280 TraceCheckUtils]: 67: Hoare triple {60153#(<= 2 ~p_dw_st~0)} havoc ~__retres1~2; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-17 22:56:21,140 INFO L280 TraceCheckUtils]: 68: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59976#false} is VALID [2020-07-17 22:56:21,140 INFO L280 TraceCheckUtils]: 69: Hoare triple {59976#false} #res := ~__retres1~2; {59976#false} is VALID [2020-07-17 22:56:21,140 INFO L280 TraceCheckUtils]: 70: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,140 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {59976#false} {60153#(<= 2 ~p_dw_st~0)} #272#return; {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L280 TraceCheckUtils]: 72: Hoare triple {59976#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L280 TraceCheckUtils]: 73: Hoare triple {59976#false} assume !(0 != ~tmp___1~0); {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L280 TraceCheckUtils]: 74: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L275 TraceCheckUtils]: 75: Hoare quadruple {59976#false} {59975#true} #282#return; {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L263 TraceCheckUtils]: 76: Hoare triple {59976#false} call #t~ret7 := stop_simulation(); {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L280 TraceCheckUtils]: 77: Hoare triple {59976#false} havoc ~tmp~2;havoc ~__retres2~0; {59976#false} is VALID [2020-07-17 22:56:21,141 INFO L263 TraceCheckUtils]: 78: Hoare triple {59976#false} call #t~ret6 := exists_runnable_thread(); {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L280 TraceCheckUtils]: 79: Hoare triple {59976#false} havoc ~__retres1~2; {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L280 TraceCheckUtils]: 80: Hoare triple {59976#false} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L280 TraceCheckUtils]: 81: Hoare triple {59976#false} #res := ~__retres1~2; {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L280 TraceCheckUtils]: 82: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {59976#false} {59976#false} #278#return; {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L280 TraceCheckUtils]: 84: Hoare triple {59976#false} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~tmp~2 := #t~ret6;havoc #t~ret6; {59976#false} is VALID [2020-07-17 22:56:21,142 INFO L280 TraceCheckUtils]: 85: Hoare triple {59976#false} assume !(0 != ~tmp~2);~__retres2~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L280 TraceCheckUtils]: 86: Hoare triple {59976#false} #res := ~__retres2~0; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L280 TraceCheckUtils]: 87: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L275 TraceCheckUtils]: 88: Hoare quadruple {59976#false} {59976#false} #284#return; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L280 TraceCheckUtils]: 89: Hoare triple {59976#false} assume -2147483648 <= #t~ret7 && #t~ret7 <= 2147483647;~tmp~3 := #t~ret7;havoc #t~ret7; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L280 TraceCheckUtils]: 90: Hoare triple {59976#false} assume !(0 != ~tmp~3); {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L280 TraceCheckUtils]: 91: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L280 TraceCheckUtils]: 92: Hoare triple {59976#false} ~kernel_st~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,143 INFO L263 TraceCheckUtils]: 93: Hoare triple {59976#false} call eval(); {59976#false} is VALID [2020-07-17 22:56:21,144 INFO L280 TraceCheckUtils]: 94: Hoare triple {59976#false} havoc ~tmp~1;havoc ~tmp___0~1;havoc ~tmp___1~0; {59976#false} is VALID [2020-07-17 22:56:21,144 INFO L280 TraceCheckUtils]: 95: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:21,144 INFO L263 TraceCheckUtils]: 96: Hoare triple {59976#false} call #t~ret3 := exists_runnable_thread(); {59976#false} is VALID [2020-07-17 22:56:21,144 INFO L280 TraceCheckUtils]: 97: Hoare triple {59976#false} havoc ~__retres1~2; {59976#false} is VALID [2020-07-17 22:56:21,144 INFO L280 TraceCheckUtils]: 98: Hoare triple {59976#false} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59976#false} is VALID [2020-07-17 22:56:21,144 INFO L280 TraceCheckUtils]: 99: Hoare triple {59976#false} #res := ~__retres1~2; {59976#false} is VALID [2020-07-17 22:56:21,145 INFO L280 TraceCheckUtils]: 100: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,145 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {59976#false} {59976#false} #272#return; {59976#false} is VALID [2020-07-17 22:56:21,145 INFO L280 TraceCheckUtils]: 102: Hoare triple {59976#false} assume -2147483648 <= #t~ret3 && #t~ret3 <= 2147483647;~tmp___1~0 := #t~ret3;havoc #t~ret3; {59976#false} is VALID [2020-07-17 22:56:21,145 INFO L280 TraceCheckUtils]: 103: Hoare triple {59976#false} assume 0 != ~tmp___1~0; {59976#false} is VALID [2020-07-17 22:56:21,145 INFO L280 TraceCheckUtils]: 104: Hoare triple {59976#false} assume 0 == ~p_dw_st~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~tmp~1 := #t~nondet4;havoc #t~nondet4; {59976#false} is VALID [2020-07-17 22:56:21,146 INFO L280 TraceCheckUtils]: 105: Hoare triple {59976#false} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,146 INFO L263 TraceCheckUtils]: 106: Hoare triple {59976#false} call do_write_p(); {59976#false} is VALID [2020-07-17 22:56:21,146 INFO L280 TraceCheckUtils]: 107: Hoare triple {59976#false} assume !(0 == ~p_dw_pc~0); {59976#false} is VALID [2020-07-17 22:56:21,146 INFO L280 TraceCheckUtils]: 108: Hoare triple {59976#false} assume 1 == ~p_dw_pc~0; {59976#false} is VALID [2020-07-17 22:56:21,146 INFO L280 TraceCheckUtils]: 109: Hoare triple {59976#false} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647;~q_buf_0~0 := #t~nondet2;havoc #t~nondet2;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,146 INFO L263 TraceCheckUtils]: 110: Hoare triple {59976#false} call immediate_notify_threads(); {59976#false} is VALID [2020-07-17 22:56:21,147 INFO L280 TraceCheckUtils]: 111: Hoare triple {59976#false} havoc ~tmp~0;havoc ~tmp___0~0; {59976#false} is VALID [2020-07-17 22:56:21,147 INFO L263 TraceCheckUtils]: 112: Hoare triple {59976#false} call #t~ret0 := is_do_write_p_triggered(); {59976#false} is VALID [2020-07-17 22:56:21,147 INFO L280 TraceCheckUtils]: 113: Hoare triple {59976#false} havoc ~__retres1~0; {59976#false} is VALID [2020-07-17 22:56:21,147 INFO L280 TraceCheckUtils]: 114: Hoare triple {59976#false} assume 1 == ~p_dw_pc~0; {59976#false} is VALID [2020-07-17 22:56:21,147 INFO L280 TraceCheckUtils]: 115: Hoare triple {59976#false} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,147 INFO L280 TraceCheckUtils]: 116: Hoare triple {59976#false} #res := ~__retres1~0; {59976#false} is VALID [2020-07-17 22:56:21,148 INFO L280 TraceCheckUtils]: 117: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,148 INFO L275 TraceCheckUtils]: 118: Hoare quadruple {59976#false} {59976#false} #268#return; {59976#false} is VALID [2020-07-17 22:56:21,148 INFO L280 TraceCheckUtils]: 119: Hoare triple {59976#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59976#false} is VALID [2020-07-17 22:56:21,148 INFO L280 TraceCheckUtils]: 120: Hoare triple {59976#false} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59976#false} is VALID [2020-07-17 22:56:21,148 INFO L263 TraceCheckUtils]: 121: Hoare triple {59976#false} call #t~ret1 := is_do_read_c_triggered(); {59976#false} is VALID [2020-07-17 22:56:21,148 INFO L280 TraceCheckUtils]: 122: Hoare triple {59976#false} havoc ~__retres1~1; {59976#false} is VALID [2020-07-17 22:56:21,149 INFO L280 TraceCheckUtils]: 123: Hoare triple {59976#false} assume !(1 == ~c_dr_pc~0); {59976#false} is VALID [2020-07-17 22:56:21,149 INFO L280 TraceCheckUtils]: 124: Hoare triple {59976#false} ~__retres1~1 := 0; {59976#false} is VALID [2020-07-17 22:56:21,149 INFO L280 TraceCheckUtils]: 125: Hoare triple {59976#false} #res := ~__retres1~1; {59976#false} is VALID [2020-07-17 22:56:21,149 INFO L280 TraceCheckUtils]: 126: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,149 INFO L275 TraceCheckUtils]: 127: Hoare quadruple {59976#false} {59976#false} #270#return; {59976#false} is VALID [2020-07-17 22:56:21,150 INFO L280 TraceCheckUtils]: 128: Hoare triple {59976#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59976#false} is VALID [2020-07-17 22:56:21,150 INFO L280 TraceCheckUtils]: 129: Hoare triple {59976#false} assume !(0 != ~tmp___0~0); {59976#false} is VALID [2020-07-17 22:56:21,150 INFO L280 TraceCheckUtils]: 130: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,150 INFO L275 TraceCheckUtils]: 131: Hoare quadruple {59976#false} {59976#false} #266#return; {59976#false} is VALID [2020-07-17 22:56:21,150 INFO L280 TraceCheckUtils]: 132: Hoare triple {59976#false} ~q_write_ev~0 := 2; {59976#false} is VALID [2020-07-17 22:56:21,151 INFO L280 TraceCheckUtils]: 133: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:21,151 INFO L280 TraceCheckUtils]: 134: Hoare triple {59976#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,151 INFO L280 TraceCheckUtils]: 135: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,151 INFO L275 TraceCheckUtils]: 136: Hoare quadruple {59976#false} {59976#false} #274#return; {59976#false} is VALID [2020-07-17 22:56:21,152 INFO L280 TraceCheckUtils]: 137: Hoare triple {59976#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~tmp___0~1 := #t~nondet5;havoc #t~nondet5; {59976#false} is VALID [2020-07-17 22:56:21,152 INFO L280 TraceCheckUtils]: 138: Hoare triple {59976#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,152 INFO L263 TraceCheckUtils]: 139: Hoare triple {59976#false} call do_read_c(); {59976#false} is VALID [2020-07-17 22:56:21,152 INFO L280 TraceCheckUtils]: 140: Hoare triple {59976#false} havoc ~a~0; {59976#false} is VALID [2020-07-17 22:56:21,152 INFO L280 TraceCheckUtils]: 141: Hoare triple {59976#false} assume 0 == ~c_dr_pc~0; {59976#false} is VALID [2020-07-17 22:56:21,152 INFO L280 TraceCheckUtils]: 142: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:21,153 INFO L280 TraceCheckUtils]: 143: Hoare triple {59976#false} assume !(1 == ~q_free~0); {59976#false} is VALID [2020-07-17 22:56:21,153 INFO L280 TraceCheckUtils]: 144: Hoare triple {59976#false} ~a~0 := ~q_buf_0~0;~c_last_read~0 := ~a~0;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_read_ev~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,153 INFO L263 TraceCheckUtils]: 145: Hoare triple {59976#false} call immediate_notify_threads(); {59976#false} is VALID [2020-07-17 22:56:21,153 INFO L280 TraceCheckUtils]: 146: Hoare triple {59976#false} havoc ~tmp~0;havoc ~tmp___0~0; {59976#false} is VALID [2020-07-17 22:56:21,154 INFO L263 TraceCheckUtils]: 147: Hoare triple {59976#false} call #t~ret0 := is_do_write_p_triggered(); {59976#false} is VALID [2020-07-17 22:56:21,154 INFO L280 TraceCheckUtils]: 148: Hoare triple {59976#false} havoc ~__retres1~0; {59976#false} is VALID [2020-07-17 22:56:21,154 INFO L280 TraceCheckUtils]: 149: Hoare triple {59976#false} assume 1 == ~p_dw_pc~0; {59976#false} is VALID [2020-07-17 22:56:21,154 INFO L280 TraceCheckUtils]: 150: Hoare triple {59976#false} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59976#false} is VALID [2020-07-17 22:56:21,154 INFO L280 TraceCheckUtils]: 151: Hoare triple {59976#false} #res := ~__retres1~0; {59976#false} is VALID [2020-07-17 22:56:21,154 INFO L280 TraceCheckUtils]: 152: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,155 INFO L275 TraceCheckUtils]: 153: Hoare quadruple {59976#false} {59976#false} #268#return; {59976#false} is VALID [2020-07-17 22:56:21,155 INFO L280 TraceCheckUtils]: 154: Hoare triple {59976#false} assume -2147483648 <= #t~ret0 && #t~ret0 <= 2147483647;~tmp~0 := #t~ret0;havoc #t~ret0; {59976#false} is VALID [2020-07-17 22:56:21,155 INFO L280 TraceCheckUtils]: 155: Hoare triple {59976#false} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59976#false} is VALID [2020-07-17 22:56:21,155 INFO L263 TraceCheckUtils]: 156: Hoare triple {59976#false} call #t~ret1 := is_do_read_c_triggered(); {59976#false} is VALID [2020-07-17 22:56:21,155 INFO L280 TraceCheckUtils]: 157: Hoare triple {59976#false} havoc ~__retres1~1; {59976#false} is VALID [2020-07-17 22:56:21,155 INFO L280 TraceCheckUtils]: 158: Hoare triple {59976#false} assume !(1 == ~c_dr_pc~0); {59976#false} is VALID [2020-07-17 22:56:21,156 INFO L280 TraceCheckUtils]: 159: Hoare triple {59976#false} ~__retres1~1 := 0; {59976#false} is VALID [2020-07-17 22:56:21,156 INFO L280 TraceCheckUtils]: 160: Hoare triple {59976#false} #res := ~__retres1~1; {59976#false} is VALID [2020-07-17 22:56:21,156 INFO L280 TraceCheckUtils]: 161: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,156 INFO L275 TraceCheckUtils]: 162: Hoare quadruple {59976#false} {59976#false} #270#return; {59976#false} is VALID [2020-07-17 22:56:21,156 INFO L280 TraceCheckUtils]: 163: Hoare triple {59976#false} assume -2147483648 <= #t~ret1 && #t~ret1 <= 2147483647;~tmp___0~0 := #t~ret1;havoc #t~ret1; {59976#false} is VALID [2020-07-17 22:56:21,156 INFO L280 TraceCheckUtils]: 164: Hoare triple {59976#false} assume !(0 != ~tmp___0~0); {59976#false} is VALID [2020-07-17 22:56:21,157 INFO L280 TraceCheckUtils]: 165: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-17 22:56:21,157 INFO L275 TraceCheckUtils]: 166: Hoare quadruple {59976#false} {59976#false} #290#return; {59976#false} is VALID [2020-07-17 22:56:21,157 INFO L280 TraceCheckUtils]: 167: Hoare triple {59976#false} ~q_read_ev~0 := 2; {59976#false} is VALID [2020-07-17 22:56:21,157 INFO L280 TraceCheckUtils]: 168: Hoare triple {59976#false} assume ~p_last_write~0 == ~c_last_read~0; {59976#false} is VALID [2020-07-17 22:56:21,157 INFO L280 TraceCheckUtils]: 169: Hoare triple {59976#false} assume !(~p_num_write~0 == ~c_num_read~0); {59976#false} is VALID [2020-07-17 22:56:21,157 INFO L263 TraceCheckUtils]: 170: Hoare triple {59976#false} call error(); {59976#false} is VALID [2020-07-17 22:56:21,158 INFO L280 TraceCheckUtils]: 171: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-17 22:56:21,176 INFO L134 CoverageAnalysis]: Checked inductivity of 123 backedges. 87 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2020-07-17 22:56:21,177 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:56:21,177 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [11] total 11 [2020-07-17 22:56:21,177 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [164876317] [2020-07-17 22:56:21,178 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 172 [2020-07-17 22:56:21,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:56:21,179 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-17 22:56:21,355 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:56:21,356 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-17 22:56:21,356 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:56:21,357 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-17 22:56:21,357 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:56:21,358 INFO L87 Difference]: Start difference. First operand 2006 states and 2998 transitions. Second operand 3 states. [2020-07-17 22:56:25,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:25,434 INFO L93 Difference]: Finished difference Result 2401 states and 3609 transitions. [2020-07-17 22:56:25,434 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-17 22:56:25,434 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 172 [2020-07-17 22:56:25,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:56:25,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-17 22:56:25,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 295 transitions. [2020-07-17 22:56:25,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-17 22:56:25,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 295 transitions. [2020-07-17 22:56:25,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 295 transitions. [2020-07-17 22:56:25,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 295 edges. 295 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:56:25,828 INFO L225 Difference]: With dead ends: 2401 [2020-07-17 22:56:25,828 INFO L226 Difference]: Without dead ends: 0 [2020-07-17 22:56:25,841 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 209 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:56:25,841 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-17 22:56:25,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-17 22:56:25,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:56:25,842 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-17 22:56:25,842 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-17 22:56:25,842 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-17 22:56:25,843 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:25,843 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-17 22:56:25,843 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:56:25,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:25,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:25,843 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-17 22:56:25,844 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-17 22:56:25,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:56:25,844 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-17 22:56:25,844 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:56:25,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:25,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:56:25,844 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:56:25,844 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:56:25,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-17 22:56:25,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-17 22:56:25,845 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 172 [2020-07-17 22:56:25,845 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:56:25,845 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-17 22:56:25,845 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-17 22:56:25,846 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:56:25,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:56:26,046 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2020-07-17 22:56:26,050 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-17 22:56:26,679 WARN L193 SmtUtils]: Spent 133.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 102 [2020-07-17 22:56:26,802 WARN L193 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 102 [2020-07-17 22:56:27,841 WARN L193 SmtUtils]: Spent 136.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 83 [2020-07-17 22:56:35,217 WARN L193 SmtUtils]: Spent 337.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-17 22:56:36,594 WARN L193 SmtUtils]: Spent 1.37 s on a formula simplification. DAG size of input: 123 DAG size of output: 92 [2020-07-17 22:56:38,110 WARN L193 SmtUtils]: Spent 1.40 s on a formula simplification. DAG size of input: 123 DAG size of output: 92 [2020-07-17 22:56:38,607 WARN L193 SmtUtils]: Spent 432.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 74 [2020-07-17 22:56:38,754 WARN L193 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 79 DAG size of output: 65 [2020-07-17 22:56:39,775 WARN L193 SmtUtils]: Spent 962.00 ms on a formula simplification. DAG size of input: 129 DAG size of output: 83 [2020-07-17 22:56:40,201 WARN L193 SmtUtils]: Spent 312.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-17 22:56:41,535 WARN L193 SmtUtils]: Spent 1.26 s on a formula simplification. DAG size of input: 150 DAG size of output: 77 [2020-07-17 22:56:42,432 WARN L193 SmtUtils]: Spent 821.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 66 [2020-07-17 22:56:43,178 WARN L193 SmtUtils]: Spent 684.00 ms on a formula simplification. DAG size of input: 109 DAG size of output: 78 [2020-07-17 22:56:43,557 WARN L193 SmtUtils]: Spent 309.00 ms on a formula simplification. DAG size of input: 107 DAG size of output: 36 [2020-07-17 22:56:45,074 WARN L193 SmtUtils]: Spent 1.50 s on a formula simplification. DAG size of input: 123 DAG size of output: 92 [2020-07-17 22:56:45,258 WARN L193 SmtUtils]: Spent 172.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 61 [2020-07-17 22:56:45,457 WARN L193 SmtUtils]: Spent 146.00 ms on a formula simplification. DAG size of input: 79 DAG size of output: 65 [2020-07-17 22:56:49,089 WARN L193 SmtUtils]: Spent 3.51 s on a formula simplification. DAG size of input: 214 DAG size of output: 150 [2020-07-17 22:56:49,330 WARN L193 SmtUtils]: Spent 183.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 52 [2020-07-17 22:56:49,970 WARN L193 SmtUtils]: Spent 593.00 ms on a formula simplification. DAG size of input: 96 DAG size of output: 80 [2020-07-17 22:56:50,647 WARN L193 SmtUtils]: Spent 609.00 ms on a formula simplification. DAG size of input: 95 DAG size of output: 74 [2020-07-17 22:56:51,212 WARN L193 SmtUtils]: Spent 276.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-17 22:56:51,833 WARN L193 SmtUtils]: Spent 277.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-17 22:56:55,205 WARN L193 SmtUtils]: Spent 3.27 s on a formula simplification. DAG size of input: 227 DAG size of output: 153 [2020-07-17 22:56:58,115 WARN L193 SmtUtils]: Spent 2.60 s on a formula simplification. DAG size of input: 178 DAG size of output: 127 [2020-07-17 22:56:59,074 WARN L193 SmtUtils]: Spent 912.00 ms on a formula simplification. DAG size of input: 150 DAG size of output: 89 [2020-07-17 22:57:00,737 WARN L193 SmtUtils]: Spent 1.58 s on a formula simplification. DAG size of input: 179 DAG size of output: 116 [2020-07-17 22:57:00,954 WARN L193 SmtUtils]: Spent 164.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 52 [2020-07-17 22:57:02,111 WARN L193 SmtUtils]: Spent 1.10 s on a formula simplification. DAG size of input: 181 DAG size of output: 100 [2020-07-17 22:57:05,249 WARN L193 SmtUtils]: Spent 3.04 s on a formula simplification. DAG size of input: 214 DAG size of output: 150 [2020-07-17 22:57:05,624 WARN L193 SmtUtils]: Spent 282.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-17 22:57:06,059 WARN L193 SmtUtils]: Spent 378.00 ms on a formula simplification. DAG size of input: 95 DAG size of output: 70 [2020-07-17 22:57:06,169 WARN L193 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 51 [2020-07-17 22:57:06,310 WARN L193 SmtUtils]: Spent 133.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 36 [2020-07-17 22:57:06,987 WARN L193 SmtUtils]: Spent 607.00 ms on a formula simplification. DAG size of input: 128 DAG size of output: 87 [2020-07-17 22:57:07,247 WARN L193 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 61 [2020-07-17 22:57:07,785 WARN L193 SmtUtils]: Spent 457.00 ms on a formula simplification. DAG size of input: 113 DAG size of output: 53 [2020-07-17 22:57:10,149 WARN L193 SmtUtils]: Spent 2.28 s on a formula simplification. DAG size of input: 214 DAG size of output: 130 [2020-07-17 22:57:10,964 WARN L193 SmtUtils]: Spent 752.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 66 [2020-07-17 22:57:12,357 WARN L193 SmtUtils]: Spent 1.35 s on a formula simplification. DAG size of input: 200 DAG size of output: 90 [2020-07-17 22:57:12,364 INFO L268 CegarLoopResult]: For program point exists_runnable_threadEXIT(lines 210 229) no Hoare annotation was computed. [2020-07-17 22:57:12,364 INFO L268 CegarLoopResult]: For program point L218(lines 218 223) no Hoare annotation was computed. [2020-07-17 22:57:12,365 INFO L268 CegarLoopResult]: For program point L214(lines 214 224) no Hoare annotation was computed. [2020-07-17 22:57:12,365 INFO L271 CegarLoopResult]: At program point exists_runnable_threadENTRY(lines 210 229) the Hoare annotation is: true [2020-07-17 22:57:12,365 INFO L271 CegarLoopResult]: At program point L226(lines 213 228) the Hoare annotation is: true [2020-07-17 22:57:12,365 INFO L268 CegarLoopResult]: For program point exists_runnable_threadFINAL(lines 210 229) no Hoare annotation was computed. [2020-07-17 22:57:12,365 INFO L268 CegarLoopResult]: For program point init_threadsEXIT(lines 192 209) no Hoare annotation was computed. [2020-07-17 22:57:12,365 INFO L268 CegarLoopResult]: For program point L201-1(lines 192 209) no Hoare annotation was computed. [2020-07-17 22:57:12,365 INFO L264 CegarLoopResult]: At program point init_threadsENTRY(lines 192 209) the Hoare annotation is: (or (not (<= ~p_dw_pc~0 0)) (not (= 0 ~c_num_read~0)) (not (= ~p_last_write~0 ~q_buf_0~0)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 ~p_dw_i~0)) (= ~c_dr_pc~0 1) (and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (not (= 1 ~q_free~0)) (not (= 0 ~p_num_write~0)) (not (= ~c_last_read~0 ~p_last_write~0))) [2020-07-17 22:57:12,366 INFO L268 CegarLoopResult]: For program point L196-1(lines 195 208) no Hoare annotation was computed. [2020-07-17 22:57:12,366 INFO L264 CegarLoopResult]: At program point L354-1(line 354) the Hoare annotation is: (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 0 |old(~q_free~0)|)) (not (= 0 |old(~p_num_write~0)|)) (and (<= ~p_dw_pc~0 0) (not (= ~c_dr_pc~0 1)) (= 1 ~p_dw_i~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= 0 ~c_num_read~0) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_dw_st~0) (= 0 ~p_num_write~0) (= ~p_last_write~0 ~q_buf_0~0) (= 1 ~q_free~0)) (not (= 0 |old(~c_num_read~0)|)) (= 1 |old(~p_dw_i~0)|) (not (<= |old(~p_dw_pc~0)| 0)) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) [2020-07-17 22:57:12,366 INFO L264 CegarLoopResult]: At program point mainENTRY(lines 349 360) the Hoare annotation is: (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 0 |old(~q_free~0)|)) (not (= 0 |old(~p_num_write~0)|)) (not (= 0 |old(~c_num_read~0)|)) (and (= 0 ~q_free~0) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= |old(~c_dr_i~0)| ~c_dr_i~0) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= 0 ~c_num_read~0) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_dw_st~0) (= 0 ~p_num_write~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= ~q_write_ev~0 |old(~q_write_ev~0)|)) (= 1 |old(~p_dw_i~0)|) (not (<= |old(~p_dw_pc~0)| 0)) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) [2020-07-17 22:57:12,367 INFO L268 CegarLoopResult]: For program point mainFINAL(lines 349 360) no Hoare annotation was computed. [2020-07-17 22:57:12,367 INFO L268 CegarLoopResult]: For program point mainEXIT(lines 349 360) no Hoare annotation was computed. [2020-07-17 22:57:12,367 INFO L268 CegarLoopResult]: For program point L355(line 355) no Hoare annotation was computed. [2020-07-17 22:57:12,367 INFO L264 CegarLoopResult]: At program point L354(line 354) the Hoare annotation is: (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 0 |old(~q_free~0)|)) (not (= 0 |old(~p_num_write~0)|)) (not (= 0 |old(~c_num_read~0)|)) (and (= 0 ~q_free~0) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= |old(~c_dr_i~0)| ~c_dr_i~0) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= 0 ~c_num_read~0) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_dw_st~0) (= 0 ~p_num_write~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= ~q_write_ev~0 |old(~q_write_ev~0)|)) (= 1 |old(~p_dw_i~0)|) (not (<= |old(~p_dw_pc~0)| 0)) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) [2020-07-17 22:57:12,368 INFO L264 CegarLoopResult]: At program point L128(lines 91 133) the Hoare annotation is: (let ((.cse12 (= ~c_dr_pc~0 1))) (let ((.cse2 (not .cse12)) (.cse19 (= 1 ~p_dw_i~0)) (.cse4 (= 0 ~q_free~0)) (.cse6 (= 1 ~p_dw_pc~0)) (.cse7 (= ~p_last_write~0 ~q_buf_0~0)) (.cse8 (<= 2 ~p_dw_st~0))) (let ((.cse14 (not (= 0 ~c_num_read~0))) (.cse0 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse10 (not (= 1 |old(~q_free~0)|))) (.cse15 (not (= 0 |old(~p_num_write~0)|))) (.cse16 (and .cse4 .cse6 (= 1 ~p_num_write~0) .cse7 .cse8)) (.cse17 (not (= ~c_last_read~0 |old(~p_last_write~0)|))) (.cse13 (not (<= |old(~p_dw_pc~0)| 0))) (.cse1 (not (= 1 |old(~p_dw_pc~0)|))) (.cse11 (and (<= 2 ~c_dr_st~0) (not (= 1 ~p_dw_st~0)) .cse2 .cse6 .cse19 (not (= ~p_dw_pc~0 ~q_free~0)) (not (= ~p_dw_st~0 ~q_free~0)))) (.cse3 (let ((.cse18 (not .cse19))) (and (or .cse18 (= |old(~p_dw_pc~0)| |old(~q_free~0)|) (= 0 |old(~q_free~0)|)) (or (not (<= 1 |old(~q_free~0)|)) .cse18)))) (.cse9 (not (<= 2 |old(~c_dr_st~0)|)))) (and (or .cse0 .cse1 (not (<= |old(~p_num_write~0)| ~c_num_read~0)) (not (<= ~c_num_read~0 |old(~p_num_write~0)|)) .cse2 .cse3 (let ((.cse5 (+ |old(~p_num_write~0)| 1))) (and .cse4 (<= ~p_num_write~0 .cse5) .cse6 (<= .cse5 ~p_num_write~0) .cse7 .cse8)) .cse9) (or .cse10 .cse11 .cse3 .cse12 .cse9 .cse13) (or .cse14 .cse0 .cse10 .cse15 .cse3 .cse16 .cse17 .cse9 .cse13) (or .cse14 .cse0 .cse10 .cse15 .cse3 .cse16 .cse17 .cse12 .cse13) (or .cse1 .cse11 .cse3 .cse12 .cse9))))) [2020-07-17 22:57:12,368 INFO L264 CegarLoopResult]: At program point do_write_pENTRY(lines 91 133) the Hoare annotation is: (let ((.cse2 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse5 (= ~p_num_write~0 |old(~p_num_write~0)|)) (.cse21 (= 1 ~p_dw_i~0)) (.cse6 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse7 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse8 (= |old(~q_free~0)| ~q_free~0))) (let ((.cse3 (= ~p_last_write~0 |old(~p_last_write~0)|)) (.cse22 (or (and .cse2 .cse5 .cse21 .cse6 .cse7 (not (= 0 ~q_free~0)) (not (= ~p_dw_pc~0 ~q_free~0)) .cse8) (and .cse2 (<= 1 ~q_free~0) .cse5 .cse21 .cse6 .cse7 .cse8))) (.cse4 (= ~q_buf_0~0 |old(~q_buf_0~0)|)) (.cse9 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (let ((.cse1 (not (= 1 |old(~p_dw_pc~0)|))) (.cse14 (not (= 0 ~c_num_read~0))) (.cse0 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse16 (not (= 0 |old(~p_num_write~0)|))) (.cse17 (not (= ~c_last_read~0 |old(~p_last_write~0)|))) (.cse18 (and .cse22 .cse4 (= ~c_last_read~0 ~p_last_write~0) .cse9)) (.cse12 (and .cse3 .cse22 .cse4 .cse9)) (.cse15 (not (= 1 |old(~q_free~0)|))) (.cse10 (let ((.cse20 (not .cse21))) (and (or .cse20 (= |old(~p_dw_pc~0)| |old(~q_free~0)|) (= 0 |old(~q_free~0)|)) (or (not (<= 1 |old(~q_free~0)|)) .cse20)))) (.cse13 (= ~c_dr_pc~0 1)) (.cse11 (not (<= 2 |old(~c_dr_st~0)|))) (.cse19 (not (<= |old(~p_dw_pc~0)| 0)))) (and (or .cse0 .cse1 (not (<= |old(~p_num_write~0)| ~c_num_read~0)) (and .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 .cse9) (not (<= ~c_num_read~0 |old(~p_num_write~0)|)) .cse10 .cse11) (or .cse12 .cse1 .cse10 .cse13 .cse11) (or .cse14 .cse0 .cse15 .cse16 .cse10 .cse17 .cse18 .cse11 .cse19) (or .cse14 .cse0 .cse15 .cse16 .cse10 .cse17 .cse13 .cse18 .cse19) (or .cse12 .cse15 .cse10 .cse13 .cse11 .cse19))))) [2020-07-17 22:57:12,368 INFO L264 CegarLoopResult]: At program point L124(line 124) the Hoare annotation is: (let ((.cse9 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse15 (= 0 ~q_free~0)) (.cse10 (<= ~p_dw_pc~0 0)) (.cse11 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse16 (= ~p_last_write~0 ~q_buf_0~0))) (let ((.cse13 (not (= 1 |old(~p_dw_pc~0)|))) (.cse14 (= 1 ~p_dw_pc~0)) (.cse7 (not (<= 2 |old(~c_dr_st~0)|))) (.cse0 (not (= 0 ~c_num_read~0))) (.cse1 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse2 (not (= 1 |old(~q_free~0)|))) (.cse3 (not (= 0 |old(~p_num_write~0)|))) (.cse4 (let ((.cse17 (not (= 1 ~p_dw_i~0)))) (and (or .cse17 (= |old(~p_dw_pc~0)| |old(~q_free~0)|) (= 0 |old(~q_free~0)|)) (or (not (<= 1 |old(~q_free~0)|)) .cse17)))) (.cse5 (not (= ~c_last_read~0 |old(~p_last_write~0)|))) (.cse12 (= ~c_dr_pc~0 1)) (.cse6 (and .cse9 .cse15 .cse10 .cse11 (= 1 ~p_num_write~0) .cse16)) (.cse8 (not (<= |old(~p_dw_pc~0)| 0)))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8) (or (and .cse9 .cse10 .cse11) .cse2 .cse4 .cse12 .cse7 .cse8) (or .cse13 (and (<= 2 ~c_dr_st~0) .cse14) .cse4 .cse12 .cse7) (or .cse1 .cse13 (not (<= |old(~p_num_write~0)| ~c_num_read~0)) (not (<= ~c_num_read~0 |old(~p_num_write~0)|)) (not .cse12) .cse4 (and .cse9 .cse15 (<= ~p_num_write~0 (+ ~c_num_read~0 1)) .cse14 .cse11 (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0) .cse16) .cse7) (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse12 .cse6 .cse8)))) [2020-07-17 22:57:12,369 INFO L268 CegarLoopResult]: For program point L124-1(line 124) no Hoare annotation was computed. [2020-07-17 22:57:12,369 INFO L268 CegarLoopResult]: For program point L108(lines 107 127) no Hoare annotation was computed. [2020-07-17 22:57:12,369 INFO L268 CegarLoopResult]: For program point do_write_pEXIT(lines 91 133) no Hoare annotation was computed. [2020-07-17 22:57:12,369 INFO L264 CegarLoopResult]: At program point L109(lines 95 132) the Hoare annotation is: (let ((.cse19 (= 1 ~p_dw_i~0))) (let ((.cse16 (not (= 1 |old(~p_dw_pc~0)|))) (.cse18 (= 1 ~p_dw_pc~0)) (.cse11 (= ~p_last_write~0 ~q_buf_0~0)) (.cse0 (not (= 0 ~c_num_read~0))) (.cse1 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse7 (= ~q_buf_0~0 |old(~q_buf_0~0)|)) (.cse9 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse10 (= 0 ~p_num_write~0)) (.cse12 (= |old(~q_free~0)| ~q_free~0)) (.cse13 (= ~q_write_ev~0 |old(~q_write_ev~0)|)) (.cse3 (not (= 0 |old(~p_num_write~0)|))) (.cse5 (not (= ~c_last_read~0 |old(~p_last_write~0)|))) (.cse2 (not (= 1 |old(~q_free~0)|))) (.cse4 (let ((.cse21 (not .cse19))) (and (or .cse21 (= |old(~p_dw_pc~0)| |old(~q_free~0)|) (= 0 |old(~q_free~0)|)) (or (not (<= 1 |old(~q_free~0)|)) .cse21)))) (.cse17 (= ~c_dr_pc~0 1)) (.cse14 (not (<= 2 |old(~c_dr_st~0)|))) (.cse15 (not (<= |old(~p_dw_pc~0)| 0))) (.cse6 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse8 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse20 (not (= 0 ~q_free~0)))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (and .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 .cse13) .cse14 .cse15) (or .cse16 .cse4 .cse17 .cse14 (and (<= 2 ~c_dr_st~0) .cse18 .cse19 .cse20)) (or .cse1 .cse16 (not (<= |old(~p_num_write~0)| ~c_num_read~0)) (not (<= ~c_num_read~0 |old(~p_num_write~0)|)) (not .cse17) .cse4 .cse14 (and .cse6 (<= ~p_num_write~0 ~c_num_read~0) (<= ~c_num_read~0 ~p_num_write~0) .cse7 .cse18 .cse19 .cse8 .cse20 .cse11 .cse12 .cse13)) (or .cse0 .cse1 .cse2 (and .cse6 (= ~p_last_write~0 |old(~p_last_write~0)|) .cse7 .cse8 .cse9 .cse10 .cse12 .cse13) .cse3 .cse4 .cse5 .cse17 .cse15) (or .cse2 .cse4 .cse17 .cse14 .cse15 (and .cse6 (<= ~p_dw_pc~0 0) .cse19 .cse8 .cse20))))) [2020-07-17 22:57:12,369 INFO L264 CegarLoopResult]: At program point L107-1(lines 95 132) the Hoare annotation is: (let ((.cse13 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse19 (= 1 ~p_dw_i~0)) (.cse15 (= ~c_dr_st~0 |old(~c_dr_st~0)|))) (let ((.cse1 (not (= 1 |old(~p_dw_pc~0)|))) (.cse6 (= 1 ~p_dw_pc~0)) (.cse2 (= ~c_dr_pc~0 1)) (.cse8 (and .cse13 (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) .cse19 .cse15 (= ~c_last_read~0 ~p_last_write~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= |old(~q_free~0)| ~q_free~0) (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (.cse9 (not (= 0 ~c_num_read~0))) (.cse0 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse10 (not (= 1 |old(~q_free~0)|))) (.cse5 (= 0 ~q_free~0)) (.cse14 (<= ~p_dw_pc~0 0)) (.cse16 (= 1 ~p_num_write~0)) (.cse7 (= ~p_last_write~0 ~q_buf_0~0)) (.cse11 (not (= 0 |old(~p_num_write~0)|))) (.cse3 (let ((.cse18 (not .cse19))) (and (or .cse18 (= |old(~p_dw_pc~0)| |old(~q_free~0)|) (= 0 |old(~q_free~0)|)) (or (not (<= 1 |old(~q_free~0)|)) .cse18)))) (.cse12 (not (= ~c_last_read~0 |old(~p_last_write~0)|))) (.cse4 (not (<= 2 |old(~c_dr_st~0)|))) (.cse17 (not (<= |old(~p_dw_pc~0)| 0)))) (and (or .cse0 .cse1 (not (<= |old(~p_num_write~0)| ~c_num_read~0)) (not (<= ~c_num_read~0 |old(~p_num_write~0)|)) (not .cse2) .cse3 .cse4 (and .cse5 .cse6 (<= ~p_num_write~0 (+ ~c_num_read~0 1)) (<= (+ |old(~p_num_write~0)| 1) ~p_num_write~0) .cse7)) (or .cse8 .cse9 .cse0 .cse10 .cse11 .cse3 .cse12 .cse2 (and .cse13 .cse5 .cse14 .cse15 .cse16 .cse7) .cse17) (or (and .cse13 .cse14 .cse15) .cse10 .cse3 .cse2 .cse4 .cse17) (or .cse1 (and (<= 2 ~c_dr_st~0) .cse6) .cse3 .cse2 .cse4) (or .cse8 .cse9 .cse0 .cse10 (and .cse5 .cse14 .cse16 .cse7) .cse11 .cse3 .cse12 .cse4 .cse17)))) [2020-07-17 22:57:12,370 INFO L268 CegarLoopResult]: For program point L99(lines 99 103) no Hoare annotation was computed. [2020-07-17 22:57:12,370 INFO L268 CegarLoopResult]: For program point errorEXIT(lines 5 12) no Hoare annotation was computed. [2020-07-17 22:57:12,370 INFO L268 CegarLoopResult]: For program point errorErr0ASSERT_VIOLATIONERROR_FUNCTION(line 9) no Hoare annotation was computed. [2020-07-17 22:57:12,370 INFO L271 CegarLoopResult]: At program point errorENTRY(lines 5 12) the Hoare annotation is: true [2020-07-17 22:57:12,370 INFO L268 CegarLoopResult]: For program point errorFINAL(lines 5 12) no Hoare annotation was computed. [2020-07-17 22:57:12,370 INFO L264 CegarLoopResult]: At program point immediate_notify_threadsENTRY(lines 66 90) the Hoare annotation is: (let ((.cse3 (= ~c_dr_pc~0 1)) (.cse0 (not (= 1 ~p_dw_pc~0))) (.cse2 (not (<= 2 |old(~p_dw_st~0)|))) (.cse6 (not (= 1 ~q_free~0))) (.cse7 (not (= ~c_last_read~0 ~p_last_write~0))) (.cse9 (not (<= ~p_dw_pc~0 0))) (.cse10 (not (= 0 ~c_num_read~0))) (.cse1 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse4 (not (= 1 ~p_dw_i~0))) (.cse5 (and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))) (.cse8 (not (<= 2 |old(~c_dr_st~0)|))) (.cse11 (not (= 1 ~p_num_write~0))) (.cse12 (not (= 0 ~q_free~0)))) (and (or .cse0 .cse1 .cse2 (not .cse3) .cse4 (not (<= ~p_num_write~0 ~c_num_read~0)) (not (<= ~c_num_read~0 ~p_num_write~0)) .cse5 .cse6 .cse7) (or .cse0 .cse4 .cse3 .cse5 .cse8) (or .cse9 .cse10 .cse1 .cse4 .cse3 .cse5 .cse11 .cse12) (let ((.cse13 (+ ~c_num_read~0 1))) (or .cse0 .cse1 (not (<= ~p_num_write~0 .cse13)) .cse4 .cse5 .cse8 .cse12 (not (<= .cse13 ~p_num_write~0)))) (or .cse9 .cse4 .cse3 .cse5 .cse8) (or .cse0 .cse1 .cse2 .cse4 .cse5 .cse6 .cse11 (not (= 1 ~c_num_read~0)) .cse7) (or .cse9 .cse10 .cse1 .cse4 .cse5 .cse8 .cse11 .cse12))) [2020-07-17 22:57:12,371 INFO L268 CegarLoopResult]: For program point L82(lines 82 86) no Hoare annotation was computed. [2020-07-17 22:57:12,371 INFO L268 CegarLoopResult]: For program point L80(line 80) no Hoare annotation was computed. [2020-07-17 22:57:12,371 INFO L268 CegarLoopResult]: For program point L82-2(lines 66 90) no Hoare annotation was computed. [2020-07-17 22:57:12,371 INFO L268 CegarLoopResult]: For program point L74(lines 74 78) no Hoare annotation was computed. [2020-07-17 22:57:12,371 INFO L268 CegarLoopResult]: For program point immediate_notify_threadsEXIT(lines 66 90) no Hoare annotation was computed. [2020-07-17 22:57:12,371 INFO L264 CegarLoopResult]: At program point L72(line 72) the Hoare annotation is: (let ((.cse3 (= ~c_dr_pc~0 1)) (.cse0 (not (= 1 ~p_dw_pc~0))) (.cse2 (not (<= 2 |old(~p_dw_st~0)|))) (.cse6 (not (= 1 ~q_free~0))) (.cse7 (not (= ~c_last_read~0 ~p_last_write~0))) (.cse9 (not (<= ~p_dw_pc~0 0))) (.cse10 (not (= 0 ~c_num_read~0))) (.cse1 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse4 (not (= 1 ~p_dw_i~0))) (.cse5 (and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))) (.cse8 (not (<= 2 |old(~c_dr_st~0)|))) (.cse11 (not (= 1 ~p_num_write~0))) (.cse12 (not (= 0 ~q_free~0)))) (and (or .cse0 .cse1 .cse2 (not .cse3) .cse4 (not (<= ~p_num_write~0 ~c_num_read~0)) (not (<= ~c_num_read~0 ~p_num_write~0)) .cse5 .cse6 .cse7) (or .cse0 .cse4 .cse3 .cse5 .cse8) (or .cse9 .cse10 .cse1 .cse4 .cse3 .cse5 .cse11 .cse12) (let ((.cse13 (+ ~c_num_read~0 1))) (or .cse0 .cse1 (not (<= ~p_num_write~0 .cse13)) .cse4 .cse5 .cse8 .cse12 (not (<= .cse13 ~p_num_write~0)))) (or .cse9 .cse4 .cse3 .cse5 .cse8) (or .cse0 .cse1 .cse2 .cse4 .cse5 .cse6 .cse11 (not (= 1 ~c_num_read~0)) .cse7) (or .cse9 .cse10 .cse1 .cse4 .cse5 .cse8 .cse11 .cse12))) [2020-07-17 22:57:12,372 INFO L264 CegarLoopResult]: At program point L74-2(lines 74 78) the Hoare annotation is: (let ((.cse16 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse17 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse4 (= 0 ~p_dw_st~0))) (let ((.cse2 (not (<= 2 |old(~p_dw_st~0)|))) (.cse5 (not (= 1 ~q_free~0))) (.cse8 (not (= ~c_last_read~0 ~p_last_write~0))) (.cse14 (and (<= 2 ~c_dr_st~0) (or (and .cse16 .cse17) .cse4))) (.cse0 (not (= 1 ~p_dw_pc~0))) (.cse11 (not (<= 2 |old(~c_dr_st~0)|))) (.cse10 (not (<= ~p_dw_pc~0 0))) (.cse12 (not (= 0 ~c_num_read~0))) (.cse1 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse3 (not (= 1 ~p_dw_i~0))) (.cse9 (= ~c_dr_pc~0 1)) (.cse6 (not (= 1 ~p_num_write~0))) (.cse13 (not (= 0 ~q_free~0))) (.cse7 (and .cse16 (< 0 (+ immediate_notify_threads_~tmp~0 1)) .cse17 (<= immediate_notify_threads_~tmp~0 0)))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (not (= 1 ~c_num_read~0)) .cse8) (or .cse0 .cse1 .cse2 (not .cse9) .cse3 (not (<= ~p_num_write~0 ~c_num_read~0)) (not (<= ~c_num_read~0 ~p_num_write~0)) .cse4 .cse5 .cse7 .cse8) (or .cse10 .cse3 .cse9 .cse11 .cse7) (or .cse10 .cse12 .cse1 .cse3 .cse11 .cse6 .cse13 .cse7) (or .cse14 .cse0 .cse3 .cse9 .cse11) (let ((.cse15 (+ ~c_num_read~0 1))) (or .cse14 .cse0 .cse1 (not (<= ~p_num_write~0 .cse15)) .cse3 .cse11 .cse13 (not (<= .cse15 ~p_num_write~0)))) (or .cse10 .cse12 .cse1 .cse3 .cse9 .cse6 .cse13 .cse7)))) [2020-07-17 22:57:12,372 INFO L268 CegarLoopResult]: For program point L72-1(line 72) no Hoare annotation was computed. [2020-07-17 22:57:12,372 INFO L268 CegarLoopResult]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2020-07-17 22:57:12,372 INFO L264 CegarLoopResult]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_dw_st~0 |old(~p_dw_st~0)|) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) (= ~p_dw_pc~0 |old(~p_dw_pc~0)|) (= ~c_last_read~0 |old(~c_last_read~0)|) (= ~q_read_ev~0 |old(~q_read_ev~0)|) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~q_free~0 |old(~q_free~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_dr_i~0 |old(~c_dr_i~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|)) [2020-07-17 22:57:12,372 INFO L268 CegarLoopResult]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2020-07-17 22:57:12,373 INFO L264 CegarLoopResult]: At program point evalENTRY(lines 230 283) the Hoare annotation is: (let ((.cse40 (<= 1 ~q_free~0)) (.cse9 (= ~c_num_read~0 |old(~c_num_read~0)|)) (.cse39 (= 1 ~p_dw_i~0)) (.cse41 (not (= ~p_dw_pc~0 ~q_free~0))) (.cse42 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse28 (or (and .cse9 .cse40 .cse39) (and .cse9 .cse39 .cse41 .cse42))) (.cse34 (= |old(~p_dw_st~0)| |old(~q_free~0)|)) (.cse36 (= |old(~p_dw_pc~0)| |old(~q_free~0)|)) (.cse37 (not (<= 1 |old(~q_free~0)|))) (.cse35 (not .cse39)) (.cse26 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse10 (= ~p_num_write~0 |old(~p_num_write~0)|)) (.cse11 (= ~c_last_read~0 |old(~c_last_read~0)|)) (.cse12 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse13 (= ~p_last_write~0 |old(~p_last_write~0)|)) (.cse14 (= ~q_buf_0~0 |old(~q_buf_0~0)|)) (.cse15 (= ~a_t~0 |old(~a_t~0)|)) (.cse16 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse17 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse18 (= 0 ~p_dw_st~0)) (.cse19 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse27 (= |old(~q_free~0)| ~q_free~0)) (.cse20 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (let ((.cse1 (not (= 1 |old(~q_free~0)|))) (.cse7 (not (= 0 |old(~p_num_write~0)|))) (.cse8 (not (= 0 |old(~c_num_read~0)|))) (.cse2 (and (or (and .cse26 .cse9 .cse10 .cse39 .cse11 .cse12 .cse40 .cse13 .cse14 .cse15 .cse16 .cse17 .cse18 .cse19 .cse27) (and .cse26 .cse9 .cse10 .cse39 .cse11 .cse12 .cse13 .cse14 .cse15 .cse16 .cse17 .cse18 .cse19 .cse41 .cse27 .cse42)) .cse20)) (.cse4 (let ((.cse38 (not (= 0 |old(~p_dw_st~0)|)))) (and (or .cse34 .cse38 .cse35 .cse36) (or .cse38 .cse37 .cse35)))) (.cse5 (not (<= |old(~p_dw_pc~0)| 0))) (.cse21 (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) (.cse24 (not (= 0 |old(~q_free~0)|))) (.cse0 (= 1 |old(~c_dr_pc~0)|)) (.cse30 (not (<= |old(~c_num_read~0)| |old(~p_num_write~0)|))) (.cse6 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse22 (not (= 1 |old(~p_dw_pc~0)|))) (.cse23 (not (<= 2 |old(~p_dw_st~0)|))) (.cse25 (and (or .cse34 .cse35 .cse36) (or .cse37 .cse35))) (.cse29 (and .cse26 .cse10 .cse11 .cse12 .cse13 .cse14 .cse15 .cse16 .cse17 .cse19 .cse27 .cse20 .cse28)) (.cse3 (not (<= 2 |old(~c_dr_st~0)|))) (.cse31 (not (<= |old(~p_num_write~0)| |old(~c_num_read~0)|)))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (or .cse6 .cse1 .cse7 .cse8 (and .cse9 .cse10 .cse11 .cse12 .cse13 .cse14 .cse15 .cse16 .cse17 .cse18 .cse19 .cse20 (= 1 ~q_free~0)) .cse3 .cse4 .cse5 .cse21) (or .cse6 .cse22 (not (= 1 |old(~p_num_write~0)|)) .cse23 .cse24 .cse25 .cse8 (and .cse26 .cse11 .cse12 (= 1 ~p_num_write~0) .cse13 .cse14 .cse15 .cse16 .cse17 .cse19 .cse27 .cse20 .cse28)) (or .cse0 .cse22 (= 1 |old(~p_dw_st~0)|) .cse25 .cse29 .cse3) (or .cse30 .cse6 .cse22 .cse2 .cse3 .cse4 .cse31) (or .cse0 .cse6 .cse1 .cse7 .cse8 .cse2 .cse4 .cse5 .cse21) (let ((.cse32 (+ |old(~c_num_read~0)| 1))) (or .cse6 .cse22 .cse23 .cse24 (not (<= |old(~p_num_write~0)| .cse32)) .cse25 (not (<= .cse32 |old(~p_num_write~0)|)) (let ((.cse33 (+ ~c_num_read~0 1))) (and .cse26 (<= ~p_num_write~0 .cse33) .cse11 .cse12 .cse13 .cse14 (<= .cse33 ~p_num_write~0) .cse15 .cse16 .cse17 .cse19 .cse27 .cse20 .cse28)) (not .cse0))) (or .cse30 .cse6 .cse22 .cse23 .cse25 .cse29 .cse3 .cse31))))) [2020-07-17 22:57:12,375 INFO L264 CegarLoopResult]: At program point L254(line 254) the Hoare annotation is: (let ((.cse41 (= 1 ~p_dw_i~0))) (let ((.cse9 (= 1 |old(~c_dr_pc~0)|)) (.cse34 (+ |old(~c_num_read~0)| 1)) (.cse35 (= |old(~p_dw_st~0)| |old(~q_free~0)|)) (.cse37 (= |old(~p_dw_pc~0)| |old(~q_free~0)|)) (.cse38 (not (<= 1 |old(~q_free~0)|))) (.cse36 (not .cse41)) (.cse12 (<= 2 ~c_dr_st~0)) (.cse39 (= 1 ~p_dw_pc~0)) (.cse14 (= ~c_dr_pc~0 1)) (.cse17 (or (and .cse41 (not (= ~p_dw_pc~0 ~q_free~0)) (not (= 0 ~q_free~0))) (and (<= 1 ~q_free~0) .cse41))) (.cse19 (= ~p_last_write~0 ~q_buf_0~0))) (let ((.cse0 (and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0) .cse12 .cse39 .cse14 .cse17 .cse19)) (.cse11 (not (= 0 |old(~p_num_write~0)|))) (.cse21 (not (= 0 |old(~c_num_read~0)|))) (.cse13 (<= ~p_dw_pc~0 0)) (.cse16 (= ~c_last_read~0 ~p_last_write~0)) (.cse15 (= 0 ~c_num_read~0)) (.cse18 (= 0 ~p_num_write~0)) (.cse28 (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) (.cse29 (not (<= |old(~c_num_read~0)| |old(~p_num_write~0)|))) (.cse31 (not (<= |old(~p_num_write~0)| |old(~c_num_read~0)|))) (.cse10 (not (= 1 |old(~q_free~0)|))) (.cse22 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse23 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse24 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse20 (= 1 ~q_free~0)) (.cse25 (= ~q_write_ev~0 |old(~q_write_ev~0)|)) (.cse27 (let ((.cse40 (not (= 0 |old(~p_dw_st~0)|)))) (and (or .cse35 .cse40 .cse36 .cse37) (or .cse40 .cse38 .cse36)))) (.cse26 (not (<= |old(~p_dw_pc~0)| 0))) (.cse33 (and .cse12 (not .cse14) .cse39 .cse17)) (.cse1 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse2 (not (= 1 |old(~p_dw_pc~0)|))) (.cse4 (not (<= 2 |old(~p_dw_st~0)|))) (.cse3 (not (= 0 |old(~q_free~0)|))) (.cse32 (= 1 |old(~p_dw_st~0)|)) (.cse5 (not (<= |old(~p_num_write~0)| .cse34))) (.cse6 (and (or .cse35 .cse36 .cse37) (or .cse38 .cse36))) (.cse7 (not (<= .cse34 |old(~p_num_write~0)|))) (.cse30 (not (<= 2 |old(~c_dr_st~0)|))) (.cse8 (not .cse9))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8) (or .cse9 .cse0 .cse1 .cse10 .cse11 (and .cse12 .cse13 .cse14 .cse15 .cse16 .cse17 .cse18 .cse19 .cse20) .cse21 (and .cse22 .cse15 .cse23 .cse16 .cse24 .cse18 .cse19 .cse20 .cse25) .cse26 .cse27 .cse28) (or .cse29 .cse0 .cse1 .cse2 .cse30 .cse8 .cse27 .cse31) (or .cse0 .cse1 .cse2 (not (= 1 |old(~p_num_write~0)|)) .cse3 .cse4 .cse6 .cse21) (or .cse0 .cse1 .cse10 .cse11 .cse21 (and .cse12 .cse13 .cse14 .cse16 .cse15 .cse17 .cse18 .cse20 .cse19) .cse30 .cse8 .cse26 .cse27 .cse28) (or .cse29 .cse1 .cse2 .cse4 .cse32 .cse6 .cse30 .cse8 .cse31) (or .cse9 .cse33 .cse10 (and (= ~c_num_read~0 |old(~c_num_read~0)|) .cse12 (= ~p_num_write~0 |old(~p_num_write~0)|) .cse22 .cse23 .cse24 .cse20 .cse25) .cse30 .cse27 .cse26) (or .cse9 .cse33 .cse2 .cse32 .cse6 .cse30) (or .cse1 .cse2 .cse4 .cse3 .cse32 .cse5 .cse6 .cse7 .cse30 .cse8))))) [2020-07-17 22:57:12,375 INFO L268 CegarLoopResult]: For program point L242(lines 242 246) no Hoare annotation was computed. [2020-07-17 22:57:12,375 INFO L268 CegarLoopResult]: For program point L242-1(lines 237 277) no Hoare annotation was computed. [2020-07-17 22:57:12,375 INFO L268 CegarLoopResult]: For program point L240(line 240) no Hoare annotation was computed. [2020-07-17 22:57:12,376 INFO L264 CegarLoopResult]: At program point L238(line 238) the Hoare annotation is: (let ((.cse62 (<= 1 ~q_free~0)) (.cse57 (= 1 ~p_dw_i~0)) (.cse64 (not (= ~p_dw_pc~0 ~q_free~0))) (.cse65 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse0 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (= ~c_num_read~0 |old(~c_num_read~0)|)) (.cse49 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse4 (= ~p_num_write~0 |old(~p_num_write~0)|)) (.cse6 (= ~c_last_read~0 |old(~c_last_read~0)|)) (.cse50 (= |old(~q_free~0)| ~q_free~0)) (.cse56 (+ |old(~c_num_read~0)| 1)) (.cse38 (= 0 ~q_free~0)) (.cse55 (or (and .cse62 .cse57) (and .cse57 .cse64 .cse65))) (.cse41 (<= 2 ~p_dw_st~0)) (.cse59 (<= ~c_num_read~0 ~p_num_write~0)) (.cse60 (<= ~p_num_write~0 ~c_num_read~0)) (.cse32 (<= 2 ~c_dr_st~0)) (.cse39 (= 1 ~p_dw_pc~0)) (.cse33 (= ~c_dr_pc~0 1)) (.cse37 (= ~p_last_write~0 ~q_buf_0~0)) (.cse51 (= |old(~p_dw_st~0)| |old(~q_free~0)|)) (.cse53 (= |old(~p_dw_pc~0)| |old(~q_free~0)|)) (.cse54 (not (<= 1 |old(~q_free~0)|))) (.cse52 (not .cse57)) (.cse3 (<= ~p_dw_pc~0 0)) (.cse5 (let ((.cse63 (= 0 ~p_dw_st~0))) (or (and .cse62 .cse57 .cse63) (and .cse57 .cse63 .cse64 .cse65)))) (.cse7 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse8 (= ~p_last_write~0 |old(~p_last_write~0)|)) (.cse9 (= ~q_buf_0~0 |old(~q_buf_0~0)|)) (.cse10 (= ~a_t~0 |old(~a_t~0)|)) (.cse11 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse34 (= 0 ~c_num_read~0)) (.cse12 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse35 (= ~c_last_read~0 ~p_last_write~0)) (.cse13 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse36 (= 0 ~p_num_write~0)) (.cse14 (= 1 ~q_free~0)) (.cse15 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (let ((.cse28 (not (= 0 |old(~p_num_write~0)|))) (.cse19 (not (<= |old(~p_dw_pc~0)| 0))) (.cse29 (and .cse3 .cse5 .cse7 .cse8 .cse9 .cse10 .cse11 .cse34 .cse12 .cse35 .cse13 .cse36 .cse14 .cse15)) (.cse1 (not (= 1 |old(~q_free~0)|))) (.cse18 (let ((.cse61 (not (= 0 |old(~p_dw_st~0)|)))) (and (or .cse51 .cse61 .cse52 .cse53) (or .cse61 .cse54 .cse52)))) (.cse31 (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) (.cse20 (not (<= |old(~c_num_read~0)| |old(~p_num_write~0)|))) (.cse25 (not (<= |old(~p_num_write~0)| |old(~c_num_read~0)|))) (.cse23 (and .cse59 .cse60 .cse32 .cse5 .cse39 .cse33 .cse37)) (.cse30 (not (= 0 |old(~c_num_read~0)|))) (.cse26 (and .cse59 .cse60 .cse32 .cse39 .cse55 .cse33 .cse37 .cse41)) (.cse27 (let ((.cse58 (+ ~c_num_read~0 1))) (and .cse38 (<= .cse58 ~p_num_write~0) (<= ~p_num_write~0 .cse58) .cse39 .cse55 .cse33 .cse37 .cse41))) (.cse40 (= 1 ~p_num_write~0)) (.cse21 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse43 (not (<= 2 |old(~p_dw_st~0)|))) (.cse42 (not (= 0 |old(~q_free~0)|))) (.cse44 (not (<= |old(~p_num_write~0)| .cse56))) (.cse48 (and .cse2 .cse49 .cse4 .cse39 .cse57 .cse6 .cse7 .cse37 .cse32 .cse8 .cse33 .cse10 .cse11 .cse13 .cse50 .cse15)) (.cse46 (not (<= .cse56 |old(~p_num_write~0)|))) (.cse24 (not .cse0)) (.cse22 (not (= 1 |old(~p_dw_pc~0)|))) (.cse47 (= 1 |old(~p_dw_st~0)|)) (.cse16 (and .cse32 (not (= 1 ~p_dw_st~0)) (not .cse33) .cse39 .cse55)) (.cse45 (and (or .cse51 .cse52 .cse53) (or .cse54 .cse52))) (.cse17 (not (<= 2 |old(~c_dr_st~0)|)))) (and (or .cse0 .cse1 (and .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 .cse13 .cse14 .cse15) .cse16 .cse17 .cse18 .cse19) (or .cse20 .cse21 .cse22 .cse23 .cse17 .cse24 .cse18 .cse25 .cse26 .cse27) (or .cse21 .cse23 .cse28 .cse19 .cse26 .cse29 .cse1 .cse30 .cse17 .cse24 .cse18 .cse27 .cse31) (or .cse0 .cse21 .cse23 .cse28 .cse26 .cse19 .cse29 .cse1 (and .cse32 .cse3 .cse33 .cse5 .cse34 .cse35 .cse36 .cse14 .cse37) (and .cse38 .cse39 .cse34 .cse40 .cse37 .cse41) .cse30 .cse18 .cse27 .cse31) (or .cse21 .cse23 .cse22 .cse42 .cse43 .cse44 .cse45 .cse46 .cse24 .cse26 .cse27) (or .cse20 .cse21 .cse22 .cse43 .cse47 .cse48 .cse45 .cse17 .cse24 .cse25) (or .cse21 .cse23 .cse22 (not (= 1 |old(~p_num_write~0)|)) .cse42 .cse43 .cse45 .cse30 .cse26 .cse27 (and .cse49 .cse6 .cse7 .cse40 .cse8 .cse9 .cse10 .cse11 .cse34 .cse12 .cse13 .cse50 .cse15)) (or .cse21 .cse22 .cse43 .cse42 .cse47 .cse44 .cse48 .cse45 .cse46 .cse17 .cse24) (or .cse0 .cse22 .cse47 .cse16 .cse45 .cse17))))) [2020-07-17 22:57:12,376 INFO L264 CegarLoopResult]: At program point L269(line 269) the Hoare annotation is: (let ((.cse35 (= 1 ~p_dw_i~0))) (let ((.cse0 (= 1 |old(~c_dr_pc~0)|)) (.cse28 (+ |old(~c_num_read~0)| 1)) (.cse29 (= |old(~p_dw_st~0)| |old(~q_free~0)|)) (.cse31 (= |old(~p_dw_pc~0)| |old(~q_free~0)|)) (.cse32 (not (<= 1 |old(~q_free~0)|))) (.cse30 (not .cse35)) (.cse26 (= 0 ~q_free~0)) (.cse18 (= 1 ~p_dw_pc~0)) (.cse21 (= ~p_last_write~0 ~q_buf_0~0)) (.cse23 (<= 2 ~p_dw_st~0))) (let ((.cse1 (not (= 1 |old(~q_free~0)|))) (.cse15 (not (= 0 |old(~p_num_write~0)|))) (.cse16 (not (= 0 |old(~c_num_read~0)|))) (.cse19 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse20 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse22 (= ~q_write_ev~0 |old(~q_write_ev~0)|)) (.cse4 (not (<= |old(~p_dw_pc~0)| 0))) (.cse17 (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) (.cse24 (not (<= |old(~c_num_read~0)| |old(~p_num_write~0)|))) (.cse12 (let ((.cse34 (+ ~c_num_read~0 1))) (and .cse26 (<= .cse34 ~p_num_write~0) (<= ~p_num_write~0 .cse34) .cse18 .cse35 (= ~c_dr_pc~0 1) .cse21 .cse23))) (.cse3 (let ((.cse33 (not (= 0 |old(~p_dw_st~0)|)))) (and (or .cse29 .cse33 .cse30 .cse31) (or .cse33 .cse32 .cse30)))) (.cse25 (not (<= |old(~p_num_write~0)| |old(~c_num_read~0)|))) (.cse5 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse6 (not (= 1 |old(~p_dw_pc~0)|))) (.cse7 (not (<= 2 |old(~p_dw_st~0)|))) (.cse8 (not (= 0 |old(~q_free~0)|))) (.cse14 (= 1 |old(~p_dw_st~0)|)) (.cse9 (not (<= |old(~p_num_write~0)| .cse28))) (.cse10 (and (or .cse29 .cse30 .cse31) (or .cse32 .cse30))) (.cse11 (not (<= .cse28 |old(~p_num_write~0)|))) (.cse2 (not (<= 2 |old(~c_dr_st~0)|))) (.cse13 (not .cse0))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4) (or .cse5 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 .cse13) (or .cse0 .cse6 .cse14 .cse10 .cse2) (or .cse5 .cse1 .cse15 .cse16 .cse12 .cse2 .cse3 .cse4 .cse17) (or .cse5 .cse6 (not (= 1 |old(~p_num_write~0)|)) .cse7 .cse8 (and (= ~c_num_read~0 |old(~c_num_read~0)|) (= ~p_num_write~0 |old(~p_num_write~0)|) .cse18 .cse19 .cse20 .cse21 (= |old(~q_free~0)| ~q_free~0) .cse22 .cse23) .cse10 .cse16 .cse12) (or .cse24 .cse5 .cse6 .cse7 .cse14 .cse10 .cse2 .cse13 .cse25) (let ((.cse27 (= 0 ~c_num_read~0))) (or .cse0 .cse5 .cse1 .cse15 (and .cse26 .cse18 .cse27 (= 1 ~p_num_write~0) .cse21 .cse23) .cse16 .cse12 (and .cse19 .cse27 .cse20 (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_dw_st~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= 0 ~p_num_write~0) .cse21 (= 1 ~q_free~0) .cse22) .cse4 .cse3 .cse17)) (or .cse24 .cse5 .cse6 .cse12 .cse2 .cse3 .cse25) (or .cse5 .cse6 .cse7 .cse8 .cse14 .cse9 .cse10 .cse11 .cse2 .cse13))))) [2020-07-17 22:57:12,377 INFO L268 CegarLoopResult]: For program point evalEXIT(lines 230 283) no Hoare annotation was computed. [2020-07-17 22:57:12,377 INFO L268 CegarLoopResult]: For program point L251(lines 251 258) no Hoare annotation was computed. [2020-07-17 22:57:12,377 INFO L268 CegarLoopResult]: For program point L247(lines 237 277) no Hoare annotation was computed. [2020-07-17 22:57:12,377 INFO L264 CegarLoopResult]: At program point L278(lines 230 283) the Hoare annotation is: (let ((.cse61 (<= 1 ~q_free~0)) (.cse60 (= 1 ~p_dw_i~0)) (.cse63 (not (= ~p_dw_pc~0 ~q_free~0))) (.cse64 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse45 (= 0 ~q_free~0)) (.cse54 (or (and .cse61 .cse60) (and .cse60 .cse63 .cse64))) (.cse47 (<= 2 ~p_dw_st~0)) (.cse56 (<= ~c_num_read~0 ~p_num_write~0)) (.cse57 (<= ~p_num_write~0 ~c_num_read~0)) (.cse0 (= 1 |old(~c_dr_pc~0)|)) (.cse58 (+ |old(~c_num_read~0)| 1)) (.cse50 (= |old(~p_dw_st~0)| |old(~q_free~0)|)) (.cse52 (= |old(~p_dw_pc~0)| |old(~q_free~0)|)) (.cse53 (not (<= 1 |old(~q_free~0)|))) (.cse51 (not .cse60)) (.cse3 (<= ~p_dw_pc~0 0)) (.cse5 (let ((.cse62 (= 0 ~p_dw_st~0))) (or (and .cse61 .cse60 .cse62) (and .cse60 .cse62 .cse63 .cse64)))) (.cse9 (= ~q_buf_0~0 |old(~q_buf_0~0)|)) (.cse41 (= 0 ~c_num_read~0)) (.cse12 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse42 (= ~c_last_read~0 ~p_last_write~0)) (.cse43 (= 0 ~p_num_write~0)) (.cse14 (= 1 ~q_free~0)) (.cse2 (= ~c_num_read~0 |old(~c_num_read~0)|)) (.cse48 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse4 (= ~p_num_write~0 |old(~p_num_write~0)|)) (.cse46 (= 1 ~p_dw_pc~0)) (.cse6 (= ~c_last_read~0 |old(~c_last_read~0)|)) (.cse7 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse44 (= ~p_last_write~0 ~q_buf_0~0)) (.cse39 (<= 2 ~c_dr_st~0)) (.cse8 (= ~p_last_write~0 |old(~p_last_write~0)|)) (.cse10 (= ~a_t~0 |old(~a_t~0)|)) (.cse40 (= ~c_dr_pc~0 1)) (.cse11 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse13 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse49 (= |old(~q_free~0)| ~q_free~0)) (.cse15 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (let ((.cse29 (not (<= |old(~c_num_read~0)| |old(~p_num_write~0)|))) (.cse31 (not (<= |old(~p_num_write~0)| |old(~c_num_read~0)|))) (.cse35 (and .cse2 .cse48 .cse4 .cse46 .cse60 .cse6 .cse7 .cse44 .cse39 .cse8 .cse10 .cse40 .cse11 .cse13 .cse49 .cse15)) (.cse21 (not (= 0 |old(~p_num_write~0)|))) (.cse19 (not (<= |old(~p_dw_pc~0)| 0))) (.cse23 (and .cse3 .cse5 .cse7 .cse8 .cse9 .cse10 .cse11 .cse41 .cse12 .cse42 .cse13 .cse43 .cse14 .cse15)) (.cse1 (not (= 1 |old(~q_free~0)|))) (.cse18 (let ((.cse59 (not (= 0 |old(~p_dw_st~0)|)))) (and (or .cse50 .cse59 .cse51 .cse52) (or .cse59 .cse53 .cse51)))) (.cse28 (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) (.cse37 (not (<= |old(~p_num_write~0)| .cse58))) (.cse38 (not (<= .cse58 |old(~p_num_write~0)|))) (.cse26 (not .cse0)) (.cse20 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse24 (and .cse56 .cse57 .cse39 .cse46 .cse5 .cse40 .cse44)) (.cse36 (not (= 0 |old(~q_free~0)|))) (.cse32 (not (<= 2 |old(~p_dw_st~0)|))) (.cse25 (not (= 0 |old(~c_num_read~0)|))) (.cse22 (and .cse56 .cse57 .cse39 .cse46 .cse54 .cse40 .cse44 .cse47)) (.cse27 (let ((.cse55 (+ ~c_num_read~0 1))) (and .cse45 (<= .cse55 ~p_num_write~0) (<= ~p_num_write~0 .cse55) .cse46 .cse54 .cse40 .cse44 .cse47))) (.cse30 (not (= 1 |old(~p_dw_pc~0)|))) (.cse33 (= 1 |old(~p_dw_st~0)|)) (.cse16 (and .cse39 (not (= 1 ~p_dw_st~0)) (not .cse40) .cse46 .cse54)) (.cse34 (and (or .cse50 .cse51 .cse52) (or .cse53 .cse51))) (.cse17 (not (<= 2 |old(~c_dr_st~0)|)))) (and (or .cse0 .cse1 (and .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 .cse13 .cse14 .cse15) .cse16 .cse17 .cse18 .cse19) (or .cse20 .cse21 .cse19 .cse22 .cse23 .cse1 .cse24 .cse25 .cse17 .cse26 .cse18 .cse27 .cse28) (or .cse29 .cse20 .cse30 .cse24 .cse17 .cse26 .cse18 .cse31 .cse22 .cse27) (or .cse29 .cse20 .cse30 .cse32 .cse33 .cse34 .cse17 .cse26 .cse31 .cse35) (or .cse20 .cse30 .cse32 .cse36 .cse33 .cse37 .cse34 .cse38 .cse17 .cse26 .cse35) (or .cse0 .cse20 .cse21 .cse22 .cse19 .cse23 .cse1 (and .cse39 .cse3 .cse40 .cse5 .cse41 .cse42 .cse43 .cse14 .cse44) .cse24 (and .cse45 .cse46 .cse41 (= 1 ~p_num_write~0) .cse44 .cse47) .cse25 .cse18 .cse27 .cse28) (or .cse20 .cse30 .cse24 .cse36 .cse32 .cse37 .cse34 .cse38 .cse26 .cse22 .cse27) (or .cse20 .cse30 (not (= 1 |old(~p_num_write~0)|)) .cse24 .cse36 .cse32 .cse34 .cse25 (and .cse2 .cse48 .cse4 .cse46 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 .cse49 .cse15) .cse22 .cse27) (or .cse0 .cse30 .cse33 .cse16 .cse34 .cse17))))) [2020-07-17 22:57:12,378 INFO L268 CegarLoopResult]: For program point L266(lines 266 273) no Hoare annotation was computed. [2020-07-17 22:57:12,378 INFO L264 CegarLoopResult]: At program point L262(lines 237 277) the Hoare annotation is: (let ((.cse62 (<= 1 ~q_free~0)) (.cse57 (= 1 ~p_dw_i~0)) (.cse64 (not (= ~p_dw_pc~0 ~q_free~0))) (.cse65 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse0 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (= ~c_num_read~0 |old(~c_num_read~0)|)) (.cse49 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse4 (= ~p_num_write~0 |old(~p_num_write~0)|)) (.cse6 (= ~c_last_read~0 |old(~c_last_read~0)|)) (.cse50 (= |old(~q_free~0)| ~q_free~0)) (.cse56 (+ |old(~c_num_read~0)| 1)) (.cse38 (= 0 ~q_free~0)) (.cse55 (or (and .cse62 .cse57) (and .cse57 .cse64 .cse65))) (.cse41 (<= 2 ~p_dw_st~0)) (.cse59 (<= ~c_num_read~0 ~p_num_write~0)) (.cse60 (<= ~p_num_write~0 ~c_num_read~0)) (.cse32 (<= 2 ~c_dr_st~0)) (.cse39 (= 1 ~p_dw_pc~0)) (.cse33 (= ~c_dr_pc~0 1)) (.cse37 (= ~p_last_write~0 ~q_buf_0~0)) (.cse51 (= |old(~p_dw_st~0)| |old(~q_free~0)|)) (.cse53 (= |old(~p_dw_pc~0)| |old(~q_free~0)|)) (.cse54 (not (<= 1 |old(~q_free~0)|))) (.cse52 (not .cse57)) (.cse3 (<= ~p_dw_pc~0 0)) (.cse5 (let ((.cse63 (= 0 ~p_dw_st~0))) (or (and .cse62 .cse57 .cse63) (and .cse57 .cse63 .cse64 .cse65)))) (.cse7 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse8 (= ~p_last_write~0 |old(~p_last_write~0)|)) (.cse9 (= ~q_buf_0~0 |old(~q_buf_0~0)|)) (.cse10 (= ~a_t~0 |old(~a_t~0)|)) (.cse11 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse34 (= 0 ~c_num_read~0)) (.cse12 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse35 (= ~c_last_read~0 ~p_last_write~0)) (.cse13 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse36 (= 0 ~p_num_write~0)) (.cse14 (= 1 ~q_free~0)) (.cse15 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (let ((.cse28 (not (= 0 |old(~p_num_write~0)|))) (.cse19 (not (<= |old(~p_dw_pc~0)| 0))) (.cse29 (and .cse3 .cse5 .cse7 .cse8 .cse9 .cse10 .cse11 .cse34 .cse12 .cse35 .cse13 .cse36 .cse14 .cse15)) (.cse1 (not (= 1 |old(~q_free~0)|))) (.cse18 (let ((.cse61 (not (= 0 |old(~p_dw_st~0)|)))) (and (or .cse51 .cse61 .cse52 .cse53) (or .cse61 .cse54 .cse52)))) (.cse31 (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) (.cse20 (not (<= |old(~c_num_read~0)| |old(~p_num_write~0)|))) (.cse25 (not (<= |old(~p_num_write~0)| |old(~c_num_read~0)|))) (.cse23 (and .cse59 .cse60 .cse32 .cse5 .cse39 .cse33 .cse37)) (.cse30 (not (= 0 |old(~c_num_read~0)|))) (.cse26 (and .cse59 .cse60 .cse32 .cse39 .cse55 .cse33 .cse37 .cse41)) (.cse27 (let ((.cse58 (+ ~c_num_read~0 1))) (and .cse38 (<= .cse58 ~p_num_write~0) (<= ~p_num_write~0 .cse58) .cse39 .cse55 .cse33 .cse37 .cse41))) (.cse40 (= 1 ~p_num_write~0)) (.cse21 (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|))) (.cse43 (not (<= 2 |old(~p_dw_st~0)|))) (.cse42 (not (= 0 |old(~q_free~0)|))) (.cse44 (not (<= |old(~p_num_write~0)| .cse56))) (.cse48 (and .cse2 .cse49 .cse4 .cse39 .cse57 .cse6 .cse7 .cse37 .cse32 .cse8 .cse33 .cse10 .cse11 .cse13 .cse50 .cse15)) (.cse46 (not (<= .cse56 |old(~p_num_write~0)|))) (.cse24 (not .cse0)) (.cse22 (not (= 1 |old(~p_dw_pc~0)|))) (.cse47 (= 1 |old(~p_dw_st~0)|)) (.cse16 (and .cse32 (not (= 1 ~p_dw_st~0)) (not .cse33) .cse39 .cse55)) (.cse45 (and (or .cse51 .cse52 .cse53) (or .cse54 .cse52))) (.cse17 (not (<= 2 |old(~c_dr_st~0)|)))) (and (or .cse0 .cse1 (and .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 .cse13 .cse14 .cse15) .cse16 .cse17 .cse18 .cse19) (or .cse20 .cse21 .cse22 .cse23 .cse17 .cse24 .cse18 .cse25 .cse26 .cse27) (or .cse21 .cse23 .cse28 .cse19 .cse26 .cse29 .cse1 .cse30 .cse17 .cse24 .cse18 .cse27 .cse31) (or .cse0 .cse21 .cse23 .cse28 .cse26 .cse19 .cse29 .cse1 (and .cse32 .cse3 .cse33 .cse5 .cse34 .cse35 .cse36 .cse14 .cse37) (and .cse38 .cse39 .cse34 .cse40 .cse37 .cse41) .cse30 .cse18 .cse27 .cse31) (or .cse21 .cse23 .cse22 .cse42 .cse43 .cse44 .cse45 .cse46 .cse24 .cse26 .cse27) (or .cse20 .cse21 .cse22 .cse43 .cse47 .cse48 .cse45 .cse17 .cse24 .cse25) (or .cse21 .cse23 .cse22 (not (= 1 |old(~p_num_write~0)|)) .cse42 .cse43 .cse45 .cse30 .cse26 .cse27 (and .cse49 .cse6 .cse7 .cse40 .cse8 .cse9 .cse10 .cse11 .cse34 .cse12 .cse13 .cse50 .cse15)) (or .cse21 .cse22 .cse43 .cse42 .cse47 .cse44 .cse48 .cse45 .cse46 .cse17 .cse24) (or .cse0 .cse22 .cse47 .cse16 .cse45 .cse17))))) [2020-07-17 22:57:12,379 INFO L268 CegarLoopResult]: For program point L290-1(line 290) no Hoare annotation was computed. [2020-07-17 22:57:12,379 INFO L271 CegarLoopResult]: At program point L299(lines 288 301) the Hoare annotation is: true [2020-07-17 22:57:12,379 INFO L268 CegarLoopResult]: For program point stop_simulationEXIT(lines 284 302) no Hoare annotation was computed. [2020-07-17 22:57:12,379 INFO L268 CegarLoopResult]: For program point L292(lines 292 297) no Hoare annotation was computed. [2020-07-17 22:57:12,379 INFO L271 CegarLoopResult]: At program point stop_simulationENTRY(lines 284 302) the Hoare annotation is: true [2020-07-17 22:57:12,379 INFO L271 CegarLoopResult]: At program point L290(line 290) the Hoare annotation is: true [2020-07-17 22:57:12,380 INFO L268 CegarLoopResult]: For program point stop_simulationFINAL(lines 284 302) no Hoare annotation was computed. [2020-07-17 22:57:12,380 INFO L264 CegarLoopResult]: At program point L62(lines 50 64) the Hoare annotation is: (let ((.cse0 (not (<= ~p_dw_pc~0 0))) (.cse3 (not (<= 2 ~c_dr_st~0))) (.cse7 (not (= 1 ~p_dw_pc~0))) (.cse5 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse1 (not (= 1 ~p_dw_i~0))) (.cse2 (= ~c_dr_pc~0 1)) (.cse8 (not (= 1 ~q_free~0))) (.cse6 (not (= 1 ~p_num_write~0))) (.cse4 (and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))) (.cse9 (not (= 1 ~c_num_read~0))) (.cse10 (not (= ~c_last_read~0 ~p_last_write~0)))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4) (or .cse0 (not (= 0 ~c_num_read~0)) .cse5 .cse1 .cse2 .cse6 (not (= 0 ~q_free~0)) .cse4) (or .cse7 .cse5 (not (= 0 ~p_dw_st~0)) .cse1 .cse2 .cse8 .cse6 .cse4 .cse9 .cse10) (or .cse7 .cse1 .cse2 .cse3 .cse4) (or .cse7 .cse5 .cse1 .cse2 .cse8 .cse6 (not (<= 2 ~p_dw_st~0)) .cse4 .cse9 .cse10))) [2020-07-17 22:57:12,380 INFO L271 CegarLoopResult]: At program point is_do_read_c_triggeredENTRY(lines 47 65) the Hoare annotation is: true [2020-07-17 22:57:12,381 INFO L268 CegarLoopResult]: For program point L52(lines 52 57) no Hoare annotation was computed. [2020-07-17 22:57:12,381 INFO L268 CegarLoopResult]: For program point L51(lines 51 60) no Hoare annotation was computed. [2020-07-17 22:57:12,381 INFO L268 CegarLoopResult]: For program point L51-2(lines 51 60) no Hoare annotation was computed. [2020-07-17 22:57:12,381 INFO L268 CegarLoopResult]: For program point is_do_read_c_triggeredFINAL(lines 47 65) no Hoare annotation was computed. [2020-07-17 22:57:12,381 INFO L268 CegarLoopResult]: For program point is_do_read_c_triggeredEXIT(lines 47 65) no Hoare annotation was computed. [2020-07-17 22:57:12,382 INFO L264 CegarLoopResult]: At program point start_simulationENTRY(lines 303 331) the Hoare annotation is: (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= 0 ~c_num_read~0) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_num_write~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= 1 ~q_free~0)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) (not (= 0 |old(~p_num_write~0)|)) (not (= 1 ~p_dw_i~0)) (not (= 0 |old(~c_num_read~0)|)) (not (<= |old(~p_dw_pc~0)| 0)) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) [2020-07-17 22:57:12,382 INFO L268 CegarLoopResult]: For program point L320(lines 320 324) no Hoare annotation was computed. [2020-07-17 22:57:12,382 INFO L268 CegarLoopResult]: For program point L318(line 318) no Hoare annotation was computed. [2020-07-17 22:57:12,382 INFO L264 CegarLoopResult]: At program point L317(line 317) the Hoare annotation is: (let ((.cse20 (<= 1 ~q_free~0)) (.cse19 (= 1 ~p_dw_i~0)) (.cse21 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse17 (<= ~c_num_read~0 ~p_num_write~0)) (.cse18 (<= ~p_num_write~0 ~c_num_read~0)) (.cse9 (= 0 ~q_free~0)) (.cse12 (<= 2 ~p_dw_st~0)) (.cse0 (<= 2 ~c_dr_st~0)) (.cse3 (= ~c_dr_pc~0 1)) (.cse11 (= 1 ~p_dw_pc~0)) (.cse1 (<= ~p_dw_pc~0 0)) (.cse2 (let ((.cse22 (= 0 ~p_dw_st~0))) (or (and .cse20 .cse19 .cse22) (and .cse19 .cse22 (not (= ~p_dw_pc~0 ~q_free~0)) .cse21)))) (.cse13 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse4 (= 0 ~c_num_read~0)) (.cse14 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse5 (= ~c_last_read~0 ~p_last_write~0)) (.cse15 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse6 (= 0 ~p_num_write~0)) (.cse8 (= ~p_last_write~0 ~q_buf_0~0)) (.cse7 (= 1 ~q_free~0)) (.cse16 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 0 |old(~p_num_write~0)|)) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8) (let ((.cse10 (+ ~c_num_read~0 1))) (and .cse9 (<= .cse10 ~p_num_write~0) (<= ~p_num_write~0 .cse10) .cse11 .cse3 .cse8 .cse12)) (and (= ~c_num_read~0 |old(~c_num_read~0)|) .cse0 .cse1 (= ~p_num_write~0 |old(~p_num_write~0)|) .cse2 .cse13 .cse14 .cse15 .cse7 .cse16) (and .cse17 .cse18 .cse0 .cse2 .cse11 .cse8) (not (<= |old(~p_dw_pc~0)| 0)) (not (= 1 |old(~q_free~0)|)) (not .cse19) (and .cse17 .cse18 .cse0 .cse11 .cse8 .cse12) (and .cse9 .cse11 .cse4 (= 1 ~p_num_write~0) .cse8 .cse12) (not (= 0 |old(~c_num_read~0)|)) (and .cse0 (not (= 1 ~p_dw_st~0)) (not .cse3) .cse11 (or .cse20 .cse21)) (and .cse1 .cse2 .cse13 .cse4 .cse14 .cse5 .cse15 .cse6 .cse8 .cse7 .cse16) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))))) [2020-07-17 22:57:12,383 INFO L264 CegarLoopResult]: At program point L317-1(line 317) the Hoare annotation is: (let ((.cse20 (<= 1 ~q_free~0)) (.cse19 (= 1 ~p_dw_i~0)) (.cse21 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse17 (<= ~c_num_read~0 ~p_num_write~0)) (.cse18 (<= ~p_num_write~0 ~c_num_read~0)) (.cse9 (= 0 ~q_free~0)) (.cse12 (<= 2 ~p_dw_st~0)) (.cse0 (<= 2 ~c_dr_st~0)) (.cse3 (= ~c_dr_pc~0 1)) (.cse11 (= 1 ~p_dw_pc~0)) (.cse1 (<= ~p_dw_pc~0 0)) (.cse2 (let ((.cse22 (= 0 ~p_dw_st~0))) (or (and .cse20 .cse19 .cse22) (and .cse19 .cse22 (not (= ~p_dw_pc~0 ~q_free~0)) .cse21)))) (.cse13 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse4 (= 0 ~c_num_read~0)) (.cse14 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse5 (= ~c_last_read~0 ~p_last_write~0)) (.cse15 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse6 (= 0 ~p_num_write~0)) (.cse8 (= ~p_last_write~0 ~q_buf_0~0)) (.cse7 (= 1 ~q_free~0)) (.cse16 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 0 |old(~p_num_write~0)|)) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8) (let ((.cse10 (+ ~c_num_read~0 1))) (and .cse9 (<= .cse10 ~p_num_write~0) (<= ~p_num_write~0 .cse10) .cse11 .cse3 .cse8 .cse12)) (and (= ~c_num_read~0 |old(~c_num_read~0)|) .cse0 .cse1 (= ~p_num_write~0 |old(~p_num_write~0)|) .cse2 .cse13 .cse14 .cse15 .cse7 .cse16) (and .cse17 .cse18 .cse0 .cse2 .cse11 .cse8) (not (<= |old(~p_dw_pc~0)| 0)) (not (= 1 |old(~q_free~0)|)) (not .cse19) (and .cse17 .cse18 .cse0 .cse11 .cse8 .cse12) (and .cse9 .cse11 .cse4 (= 1 ~p_num_write~0) .cse8 .cse12) (not (= 0 |old(~c_num_read~0)|)) (and .cse0 (not (= 1 ~p_dw_st~0)) (not .cse3) .cse11 (or .cse20 .cse21)) (and .cse1 .cse2 .cse13 .cse4 .cse14 .cse5 .cse15 .cse6 .cse8 .cse7 .cse16) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))))) [2020-07-17 22:57:12,383 INFO L268 CegarLoopResult]: For program point start_simulationEXIT(lines 303 331) no Hoare annotation was computed. [2020-07-17 22:57:12,383 INFO L268 CegarLoopResult]: For program point L314(line 314) no Hoare annotation was computed. [2020-07-17 22:57:12,383 INFO L264 CegarLoopResult]: At program point L313-1(lines 310 325) the Hoare annotation is: (let ((.cse20 (<= 1 ~q_free~0)) (.cse19 (= 1 ~p_dw_i~0)) (.cse21 (not (= ~p_dw_st~0 ~q_free~0)))) (let ((.cse17 (<= ~c_num_read~0 ~p_num_write~0)) (.cse18 (<= ~p_num_write~0 ~c_num_read~0)) (.cse9 (= 0 ~q_free~0)) (.cse12 (<= 2 ~p_dw_st~0)) (.cse0 (<= 2 ~c_dr_st~0)) (.cse3 (= ~c_dr_pc~0 1)) (.cse11 (= 1 ~p_dw_pc~0)) (.cse1 (<= ~p_dw_pc~0 0)) (.cse2 (let ((.cse22 (= 0 ~p_dw_st~0))) (or (and .cse20 .cse19 .cse22) (and .cse19 .cse22 (not (= ~p_dw_pc~0 ~q_free~0)) .cse21)))) (.cse13 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse4 (= 0 ~c_num_read~0)) (.cse14 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse5 (= ~c_last_read~0 ~p_last_write~0)) (.cse15 (= |old(~p_dw_pc~0)| ~p_dw_pc~0)) (.cse6 (= 0 ~p_num_write~0)) (.cse8 (= ~p_last_write~0 ~q_buf_0~0)) (.cse7 (= 1 ~q_free~0)) (.cse16 (= ~q_write_ev~0 |old(~q_write_ev~0)|))) (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 0 |old(~p_num_write~0)|)) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 .cse8) (let ((.cse10 (+ ~c_num_read~0 1))) (and .cse9 (<= .cse10 ~p_num_write~0) (<= ~p_num_write~0 .cse10) .cse11 .cse3 .cse8 .cse12)) (and (= ~c_num_read~0 |old(~c_num_read~0)|) .cse0 .cse1 (= ~p_num_write~0 |old(~p_num_write~0)|) .cse2 .cse13 .cse14 .cse15 .cse7 .cse16) (and .cse17 .cse18 .cse0 .cse2 .cse11 .cse8) (not (<= |old(~p_dw_pc~0)| 0)) (not (= 1 |old(~q_free~0)|)) (not .cse19) (and .cse17 .cse18 .cse0 .cse11 .cse8 .cse12) (and .cse9 .cse11 .cse4 (= 1 ~p_num_write~0) .cse8 .cse12) (not (= 0 |old(~c_num_read~0)|)) (and .cse0 (not (= 1 ~p_dw_st~0)) (not .cse3) .cse11 (or .cse20 .cse21)) (and .cse1 .cse2 .cse13 .cse4 .cse14 .cse5 .cse15 .cse6 .cse8 .cse7 .cse16) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))))) [2020-07-17 22:57:12,384 INFO L264 CegarLoopResult]: At program point L310(line 310) the Hoare annotation is: (or (= 1 |old(~c_dr_pc~0)|) (not (= |old(~q_buf_0~0)| |old(~p_last_write~0)|)) (and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= ~p_last_write~0 |old(~p_last_write~0)|) (= ~q_buf_0~0 |old(~q_buf_0~0)|) (= ~a_t~0 |old(~a_t~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= 0 ~c_num_read~0) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_num_write~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= 1 ~q_free~0)) (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) (not (= 0 |old(~p_num_write~0)|)) (not (= 1 ~p_dw_i~0)) (not (= 0 |old(~c_num_read~0)|)) (not (<= |old(~p_dw_pc~0)| 0)) (not (= |old(~c_last_read~0)| |old(~p_last_write~0)|))) [2020-07-17 22:57:12,384 INFO L271 CegarLoopResult]: At program point L326(lines 303 331) the Hoare annotation is: true [2020-07-17 22:57:12,384 INFO L268 CegarLoopResult]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2020-07-17 22:57:12,384 INFO L264 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: (and (= 0 ~q_free~0) (<= ~p_dw_pc~0 0) (not (= ~c_dr_pc~0 1)) (not (= 1 ~p_dw_i~0)) (= 0 ~c_num_read~0) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_dw_st~0) (= 0 ~p_num_write~0) (= ~p_last_write~0 ~q_buf_0~0)) [2020-07-17 22:57:12,384 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-17 22:57:12,384 INFO L268 CegarLoopResult]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2020-07-17 22:57:12,384 INFO L268 CegarLoopResult]: For program point L33(lines 33 38) no Hoare annotation was computed. [2020-07-17 22:57:12,384 INFO L268 CegarLoopResult]: For program point L32(lines 32 41) no Hoare annotation was computed. [2020-07-17 22:57:12,384 INFO L268 CegarLoopResult]: For program point L32-2(lines 32 41) no Hoare annotation was computed. [2020-07-17 22:57:12,384 INFO L268 CegarLoopResult]: For program point is_do_write_p_triggeredFINAL(lines 28 46) no Hoare annotation was computed. [2020-07-17 22:57:12,385 INFO L268 CegarLoopResult]: For program point is_do_write_p_triggeredEXIT(lines 28 46) no Hoare annotation was computed. [2020-07-17 22:57:12,385 INFO L264 CegarLoopResult]: At program point L43(lines 31 45) the Hoare annotation is: (let ((.cse1 (not (= 0 ~c_num_read~0))) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse5 (not (= 1 ~p_num_write~0))) (.cse6 (not (= 0 ~q_free~0))) (.cse0 (not (<= ~p_dw_pc~0 0))) (.cse3 (and (<= 0 is_do_write_p_triggered_~__retres1~0) (<= is_do_write_p_triggered_~__retres1~0 0))) (.cse4 (not (= 1 ~p_dw_i~0))) (.cse8 (= ~c_dr_pc~0 1)) (.cse7 (not (<= 2 ~c_dr_st~0)))) (and (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7) (or .cse0 .cse1 .cse2 .cse3 .cse4 .cse8 .cse5 .cse6) (or .cse0 .cse3 .cse4 .cse8 .cse7))) [2020-07-17 22:57:12,385 INFO L271 CegarLoopResult]: At program point is_do_write_p_triggeredENTRY(lines 28 46) the Hoare annotation is: true [2020-07-17 22:57:12,385 INFO L268 CegarLoopResult]: For program point do_read_cEXIT(lines 135 191) no Hoare annotation was computed. [2020-07-17 22:57:12,385 INFO L264 CegarLoopResult]: At program point L186(lines 135 191) the Hoare annotation is: (let ((.cse0 (not (= 1 ~p_dw_pc~0))) (.cse14 (<= 2 ~p_dw_st~0)) (.cse1 (= |old(~q_free~0)| ~p_dw_pc~0)) (.cse11 (not (<= 2 |old(~p_dw_st~0)|))) (.cse12 (not (= 0 |old(~q_free~0)|))) (.cse15 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse6 (<= 2 ~c_dr_st~0)) (.cse7 (= ~c_dr_pc~0 1)) (.cse8 (= ~c_last_read~0 ~p_last_write~0)) (.cse9 (= 0 ~p_dw_st~0)) (.cse10 (= 1 ~q_free~0)) (.cse13 (not (= 1 ~p_dw_i~0))) (.cse17 (not (= 0 |old(~c_num_read~0)|)))) (and (let ((.cse3 (+ |old(~c_num_read~0)| 1)) (.cse4 (<= ~p_num_write~0 ~c_num_read~0)) (.cse5 (<= ~c_num_read~0 ~p_num_write~0))) (or .cse0 .cse1 .cse2 (not (<= .cse3 ~p_num_write~0)) (and .cse4 .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) .cse11 .cse12 .cse13 (not (<= ~p_num_write~0 .cse3)) (and .cse4 .cse5 .cse6 .cse7 .cse8 .cse10 .cse14) (not .cse15))) (let ((.cse16 (= 1 ~c_num_read~0))) (or .cse0 (and .cse16 .cse6 .cse7 .cse8 .cse10 .cse14) .cse1 .cse2 (and .cse16 .cse6 .cse7 .cse8 .cse9 .cse10) .cse11 .cse12 .cse13 .cse17 (not (= 1 ~p_num_write~0)))) (or (not (<= ~p_dw_pc~0 0)) .cse15 .cse2 (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) (and .cse6 .cse7 (= 0 ~c_num_read~0) .cse8 .cse9 .cse10) .cse13 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse17 (not (= 0 ~p_num_write~0))))) [2020-07-17 22:57:12,385 INFO L268 CegarLoopResult]: For program point L151(lines 150 185) no Hoare annotation was computed. [2020-07-17 22:57:12,385 INFO L264 CegarLoopResult]: At program point L182(line 182) the Hoare annotation is: (let ((.cse0 (not (= 1 ~p_dw_pc~0))) (.cse1 (= |old(~q_free~0)| ~p_dw_pc~0)) (.cse4 (not (<= 2 |old(~p_dw_st~0)|))) (.cse5 (not (= 0 |old(~q_free~0)|))) (.cse7 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse6 (not (= 1 ~p_dw_i~0))) (.cse8 (not (= 0 |old(~c_num_read~0)|)))) (and (let ((.cse3 (+ |old(~c_num_read~0)| 1))) (or .cse0 .cse1 .cse2 (not (<= .cse3 ~p_num_write~0)) .cse4 .cse5 .cse6 (not (<= ~p_num_write~0 .cse3)) (not .cse7))) (or .cse0 .cse1 .cse2 .cse4 .cse5 .cse6 .cse8 (not (= 1 ~p_num_write~0))) (or (not (<= ~p_dw_pc~0 0)) .cse7 .cse2 (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) .cse6 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse8 (not (= 0 ~p_num_write~0))))) [2020-07-17 22:57:12,386 INFO L264 CegarLoopResult]: At program point L182-1(lines 138 190) the Hoare annotation is: (let ((.cse17 (= 1 ~p_dw_i~0))) (let ((.cse20 (= ~p_last_write~0 ~q_buf_0~0)) (.cse25 (not .cse17)) (.cse10 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse13 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse19 (= 1 ~q_free~0)) (.cse16 (= 1 ~p_dw_pc~0))) (let ((.cse0 (not .cse16)) (.cse7 (or (and .cse16 .cse17 (= ~c_dr_pc~0 1) .cse19) (and .cse10 .cse16 .cse17 .cse13 .cse19))) (.cse8 (<= 2 ~p_dw_st~0)) (.cse2 (and (or (= |old(~q_free~0)| ~p_dw_pc~0) .cse25) (or (not (<= 1 |old(~q_free~0)|)) .cse25))) (.cse4 (not (<= 2 |old(~p_dw_st~0)|))) (.cse3 (not (= 0 |old(~q_free~0)|))) (.cse24 (= 1 |old(~c_dr_pc~0)|)) (.cse1 (not .cse20)) (.cse11 (= ~a_t~0 |old(~a_t~0)|)) (.cse12 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse14 (= 0 ~c_num_read~0)) (.cse15 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse6 (= ~c_last_read~0 ~p_last_write~0)) (.cse18 (= 0 ~p_dw_st~0)) (.cse9 (not (= 0 |old(~c_num_read~0)|)))) (and (let ((.cse5 (= 1 ~c_num_read~0))) (or .cse0 .cse1 .cse2 .cse3 .cse4 (and .cse5 .cse6 .cse7 .cse8) .cse9 (and .cse10 (= 0 ~q_free~0) .cse11 (= ~c_last_read~0 |old(~c_last_read~0)|) .cse12 .cse13 .cse14 .cse15) (not (= 1 ~p_num_write~0)) (and .cse5 .cse16 .cse17 .cse6 .cse18 .cse19 .cse20))) (let ((.cse23 (+ |old(~c_num_read~0)| 1)) (.cse21 (<= ~c_num_read~0 ~p_num_write~0)) (.cse22 (<= ~p_num_write~0 ~c_num_read~0))) (or .cse0 (and .cse21 .cse22 .cse6 .cse7 .cse8) .cse1 .cse2 (not (<= .cse23 ~p_num_write~0)) .cse4 .cse3 (not (<= ~p_num_write~0 .cse23)) (and .cse21 .cse22 .cse16 .cse17 .cse6 .cse18 .cse19 .cse20) (not .cse24))) (or (not (<= ~p_dw_pc~0 0)) .cse24 .cse1 (and .cse11 .cse13 .cse12 .cse14 .cse15 .cse6 .cse18 .cse19) (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) .cse25 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse9 (not (= 0 ~p_num_write~0))))))) [2020-07-17 22:57:12,386 INFO L264 CegarLoopResult]: At program point L143(lines 138 190) the Hoare annotation is: (let ((.cse0 (not (= 1 ~p_dw_pc~0))) (.cse1 (= |old(~q_free~0)| ~p_dw_pc~0)) (.cse4 (not (<= 2 |old(~p_dw_st~0)|))) (.cse5 (not (= 0 |old(~q_free~0)|))) (.cse7 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse6 (not (= 1 ~p_dw_i~0))) (.cse8 (not (= 0 |old(~c_num_read~0)|)))) (and (let ((.cse3 (+ |old(~c_num_read~0)| 1))) (or .cse0 .cse1 .cse2 (not (<= .cse3 ~p_num_write~0)) .cse4 .cse5 .cse6 (not (<= ~p_num_write~0 .cse3)) (not .cse7) (and (= ~c_num_read~0 |old(~c_num_read~0)|) (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~a_t~0 |old(~a_t~0)|) (= ~c_dr_pc~0 1) (= ~c_last_read~0 |old(~c_last_read~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|) (= |old(~q_free~0)| ~q_free~0)))) (or .cse0 .cse7 .cse1 .cse2 .cse4 .cse5 .cse6 .cse8 (not (= 1 ~p_num_write~0))) (or (not (<= ~p_dw_pc~0 0)) .cse7 .cse2 (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) .cse6 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse8 (not (= 0 ~p_num_write~0))))) [2020-07-17 22:57:12,386 INFO L268 CegarLoopResult]: For program point L172(lines 172 184) no Hoare annotation was computed. [2020-07-17 22:57:12,386 INFO L268 CegarLoopResult]: For program point L139(lines 139 147) no Hoare annotation was computed. [2020-07-17 22:57:12,387 INFO L264 CegarLoopResult]: At program point do_read_cENTRY(lines 135 191) the Hoare annotation is: (let ((.cse17 (= 1 ~p_dw_i~0))) (let ((.cse7 (not (= 0 |old(~c_num_read~0)|))) (.cse3 (= ~c_dr_pc~0 |old(~c_dr_pc~0)|)) (.cse8 (not (= 1 ~p_dw_pc~0))) (.cse9 (= |old(~q_free~0)| ~p_dw_pc~0)) (.cse5 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse10 (not (<= 2 |old(~p_dw_st~0)|))) (.cse11 (not (= 0 |old(~q_free~0)|))) (.cse12 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse0 (= ~a_t~0 |old(~a_t~0)|)) (.cse13 (= ~c_last_read~0 |old(~c_last_read~0)|)) (.cse1 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse2 (= |old(~q_read_ev~0)| ~q_read_ev~0)) (.cse14 (= |old(~q_free~0)| ~q_free~0)) (.cse15 (let ((.cse18 (= ~c_num_read~0 |old(~c_num_read~0)|))) (or (and .cse18 (<= 1 ~q_free~0) .cse17) (and .cse18 .cse17 (not (= ~p_dw_pc~0 ~q_free~0)))))) (.cse6 (not .cse17)) (.cse4 (= 1 |old(~c_dr_pc~0)|))) (and (or (and .cse0 .cse1 .cse2 .cse3 (= 0 ~c_num_read~0) (= ~c_last_read~0 ~p_last_write~0) (= 0 ~p_dw_st~0) (= 1 ~q_free~0)) (not (<= ~p_dw_pc~0 0)) .cse4 .cse5 (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) .cse6 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse7 (not (= 0 ~p_num_write~0))) (or .cse8 .cse9 .cse5 .cse10 .cse11 .cse6 .cse7 (not (= 1 ~p_num_write~0)) (and .cse12 .cse0 .cse13 .cse1 .cse2 .cse3 .cse14 .cse15)) (let ((.cse16 (+ |old(~c_num_read~0)| 1))) (or .cse8 .cse9 .cse5 (not (<= .cse16 ~p_num_write~0)) .cse10 .cse11 (and .cse12 (= ~c_dr_pc~0 1) .cse0 .cse13 .cse1 .cse2 .cse14 .cse15) .cse6 (not (<= ~p_num_write~0 .cse16)) (not .cse4)))))) [2020-07-17 22:57:12,387 INFO L268 CegarLoopResult]: For program point L152-1(lines 152 162) no Hoare annotation was computed. [2020-07-17 22:57:12,387 INFO L264 CegarLoopResult]: At program point L177(line 177) the Hoare annotation is: (let ((.cse0 (not (= 1 ~p_dw_pc~0))) (.cse1 (= |old(~q_free~0)| ~p_dw_pc~0)) (.cse4 (not (<= 2 |old(~p_dw_st~0)|))) (.cse5 (not (= 0 |old(~q_free~0)|))) (.cse7 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse6 (not (= 1 ~p_dw_i~0))) (.cse8 (not (= 0 |old(~c_num_read~0)|)))) (and (let ((.cse3 (+ |old(~c_num_read~0)| 1))) (or .cse0 .cse1 .cse2 (not (<= .cse3 ~p_num_write~0)) .cse4 .cse5 .cse6 (not (<= ~p_num_write~0 .cse3)) (not .cse7))) (or .cse0 .cse1 .cse2 .cse4 .cse5 .cse6 .cse8 (not (= 1 ~p_num_write~0))) (or (not (<= ~p_dw_pc~0 0)) .cse7 .cse2 (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) .cse6 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse8 (not (= 0 ~p_num_write~0))))) [2020-07-17 22:57:12,387 INFO L268 CegarLoopResult]: For program point L142(lines 142 146) no Hoare annotation was computed. [2020-07-17 22:57:12,387 INFO L268 CegarLoopResult]: For program point L173(lines 173 179) no Hoare annotation was computed. [2020-07-17 22:57:12,388 INFO L264 CegarLoopResult]: At program point L169(line 169) the Hoare annotation is: (let ((.cse0 (not (= 1 ~p_dw_pc~0))) (.cse1 (= |old(~q_free~0)| ~p_dw_pc~0)) (.cse6 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse7 (= ~c_dr_pc~0 1)) (.cse9 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse8 (= ~c_last_read~0 ~p_last_write~0)) (.cse10 (= 1 ~q_free~0)) (.cse4 (not (<= 2 |old(~p_dw_st~0)|))) (.cse5 (not (= 0 |old(~q_free~0)|))) (.cse12 (= 1 |old(~c_dr_pc~0)|)) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse11 (not (= 1 ~p_dw_i~0))) (.cse13 (not (= 0 |old(~c_num_read~0)|)))) (and (let ((.cse3 (+ |old(~c_num_read~0)| 1))) (or .cse0 .cse1 .cse2 (not (<= .cse3 ~p_num_write~0)) .cse4 .cse5 (and (<= ~c_num_read~0 ~p_num_write~0) (<= ~p_num_write~0 ~c_num_read~0) .cse6 .cse7 .cse8 .cse9 .cse10) .cse11 (not (<= ~p_num_write~0 .cse3)) (not .cse12))) (or .cse0 .cse12 .cse1 .cse2 (and .cse6 (= 1 ~c_num_read~0) (not .cse7) .cse9 .cse8 .cse10) .cse4 .cse5 .cse11 .cse13 (not (= 1 ~p_num_write~0))) (or (not (<= ~p_dw_pc~0 0)) .cse12 .cse2 (not (= 0 |old(~p_dw_st~0)|)) (not (= 1 |old(~q_free~0)|)) .cse11 (not (= ~p_last_write~0 |old(~c_last_read~0)|)) .cse13 (not (= 0 ~p_num_write~0))))) [2020-07-17 22:57:12,388 INFO L268 CegarLoopResult]: For program point L169-1(line 169) no Hoare annotation was computed. [2020-07-17 22:57:12,388 INFO L268 CegarLoopResult]: For program point init_modelFINAL(lines 332 348) no Hoare annotation was computed. [2020-07-17 22:57:12,388 INFO L268 CegarLoopResult]: For program point init_modelEXIT(lines 332 348) no Hoare annotation was computed. [2020-07-17 22:57:12,388 INFO L264 CegarLoopResult]: At program point init_modelENTRY(lines 332 348) the Hoare annotation is: (or (= 1 |old(~c_dr_pc~0)|) (not (= ~p_last_write~0 ~q_buf_0~0)) (not (= 0 ~p_dw_st~0)) (not (= 0 |old(~q_free~0)|)) (and (= |old(~c_dr_i~0)| ~c_dr_i~0) (= 0 ~q_free~0) (= ~p_dw_i~0 |old(~p_dw_i~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= 0 ~c_num_read~0) (= ~c_dr_pc~0 |old(~c_dr_pc~0)|) (= 0 ~p_num_write~0) (= |old(~p_dw_pc~0)| ~p_dw_pc~0) (= ~q_write_ev~0 |old(~q_write_ev~0)|)) (not (= 0 |old(~p_num_write~0)|)) (not (= 0 |old(~c_num_read~0)|)) (= 1 |old(~p_dw_i~0)|) (not (<= |old(~p_dw_pc~0)| 0)) (not (= ~c_last_read~0 ~p_last_write~0))) [2020-07-17 22:57:12,391 WARN L170 areAnnotationChecker]: L214 has no Hoare annotation [2020-07-17 22:57:12,391 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-17 22:57:12,391 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-17 22:57:12,397 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2020-07-17 22:57:12,398 WARN L170 areAnnotationChecker]: errorErr0ASSERT_VIOLATIONERROR_FUNCTION has no Hoare annotation [2020-07-17 22:57:12,398 WARN L170 areAnnotationChecker]: errorFINAL has no Hoare annotation [2020-07-17 22:57:12,399 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:57:12,409 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: L139 has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: init_modelFINAL has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: L214 has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: L214 has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-17 22:57:12,411 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-17 22:57:12,414 WARN L170 areAnnotationChecker]: L108 has no Hoare annotation [2020-07-17 22:57:12,414 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2020-07-17 22:57:12,414 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2020-07-17 22:57:12,414 WARN L170 areAnnotationChecker]: errorFINAL has no Hoare annotation [2020-07-17 22:57:12,414 WARN L170 areAnnotationChecker]: L72-1 has no Hoare annotation [2020-07-17 22:57:12,414 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:57:12,418 WARN L170 areAnnotationChecker]: L290-1 has no Hoare annotation [2020-07-17 22:57:12,418 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2020-07-17 22:57:12,418 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2020-07-17 22:57:12,419 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:57:12,426 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: L139 has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: L139 has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: init_modelFINAL has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: exists_runnable_threadFINAL has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: L218 has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: L218 has no Hoare annotation [2020-07-17 22:57:12,427 WARN L170 areAnnotationChecker]: L201-1 has no Hoare annotation [2020-07-17 22:57:12,428 WARN L170 areAnnotationChecker]: L355 has no Hoare annotation [2020-07-17 22:57:12,434 WARN L170 areAnnotationChecker]: do_write_pEXIT has no Hoare annotation [2020-07-17 22:57:12,435 WARN L170 areAnnotationChecker]: L108 has no Hoare annotation [2020-07-17 22:57:12,435 WARN L170 areAnnotationChecker]: L108 has no Hoare annotation [2020-07-17 22:57:12,438 WARN L170 areAnnotationChecker]: errorEXIT has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: errorEXIT has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: L72-1 has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: evalEXIT has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: L240 has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: L290-1 has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-17 22:57:12,439 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2020-07-17 22:57:12,440 WARN L170 areAnnotationChecker]: L314 has no Hoare annotation [2020-07-17 22:57:12,440 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:57:12,440 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-17 22:57:12,440 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-17 22:57:12,440 WARN L170 areAnnotationChecker]: L32-2 has no Hoare annotation [2020-07-17 22:57:12,441 WARN L170 areAnnotationChecker]: L151 has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: L142 has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: L142 has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: init_modelEXIT has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: exists_runnable_threadFINAL has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: init_threadsEXIT has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: L355 has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: do_write_pEXIT has no Hoare annotation [2020-07-17 22:57:12,442 WARN L170 areAnnotationChecker]: L124-1 has no Hoare annotation [2020-07-17 22:57:12,444 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: evalEXIT has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: L240 has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: L292 has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: L292 has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: is_do_read_c_triggeredFINAL has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: start_simulationEXIT has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: L314 has no Hoare annotation [2020-07-17 22:57:12,445 WARN L170 areAnnotationChecker]: is_do_write_p_triggeredFINAL has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: do_read_cEXIT has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: L151 has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: L151 has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: L152-1 has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: exists_runnable_threadEXIT has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: exists_runnable_threadEXIT has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: L247 has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: L247 has no Hoare annotation [2020-07-17 22:57:12,446 WARN L170 areAnnotationChecker]: L124-1 has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: L80 has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: L318 has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: L242 has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: L242 has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: stop_simulationFINAL has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: is_do_read_c_triggeredFINAL has no Hoare annotation [2020-07-17 22:57:12,447 WARN L170 areAnnotationChecker]: start_simulationEXIT has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: is_do_write_p_triggeredFINAL has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: do_read_cEXIT has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: L152-1 has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: L266 has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: L266 has no Hoare annotation [2020-07-17 22:57:12,452 WARN L170 areAnnotationChecker]: L80 has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: L318 has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: L242-1 has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: L242-1 has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: stop_simulationFINAL has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: is_do_read_c_triggeredEXIT has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: is_do_write_p_triggeredEXIT has no Hoare annotation [2020-07-17 22:57:12,453 WARN L170 areAnnotationChecker]: L169-1 has no Hoare annotation [2020-07-17 22:57:12,460 WARN L170 areAnnotationChecker]: L82 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L82 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L320 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L320 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L251 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L251 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: stop_simulationEXIT has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L169-1 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L82-2 has no Hoare annotation [2020-07-17 22:57:12,461 WARN L170 areAnnotationChecker]: L247 has no Hoare annotation [2020-07-17 22:57:12,466 WARN L170 areAnnotationChecker]: L172 has no Hoare annotation [2020-07-17 22:57:12,467 WARN L170 areAnnotationChecker]: L172 has no Hoare annotation [2020-07-17 22:57:12,467 WARN L170 areAnnotationChecker]: immediate_notify_threadsEXIT has no Hoare annotation [2020-07-17 22:57:12,467 WARN L170 areAnnotationChecker]: immediate_notify_threadsEXIT has no Hoare annotation [2020-07-17 22:57:12,467 WARN L170 areAnnotationChecker]: L173 has no Hoare annotation [2020-07-17 22:57:12,467 WARN L170 areAnnotationChecker]: L173 has no Hoare annotation [2020-07-17 22:57:12,467 INFO L163 areAnnotationChecker]: CFG has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-17 22:57:12,567 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:57:12 BoogieIcfgContainer [2020-07-17 22:57:12,567 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:57:12,571 INFO L168 Benchmark]: Toolchain (without parser) took 241723.94 ms. Allocated memory was 143.7 MB in the beginning and 865.6 MB in the end (delta: 721.9 MB). Free memory was 101.5 MB in the beginning and 477.9 MB in the end (delta: -376.4 MB). Peak memory consumption was 345.6 MB. Max. memory is 7.1 GB. [2020-07-17 22:57:12,572 INFO L168 Benchmark]: CDTParser took 1.54 ms. Allocated memory is still 143.7 MB. Free memory was 119.9 MB in the beginning and 119.7 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-17 22:57:12,572 INFO L168 Benchmark]: CACSL2BoogieTranslator took 324.81 ms. Allocated memory is still 143.7 MB. Free memory was 101.1 MB in the beginning and 88.1 MB in the end (delta: 13.0 MB). Peak memory consumption was 13.0 MB. Max. memory is 7.1 GB. [2020-07-17 22:57:12,574 INFO L168 Benchmark]: Boogie Preprocessor took 170.06 ms. Allocated memory was 143.7 MB in the beginning and 202.9 MB in the end (delta: 59.2 MB). Free memory was 88.1 MB in the beginning and 180.1 MB in the end (delta: -92.0 MB). Peak memory consumption was 9.8 MB. Max. memory is 7.1 GB. [2020-07-17 22:57:12,575 INFO L168 Benchmark]: RCFGBuilder took 822.34 ms. Allocated memory is still 202.9 MB. Free memory was 180.1 MB in the beginning and 136.0 MB in the end (delta: 44.1 MB). Peak memory consumption was 44.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:57:12,575 INFO L168 Benchmark]: TraceAbstraction took 240399.03 ms. Allocated memory was 202.9 MB in the beginning and 865.6 MB in the end (delta: 662.7 MB). Free memory was 135.3 MB in the beginning and 477.9 MB in the end (delta: -342.6 MB). Peak memory consumption was 320.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:57:12,577 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 1.54 ms. Allocated memory is still 143.7 MB. Free memory was 119.9 MB in the beginning and 119.7 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 324.81 ms. Allocated memory is still 143.7 MB. Free memory was 101.1 MB in the beginning and 88.1 MB in the end (delta: 13.0 MB). Peak memory consumption was 13.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 170.06 ms. Allocated memory was 143.7 MB in the beginning and 202.9 MB in the end (delta: 59.2 MB). Free memory was 88.1 MB in the beginning and 180.1 MB in the end (delta: -92.0 MB). Peak memory consumption was 9.8 MB. Max. memory is 7.1 GB. * RCFGBuilder took 822.34 ms. Allocated memory is still 202.9 MB. Free memory was 180.1 MB in the beginning and 136.0 MB in the end (delta: 44.1 MB). Peak memory consumption was 44.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 240399.03 ms. Allocated memory was 202.9 MB in the beginning and 865.6 MB in the end (delta: 662.7 MB). Free memory was 135.3 MB in the beginning and 477.9 MB in the end (delta: -342.6 MB). Peak memory consumption was 320.1 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 9]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 288]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 230]: Loop Invariant Derived loop invariant: (((((((((((((1 == \old(c_dr_pc) || !(1 == \old(q_free))) || (((((((((((((c_num_read == \old(c_num_read) && p_dw_pc <= 0) && p_num_write == \old(p_num_write)) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && c_dr_pc == \old(c_dr_pc)) && \old(p_dw_pc) == p_dw_pc) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || ((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free))))) || !(2 <= \old(c_dr_st))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || !(\old(p_dw_pc) <= 0)) && ((((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(0 == \old(p_num_write))) || !(\old(p_dw_pc) <= 0)) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((((((((p_dw_pc <= 0 && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || !(1 == \old(q_free))) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(0 == \old(c_num_read))) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(\old(c_last_read) == \old(p_last_write)))) && (((((((((!(\old(c_num_read) <= \old(p_num_write)) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(p_dw_pc))) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || !(\old(p_num_write) <= \old(c_num_read))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st))) && (((((((((!(\old(c_num_read) <= \old(p_num_write)) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(p_dw_pc))) || !(2 <= \old(p_dw_st))) || 1 == \old(p_dw_st)) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || !(\old(p_num_write) <= \old(c_num_read))) || (((((((((((((((c_num_read == \old(c_num_read) && \old(p_dw_st) == p_dw_st) && p_num_write == \old(p_num_write)) && 1 == p_dw_pc) && 1 == p_dw_i) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == q_buf_0) && 2 <= c_dr_st) && p_last_write == \old(p_last_write)) && a_t == \old(a_t)) && c_dr_pc == 1) && \old(q_read_ev) == q_read_ev) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev)))) && ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || 1 == \old(p_dw_st)) || !(\old(p_num_write) <= \old(c_num_read) + 1)) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(\old(c_num_read) + 1 <= \old(p_num_write))) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || (((((((((((((((c_num_read == \old(c_num_read) && \old(p_dw_st) == p_dw_st) && p_num_write == \old(p_num_write)) && 1 == p_dw_pc) && 1 == p_dw_i) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == q_buf_0) && 2 <= c_dr_st) && p_last_write == \old(p_last_write)) && a_t == \old(a_t)) && c_dr_pc == 1) && \old(q_read_ev) == q_read_ev) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev)))) && (((((((((((((1 == \old(c_dr_pc) || !(\old(q_buf_0) == \old(p_last_write))) || !(0 == \old(p_num_write))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(\old(p_dw_pc) <= 0)) || (((((((((((((p_dw_pc <= 0 && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || !(1 == \old(q_free))) || ((((((((2 <= c_dr_st && p_dw_pc <= 0) && c_dr_pc == 1) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 0 == c_num_read) && c_last_read == p_last_write) && 0 == p_num_write) && 1 == q_free) && p_last_write == q_buf_0)) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0)) || (((((0 == q_free && 1 == p_dw_pc) && 0 == c_num_read) && 1 == p_num_write) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(0 == \old(c_num_read))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(\old(c_last_read) == \old(p_last_write)))) && ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(0 == \old(q_free))) || !(2 <= \old(p_dw_st))) || !(\old(p_num_write) <= \old(c_num_read) + 1)) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(\old(c_num_read) + 1 <= \old(p_num_write))) || !(1 == \old(c_dr_pc))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st))) && ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || !(1 == \old(p_num_write))) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(0 == \old(q_free))) || !(2 <= \old(p_dw_st))) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(0 == \old(c_num_read))) || ((((((((((((c_num_read == \old(c_num_read) && \old(p_dw_st) == p_dw_st) && p_num_write == \old(p_num_write)) && 1 == p_dw_pc) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && c_dr_pc == \old(c_dr_pc)) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st))) && (((((1 == \old(c_dr_pc) || !(1 == \old(p_dw_pc))) || 1 == \old(p_dw_st)) || ((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free))))) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(2 <= \old(c_dr_st))) - InvariantResult [Line: 138]: Loop Invariant Derived loop invariant: ((((((((((!(1 == p_dw_pc) || \old(q_free) == p_dw_pc) || !(p_last_write == q_buf_0)) || !(\old(c_num_read) + 1 <= p_num_write)) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || !(1 == p_dw_i)) || !(p_num_write <= \old(c_num_read) + 1)) || !(1 == \old(c_dr_pc))) || (((((((c_num_read == \old(c_num_read) && \old(p_dw_st) == p_dw_st) && a_t == \old(a_t)) && c_dr_pc == 1) && c_last_read == \old(c_last_read)) && \old(q_read_ev) == q_read_ev) && c_dr_st == \old(c_dr_st)) && \old(q_free) == q_free)) && ((((((((!(1 == p_dw_pc) || 1 == \old(c_dr_pc)) || \old(q_free) == p_dw_pc) || !(p_last_write == q_buf_0)) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || !(1 == p_dw_i)) || !(0 == \old(c_num_read))) || !(1 == p_num_write))) && ((((((((!(p_dw_pc <= 0) || 1 == \old(c_dr_pc)) || !(p_last_write == q_buf_0)) || !(0 == \old(p_dw_st))) || !(1 == \old(q_free))) || !(1 == p_dw_i)) || !(p_last_write == \old(c_last_read))) || !(0 == \old(c_num_read))) || !(0 == p_num_write)) - InvariantResult [Line: 95]: Loop Invariant Derived loop invariant: ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || !(\old(p_num_write) <= c_num_read)) || !(c_num_read <= \old(p_num_write))) || !(c_dr_pc == 1)) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(2 <= \old(c_dr_st))) || ((((0 == q_free && 1 == p_dw_pc) && p_num_write <= c_num_read + 1) && \old(p_num_write) + 1 <= p_num_write) && p_last_write == q_buf_0)) && (((((((((((((((((\old(p_dw_st) == p_dw_st && q_buf_0 == \old(q_buf_0)) && p_num_write == \old(p_num_write)) && 1 == p_dw_i) && c_dr_st == \old(c_dr_st)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev)) || !(0 == c_num_read)) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(q_free))) || !(0 == \old(p_num_write))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(c_last_read == \old(p_last_write))) || c_dr_pc == 1) || (((((\old(p_dw_st) == p_dw_st && 0 == q_free) && p_dw_pc <= 0) && c_dr_st == \old(c_dr_st)) && 1 == p_num_write) && p_last_write == q_buf_0)) || !(\old(p_dw_pc) <= 0))) && (((((((\old(p_dw_st) == p_dw_st && p_dw_pc <= 0) && c_dr_st == \old(c_dr_st)) || !(1 == \old(q_free))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || c_dr_pc == 1) || !(2 <= \old(c_dr_st))) || !(\old(p_dw_pc) <= 0))) && ((((!(1 == \old(p_dw_pc)) || (2 <= c_dr_st && 1 == p_dw_pc)) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || c_dr_pc == 1) || !(2 <= \old(c_dr_st)))) && (((((((((((((((((\old(p_dw_st) == p_dw_st && q_buf_0 == \old(q_buf_0)) && p_num_write == \old(p_num_write)) && 1 == p_dw_i) && c_dr_st == \old(c_dr_st)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev)) || !(0 == c_num_read)) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(q_free))) || (((0 == q_free && p_dw_pc <= 0) && 1 == p_num_write) && p_last_write == q_buf_0)) || !(0 == \old(p_num_write))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(c_last_read == \old(p_last_write))) || !(2 <= \old(c_dr_st))) || !(\old(p_dw_pc) <= 0)) - InvariantResult [Line: 303]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 138]: Loop Invariant Derived loop invariant: ((((((((((!(1 == p_dw_pc) || !(p_last_write == q_buf_0)) || ((\old(q_free) == p_dw_pc || !(1 == p_dw_i)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(0 == \old(q_free))) || !(2 <= \old(p_dw_st))) || (((1 == c_num_read && c_last_read == p_last_write) && ((((1 == p_dw_pc && 1 == p_dw_i) && c_dr_pc == 1) && 1 == q_free) || ((((\old(p_dw_st) == p_dw_st && 1 == p_dw_pc) && 1 == p_dw_i) && c_dr_st == \old(c_dr_st)) && 1 == q_free))) && 2 <= p_dw_st)) || !(0 == \old(c_num_read))) || (((((((\old(p_dw_st) == p_dw_st && 0 == q_free) && a_t == \old(a_t)) && c_last_read == \old(c_last_read)) && \old(q_read_ev) == q_read_ev) && c_dr_st == \old(c_dr_st)) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc))) || !(1 == p_num_write)) || ((((((1 == c_num_read && 1 == p_dw_pc) && 1 == p_dw_i) && c_last_read == p_last_write) && 0 == p_dw_st) && 1 == q_free) && p_last_write == q_buf_0)) && (((((((((!(1 == p_dw_pc) || ((((c_num_read <= p_num_write && p_num_write <= c_num_read) && c_last_read == p_last_write) && ((((1 == p_dw_pc && 1 == p_dw_i) && c_dr_pc == 1) && 1 == q_free) || ((((\old(p_dw_st) == p_dw_st && 1 == p_dw_pc) && 1 == p_dw_i) && c_dr_st == \old(c_dr_st)) && 1 == q_free))) && 2 <= p_dw_st)) || !(p_last_write == q_buf_0)) || ((\old(q_free) == p_dw_pc || !(1 == p_dw_i)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(\old(c_num_read) + 1 <= p_num_write)) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || !(p_num_write <= \old(c_num_read) + 1)) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 1 == p_dw_pc) && 1 == p_dw_i) && c_last_read == p_last_write) && 0 == p_dw_st) && 1 == q_free) && p_last_write == q_buf_0)) || !(1 == \old(c_dr_pc)))) && (((((((((!(p_dw_pc <= 0) || 1 == \old(c_dr_pc)) || !(p_last_write == q_buf_0)) || (((((((a_t == \old(a_t) && c_dr_st == \old(c_dr_st)) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && c_last_read == p_last_write) && 0 == p_dw_st) && 1 == q_free)) || !(0 == \old(p_dw_st))) || !(1 == \old(q_free))) || !(1 == p_dw_i)) || !(p_last_write == \old(c_last_read))) || !(0 == \old(c_num_read))) || !(0 == p_num_write)) - InvariantResult [Line: 31]: Loop Invariant Derived loop invariant: ((((((((!(p_dw_pc <= 0) || !(0 == c_num_read)) || !(p_last_write == q_buf_0)) || (0 <= __retres1 && __retres1 <= 0)) || !(1 == p_dw_i)) || !(1 == p_num_write)) || !(0 == q_free)) || !(2 <= c_dr_st)) && (((((((!(p_dw_pc <= 0) || !(0 == c_num_read)) || !(p_last_write == q_buf_0)) || (0 <= __retres1 && __retres1 <= 0)) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(1 == p_num_write)) || !(0 == q_free))) && ((((!(p_dw_pc <= 0) || (0 <= __retres1 && __retres1 <= 0)) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(2 <= c_dr_st)) - InvariantResult [Line: 310]: Loop Invariant Derived loop invariant: (((((((((((((((1 == \old(c_dr_pc) || !(\old(q_buf_0) == \old(p_last_write))) || !(0 == \old(p_dw_st))) || !(0 == \old(p_num_write))) || ((((((((2 <= c_dr_st && p_dw_pc <= 0) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && 0 == c_num_read) && c_last_read == p_last_write) && 0 == p_num_write) && 1 == q_free) && p_last_write == q_buf_0)) || ((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((((c_num_read == \old(c_num_read) && 2 <= c_dr_st) && p_dw_pc <= 0) && p_num_write == \old(p_num_write)) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && \old(q_read_ev) == q_read_ev) && c_dr_pc == \old(c_dr_pc)) && \old(p_dw_pc) == p_dw_pc) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || (((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 1 == p_dw_pc) && p_last_write == q_buf_0)) || !(\old(p_dw_pc) <= 0)) || !(1 == \old(q_free))) || !(1 == p_dw_i)) || (((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((0 == q_free && 1 == p_dw_pc) && 0 == c_num_read) && 1 == p_num_write) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(0 == \old(c_num_read))) || ((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && (1 <= q_free || !(p_dw_st == q_free)))) || ((((((((((p_dw_pc <= 0 && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && p_last_write == q_buf_0) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || !(\old(c_last_read) == \old(p_last_write)) - InvariantResult [Line: 237]: Loop Invariant Derived loop invariant: (((((((((((((1 == \old(c_dr_pc) || !(1 == \old(q_free))) || (((((((((((((c_num_read == \old(c_num_read) && p_dw_pc <= 0) && p_num_write == \old(p_num_write)) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && c_dr_pc == \old(c_dr_pc)) && \old(p_dw_pc) == p_dw_pc) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || ((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free))))) || !(2 <= \old(c_dr_st))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || !(\old(p_dw_pc) <= 0)) && (((((((((!(\old(c_num_read) <= \old(p_num_write)) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(p_dw_pc))) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 1 == p_dw_pc) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || !(\old(p_num_write) <= \old(c_num_read))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st))) && ((((((((((((!(\old(q_buf_0) == \old(p_last_write)) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 1 == p_dw_pc) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(0 == \old(p_num_write))) || !(\old(p_dw_pc) <= 0)) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((((((((p_dw_pc <= 0 && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || !(1 == \old(q_free))) || !(0 == \old(c_num_read))) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(\old(c_last_read) == \old(p_last_write)))) && (((((((((((((1 == \old(c_dr_pc) || !(\old(q_buf_0) == \old(p_last_write))) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 1 == p_dw_pc) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(0 == \old(p_num_write))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(\old(p_dw_pc) <= 0)) || (((((((((((((p_dw_pc <= 0 && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_st == \old(c_dr_st)) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && c_last_read == p_last_write) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && 1 == q_free) && q_write_ev == \old(q_write_ev))) || !(1 == \old(q_free))) || ((((((((2 <= c_dr_st && p_dw_pc <= 0) && c_dr_pc == 1) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 0 == c_num_read) && c_last_read == p_last_write) && 0 == p_num_write) && 1 == q_free) && p_last_write == q_buf_0)) || (((((0 == q_free && 1 == p_dw_pc) && 0 == c_num_read) && 1 == p_num_write) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(0 == \old(c_num_read))) || ((((\old(p_dw_st) == \old(q_free) || !(0 == \old(p_dw_st))) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && ((!(0 == \old(p_dw_st)) || !(1 <= \old(q_free))) || !(1 == p_dw_i)))) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(\old(c_last_read) == \old(p_last_write)))) && ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 1 == p_dw_pc) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(1 == \old(p_dw_pc))) || !(0 == \old(q_free))) || !(2 <= \old(p_dw_st))) || !(\old(p_num_write) <= \old(c_num_read) + 1)) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(\old(c_num_read) + 1 <= \old(p_num_write))) || !(1 == \old(c_dr_pc))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st))) && (((((((((!(\old(c_num_read) <= \old(p_num_write)) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(p_dw_pc))) || !(2 <= \old(p_dw_st))) || 1 == \old(p_dw_st)) || (((((((((((((((c_num_read == \old(c_num_read) && \old(p_dw_st) == p_dw_st) && p_num_write == \old(p_num_write)) && 1 == p_dw_pc) && 1 == p_dw_i) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == q_buf_0) && 2 <= c_dr_st) && p_last_write == \old(p_last_write)) && c_dr_pc == 1) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev))) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc))) || !(\old(p_num_write) <= \old(c_num_read)))) && ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || ((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && (((1 <= q_free && 1 == p_dw_i) && 0 == p_dw_st) || (((1 == p_dw_i && 0 == p_dw_st) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && 1 == p_dw_pc) && c_dr_pc == 1) && p_last_write == q_buf_0)) || !(1 == \old(p_dw_pc))) || !(1 == \old(p_num_write))) || !(0 == \old(q_free))) || !(2 <= \old(p_dw_st))) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(0 == \old(c_num_read))) || (((((((c_num_read <= p_num_write && p_num_write <= c_num_read) && 2 <= c_dr_st) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || (((((((0 == q_free && c_num_read + 1 <= p_num_write) && p_num_write <= c_num_read + 1) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free)))) && c_dr_pc == 1) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || ((((((((((((\old(p_dw_st) == p_dw_st && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && 1 == p_num_write) && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && 0 == c_num_read) && c_dr_pc == \old(c_dr_pc)) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev)))) && ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || 1 == \old(p_dw_st)) || !(\old(p_num_write) <= \old(c_num_read) + 1)) || (((((((((((((((c_num_read == \old(c_num_read) && \old(p_dw_st) == p_dw_st) && p_num_write == \old(p_num_write)) && 1 == p_dw_pc) && 1 == p_dw_i) && c_last_read == \old(c_last_read)) && c_dr_st == \old(c_dr_st)) && p_last_write == q_buf_0) && 2 <= c_dr_st) && p_last_write == \old(p_last_write)) && c_dr_pc == 1) && a_t == \old(a_t)) && \old(q_read_ev) == q_read_ev) && \old(p_dw_pc) == p_dw_pc) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev))) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(\old(c_num_read) + 1 <= \old(p_num_write))) || !(2 <= \old(c_dr_st))) || !(1 == \old(c_dr_pc)))) && (((((1 == \old(c_dr_pc) || !(1 == \old(p_dw_pc))) || 1 == \old(p_dw_st)) || ((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && ((1 <= q_free && 1 == p_dw_i) || ((1 == p_dw_i && !(p_dw_pc == q_free)) && !(p_dw_st == q_free))))) || (((\old(p_dw_st) == \old(q_free) || !(1 == p_dw_i)) || \old(p_dw_pc) == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(2 <= \old(c_dr_st))) - InvariantResult [Line: 91]: Loop Invariant Derived loop invariant: ((((((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || !(\old(p_num_write) <= c_num_read)) || !(c_num_read <= \old(p_num_write))) || !(c_dr_pc == 1)) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || (((((0 == q_free && p_num_write <= \old(p_num_write) + 1) && 1 == p_dw_pc) && \old(p_num_write) + 1 <= p_num_write) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(2 <= \old(c_dr_st))) && (((((!(1 == \old(q_free)) || ((((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && 1 == p_dw_i) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || c_dr_pc == 1) || !(2 <= \old(c_dr_st))) || !(\old(p_dw_pc) <= 0))) && ((((((((!(0 == c_num_read) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(q_free))) || !(0 == \old(p_num_write))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || ((((0 == q_free && 1 == p_dw_pc) && 1 == p_num_write) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(c_last_read == \old(p_last_write))) || !(2 <= \old(c_dr_st))) || !(\old(p_dw_pc) <= 0))) && ((((((((!(0 == c_num_read) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(q_free))) || !(0 == \old(p_num_write))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || ((((0 == q_free && 1 == p_dw_pc) && 1 == p_num_write) && p_last_write == q_buf_0) && 2 <= p_dw_st)) || !(c_last_read == \old(p_last_write))) || c_dr_pc == 1) || !(\old(p_dw_pc) <= 0))) && ((((!(1 == \old(p_dw_pc)) || ((((((2 <= c_dr_st && !(1 == p_dw_st)) && !(c_dr_pc == 1)) && 1 == p_dw_pc) && 1 == p_dw_i) && !(p_dw_pc == q_free)) && !(p_dw_st == q_free))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || c_dr_pc == 1) || !(2 <= \old(c_dr_st))) - InvariantResult [Line: 50]: Loop Invariant Derived loop invariant: (((((((!(p_dw_pc <= 0) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(2 <= c_dr_st)) || (__retres1 <= 0 && 0 <= __retres1)) && (((((((!(p_dw_pc <= 0) || !(0 == c_num_read)) || !(p_last_write == q_buf_0)) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(1 == p_num_write)) || !(0 == q_free)) || (__retres1 <= 0 && 0 <= __retres1))) && (((((((((!(1 == p_dw_pc) || !(p_last_write == q_buf_0)) || !(0 == p_dw_st)) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(1 == q_free)) || !(1 == p_num_write)) || (__retres1 <= 0 && 0 <= __retres1)) || !(1 == c_num_read)) || !(c_last_read == p_last_write))) && ((((!(1 == p_dw_pc) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(2 <= c_dr_st)) || (__retres1 <= 0 && 0 <= __retres1))) && (((((((((!(1 == p_dw_pc) || !(p_last_write == q_buf_0)) || !(1 == p_dw_i)) || c_dr_pc == 1) || !(1 == q_free)) || !(1 == p_num_write)) || !(2 <= p_dw_st)) || (__retres1 <= 0 && 0 <= __retres1)) || !(1 == c_num_read)) || !(c_last_read == p_last_write)) - InvariantResult [Line: 135]: Loop Invariant Derived loop invariant: (((((((((((!(1 == p_dw_pc) || \old(q_free) == p_dw_pc) || !(p_last_write == q_buf_0)) || !(\old(c_num_read) + 1 <= p_num_write)) || ((((((p_num_write <= c_num_read && c_num_read <= p_num_write) && 2 <= c_dr_st) && c_dr_pc == 1) && c_last_read == p_last_write) && 0 == p_dw_st) && 1 == q_free)) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || !(1 == p_dw_i)) || !(p_num_write <= \old(c_num_read) + 1)) || ((((((p_num_write <= c_num_read && c_num_read <= p_num_write) && 2 <= c_dr_st) && c_dr_pc == 1) && c_last_read == p_last_write) && 1 == q_free) && 2 <= p_dw_st)) || !(1 == \old(c_dr_pc))) && (((((((((!(1 == p_dw_pc) || (((((1 == c_num_read && 2 <= c_dr_st) && c_dr_pc == 1) && c_last_read == p_last_write) && 1 == q_free) && 2 <= p_dw_st)) || \old(q_free) == p_dw_pc) || !(p_last_write == q_buf_0)) || (((((1 == c_num_read && 2 <= c_dr_st) && c_dr_pc == 1) && c_last_read == p_last_write) && 0 == p_dw_st) && 1 == q_free)) || !(2 <= \old(p_dw_st))) || !(0 == \old(q_free))) || !(1 == p_dw_i)) || !(0 == \old(c_num_read))) || !(1 == p_num_write))) && (((((((((!(p_dw_pc <= 0) || 1 == \old(c_dr_pc)) || !(p_last_write == q_buf_0)) || !(0 == \old(p_dw_st))) || !(1 == \old(q_free))) || (((((2 <= c_dr_st && c_dr_pc == 1) && 0 == c_num_read) && c_last_read == p_last_write) && 0 == p_dw_st) && 1 == q_free)) || !(1 == p_dw_i)) || !(p_last_write == \old(c_last_read))) || !(0 == \old(c_num_read))) || !(0 == p_num_write)) - InvariantResult [Line: 213]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 95]: Loop Invariant Derived loop invariant: (((((((((((!(0 == c_num_read) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(q_free))) || !(0 == \old(p_num_write))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(c_last_read == \old(p_last_write))) || (((((((\old(p_dw_st) == p_dw_st && q_buf_0 == \old(q_buf_0)) && c_dr_st == \old(c_dr_st)) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && p_last_write == q_buf_0) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev))) || !(2 <= \old(c_dr_st))) || !(\old(p_dw_pc) <= 0)) && ((((!(1 == \old(p_dw_pc)) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || c_dr_pc == 1) || !(2 <= \old(c_dr_st))) || (((2 <= c_dr_st && 1 == p_dw_pc) && 1 == p_dw_i) && !(0 == q_free)))) && (((((((!(\old(q_buf_0) == \old(p_last_write)) || !(1 == \old(p_dw_pc))) || !(\old(p_num_write) <= c_num_read)) || !(c_num_read <= \old(p_num_write))) || !(c_dr_pc == 1)) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(2 <= \old(c_dr_st))) || ((((((((((\old(p_dw_st) == p_dw_st && p_num_write <= c_num_read) && c_num_read <= p_num_write) && q_buf_0 == \old(q_buf_0)) && 1 == p_dw_pc) && 1 == p_dw_i) && c_dr_st == \old(c_dr_st)) && !(0 == q_free)) && p_last_write == q_buf_0) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev)))) && ((((((((!(0 == c_num_read) || !(\old(q_buf_0) == \old(p_last_write))) || !(1 == \old(q_free))) || (((((((\old(p_dw_st) == p_dw_st && p_last_write == \old(p_last_write)) && q_buf_0 == \old(q_buf_0)) && c_dr_st == \old(c_dr_st)) && \old(p_dw_pc) == p_dw_pc) && 0 == p_num_write) && \old(q_free) == q_free) && q_write_ev == \old(q_write_ev))) || !(0 == \old(p_num_write))) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || !(c_last_read == \old(p_last_write))) || c_dr_pc == 1) || !(\old(p_dw_pc) <= 0))) && (((((!(1 == \old(q_free)) || (((!(1 == p_dw_i) || \old(p_dw_pc) == \old(q_free)) || 0 == \old(q_free)) && (!(1 <= \old(q_free)) || !(1 == p_dw_i)))) || c_dr_pc == 1) || !(2 <= \old(c_dr_st))) || !(\old(p_dw_pc) <= 0)) || ((((\old(p_dw_st) == p_dw_st && p_dw_pc <= 0) && 1 == p_dw_i) && c_dr_st == \old(c_dr_st)) && !(0 == q_free))) - StatisticsResult: Ultimate Automizer benchmark data CFG has 15 procedures, 107 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: SAFE, OverallTime: 193.8s, OverallIterations: 14, TraceHistogramMax: 4, AutomataDifference: 139.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 46.3s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2087 SDtfs, 5426 SDslu, 2234 SDs, 0 SdLazy, 10057 SolverSat, 2270 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 29.8s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 881 GetRequests, 660 SyntacticMatches, 4 SemanticMatches, 217 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1208 ImplicationChecksByTransitivity, 7.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=2338occurred in iteration=12, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 43.4s AutomataMinimizationTime, 14 MinimizatonAttempts, 1555 StatesRemovedByMinimization, 12 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 45 LocationsWithAnnotation, 3013 PreInvPairs, 3531 NumberOfFragments, 13008 HoareAnnotationTreeSize, 3013 FomulaSimplifications, 38236070 FormulaSimplificationTreeSizeReduction, 8.6s HoareSimplificationTime, 45 FomulaSimplificationsInter, 1290290 FormulaSimplificationTreeSizeReductionInter, 34.8s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.6s SatisfiabilityAnalysisTime, 7.1s InterpolantComputationTime, 1543 NumberOfCodeBlocks, 1543 NumberOfCodeBlocksAsserted, 17 NumberOfCheckSat, 1526 ConstructedInterpolants, 0 QuantifiedInterpolants, 406437 SizeOfPredicates, 8 NumberOfNonLiveVariables, 2025 ConjunctsInSsa, 37 ConjunctsInUnsatCore, 17 InterpolantComputations, 13 PerfectInterpolantSequences, 380/414 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...