/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-8fc6572 [2020-07-10 15:30:28,809 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:30:28,811 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:30:28,826 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:30:28,826 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:30:28,827 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:30:28,829 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:30:28,831 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:30:28,834 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:30:28,835 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:30:28,836 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:30:28,837 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:30:28,838 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:30:28,839 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:30:28,841 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:30:28,842 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:30:28,843 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:30:28,844 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:30:28,846 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:30:28,849 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:30:28,851 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:30:28,853 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:30:28,854 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:30:28,856 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:30:28,861 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:30:28,861 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:30:28,861 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:30:28,863 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:30:28,863 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:30:28,864 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:30:28,867 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:30:28,868 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:30:28,869 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:30:28,871 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:30:28,872 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:30:28,872 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:30:28,873 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:30:28,873 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:30:28,874 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:30:28,880 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:30:28,881 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:30:28,882 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-10 15:30:28,914 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:30:28,915 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:30:28,921 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:30:28,921 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:30:28,921 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:30:28,922 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:30:28,922 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:30:28,922 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:30:28,922 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:30:28,923 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:30:28,924 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:30:28,925 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:30:28,925 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:30:28,926 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:30:28,926 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:30:28,926 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:30:28,926 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:30:28,927 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:30:28,927 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:30:28,927 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:30:28,928 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:30:28,928 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:30:28,928 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:30:28,929 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:30:28,929 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:30:28,929 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:30:28,929 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:30:28,929 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:30:28,929 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:30:28,930 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:30:29,248 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:30:29,265 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:30:29,269 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:30:29,272 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:30:29,272 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:30:29,273 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-10 15:30:29,379 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/005321c1d/16ce50c991aa4ddca9e9072d793820f2/FLAGf021e779f [2020-07-10 15:30:29,929 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:30:29,931 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/systemc/pc_sfifo_1.cil-2.c [2020-07-10 15:30:29,942 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/005321c1d/16ce50c991aa4ddca9e9072d793820f2/FLAGf021e779f [2020-07-10 15:30:30,264 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/005321c1d/16ce50c991aa4ddca9e9072d793820f2 [2020-07-10 15:30:30,276 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:30:30,278 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:30:30,279 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:30:30,280 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:30:30,284 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:30:30,286 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,290 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e3a1fa6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30, skipping insertion in model container [2020-07-10 15:30:30,290 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,298 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:30:30,334 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:30:30,609 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:30:30,621 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:30:30,683 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:30:30,729 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:30:30,730 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30 WrapperNode [2020-07-10 15:30:30,730 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:30:30,731 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:30:30,731 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:30:30,731 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:30:30,845 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,847 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,856 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,857 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,878 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,895 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,899 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (1/1) ... [2020-07-10 15:30:30,903 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:30:30,904 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:30:30,904 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:30:30,904 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:30:30,905 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (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-10 15:30:30,988 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:30:30,989 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:30:30,989 INFO L138 BoogieDeclarations]: Found implementation of procedure error [2020-07-10 15:30:30,989 INFO L138 BoogieDeclarations]: Found implementation of procedure is_do_write_p_triggered [2020-07-10 15:30:30,990 INFO L138 BoogieDeclarations]: Found implementation of procedure is_do_read_c_triggered [2020-07-10 15:30:30,990 INFO L138 BoogieDeclarations]: Found implementation of procedure immediate_notify_threads [2020-07-10 15:30:30,990 INFO L138 BoogieDeclarations]: Found implementation of procedure do_write_p [2020-07-10 15:30:30,990 INFO L138 BoogieDeclarations]: Found implementation of procedure do_read_c [2020-07-10 15:30:30,990 INFO L138 BoogieDeclarations]: Found implementation of procedure init_threads [2020-07-10 15:30:30,990 INFO L138 BoogieDeclarations]: Found implementation of procedure exists_runnable_thread [2020-07-10 15:30:30,991 INFO L138 BoogieDeclarations]: Found implementation of procedure eval [2020-07-10 15:30:30,991 INFO L138 BoogieDeclarations]: Found implementation of procedure stop_simulation [2020-07-10 15:30:30,991 INFO L138 BoogieDeclarations]: Found implementation of procedure start_simulation [2020-07-10 15:30:30,991 INFO L138 BoogieDeclarations]: Found implementation of procedure init_model [2020-07-10 15:30:30,991 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:30:30,992 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:30:30,992 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:30:30,992 INFO L130 BoogieDeclarations]: Found specification of procedure error [2020-07-10 15:30:30,992 INFO L130 BoogieDeclarations]: Found specification of procedure is_do_write_p_triggered [2020-07-10 15:30:30,992 INFO L130 BoogieDeclarations]: Found specification of procedure is_do_read_c_triggered [2020-07-10 15:30:30,993 INFO L130 BoogieDeclarations]: Found specification of procedure immediate_notify_threads [2020-07-10 15:30:30,993 INFO L130 BoogieDeclarations]: Found specification of procedure do_write_p [2020-07-10 15:30:30,993 INFO L130 BoogieDeclarations]: Found specification of procedure do_read_c [2020-07-10 15:30:30,994 INFO L130 BoogieDeclarations]: Found specification of procedure init_threads [2020-07-10 15:30:30,994 INFO L130 BoogieDeclarations]: Found specification of procedure exists_runnable_thread [2020-07-10 15:30:30,994 INFO L130 BoogieDeclarations]: Found specification of procedure eval [2020-07-10 15:30:30,994 INFO L130 BoogieDeclarations]: Found specification of procedure stop_simulation [2020-07-10 15:30:30,994 INFO L130 BoogieDeclarations]: Found specification of procedure start_simulation [2020-07-10 15:30:30,994 INFO L130 BoogieDeclarations]: Found specification of procedure init_model [2020-07-10 15:30:30,995 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:30:30,995 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:30:30,995 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:30:31,754 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:30:31,755 INFO L295 CfgBuilder]: Removed 4 assume(true) statements. [2020-07-10 15:30:31,773 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:30:31 BoogieIcfgContainer [2020-07-10 15:30:31,773 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:30:31,775 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:30:31,776 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:30:31,780 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:30:31,780 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:30:30" (1/3) ... [2020-07-10 15:30:31,782 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35766ea5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:30:31, skipping insertion in model container [2020-07-10 15:30:31,783 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:30:30" (2/3) ... [2020-07-10 15:30:31,783 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@35766ea5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:30:31, skipping insertion in model container [2020-07-10 15:30:31,783 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:30:31" (3/3) ... [2020-07-10 15:30:31,787 INFO L109 eAbstractionObserver]: Analyzing ICFG pc_sfifo_1.cil-2.c [2020-07-10 15:30:31,803 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:30:31,818 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 15:30:31,841 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 15:30:31,891 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:30:31,891 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:30:31,892 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:30:31,892 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:30:31,892 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:30:31,892 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:30:31,893 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:30:31,893 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:30:31,925 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states. [2020-07-10 15:30:31,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2020-07-10 15:30:31,940 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:30:31,942 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-10 15:30:31,942 INFO L427 AbstractCegarLoop]: === Iteration 1 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:30:31,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:30:31,951 INFO L82 PathProgramCache]: Analyzing trace with hash 800633075, now seen corresponding path program 1 times [2020-07-10 15:30:31,965 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:30:31,966 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [552554556] [2020-07-10 15:30:31,966 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:30:32,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,482 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-10 15:30:32,483 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,484 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {110#true} {110#true} #286#return; {110#true} is VALID [2020-07-10 15:30:32,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,560 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-10 15:30:32,560 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,561 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {110#true} {110#true} #262#return; {110#true} is VALID [2020-07-10 15:30:32,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,588 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-10 15:30:32,588 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-10 15:30:32,589 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,590 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {110#true} {110#true} #280#return; {110#true} is VALID [2020-07-10 15:30:32,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,608 INFO L280 TraceCheckUtils]: 0: Hoare triple {110#true} havoc ~__retres1~2; {110#true} is VALID [2020-07-10 15:30:32,610 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-10 15:30:32,612 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-10 15:30:32,613 INFO L280 TraceCheckUtils]: 3: Hoare triple {127#(= 0 ~p_dw_st~0)} assume true; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-10 15:30:32,616 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-10 15:30:32,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,666 INFO L280 TraceCheckUtils]: 0: Hoare triple {110#true} havoc ~__retres1~0; {110#true} is VALID [2020-07-10 15:30:32,666 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume 1 == ~p_dw_pc~0; {110#true} is VALID [2020-07-10 15:30:32,667 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {110#true} is VALID [2020-07-10 15:30:32,667 INFO L280 TraceCheckUtils]: 3: Hoare triple {110#true} #res := ~__retres1~0; {110#true} is VALID [2020-07-10 15:30:32,667 INFO L280 TraceCheckUtils]: 4: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,668 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {110#true} {110#true} #268#return; {110#true} is VALID [2020-07-10 15:30:32,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:32,682 INFO L280 TraceCheckUtils]: 0: Hoare triple {110#true} havoc ~__retres1~1; {110#true} is VALID [2020-07-10 15:30:32,683 INFO L280 TraceCheckUtils]: 1: Hoare triple {110#true} assume 1 == ~c_dr_pc~0; {110#true} is VALID [2020-07-10 15:30:32,683 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {110#true} is VALID [2020-07-10 15:30:32,684 INFO L280 TraceCheckUtils]: 3: Hoare triple {110#true} #res := ~__retres1~1; {110#true} is VALID [2020-07-10 15:30:32,684 INFO L280 TraceCheckUtils]: 4: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,684 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {110#true} {110#true} #270#return; {110#true} is VALID [2020-07-10 15:30:32,685 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-10 15:30:32,686 INFO L263 TraceCheckUtils]: 1: Hoare triple {110#true} call #t~ret0 := is_do_write_p_triggered(); {110#true} is VALID [2020-07-10 15:30:32,687 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} havoc ~__retres1~0; {110#true} is VALID [2020-07-10 15:30:32,688 INFO L280 TraceCheckUtils]: 3: Hoare triple {110#true} assume 1 == ~p_dw_pc~0; {110#true} is VALID [2020-07-10 15:30:32,689 INFO L280 TraceCheckUtils]: 4: Hoare triple {110#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {110#true} is VALID [2020-07-10 15:30:32,689 INFO L280 TraceCheckUtils]: 5: Hoare triple {110#true} #res := ~__retres1~0; {110#true} is VALID [2020-07-10 15:30:32,690 INFO L280 TraceCheckUtils]: 6: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,690 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {110#true} {110#true} #268#return; {110#true} is VALID [2020-07-10 15:30:32,691 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-10 15:30:32,691 INFO L280 TraceCheckUtils]: 9: Hoare triple {110#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {110#true} is VALID [2020-07-10 15:30:32,691 INFO L263 TraceCheckUtils]: 10: Hoare triple {110#true} call #t~ret1 := is_do_read_c_triggered(); {110#true} is VALID [2020-07-10 15:30:32,692 INFO L280 TraceCheckUtils]: 11: Hoare triple {110#true} havoc ~__retres1~1; {110#true} is VALID [2020-07-10 15:30:32,692 INFO L280 TraceCheckUtils]: 12: Hoare triple {110#true} assume 1 == ~c_dr_pc~0; {110#true} is VALID [2020-07-10 15:30:32,693 INFO L280 TraceCheckUtils]: 13: Hoare triple {110#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {110#true} is VALID [2020-07-10 15:30:32,693 INFO L280 TraceCheckUtils]: 14: Hoare triple {110#true} #res := ~__retres1~1; {110#true} is VALID [2020-07-10 15:30:32,694 INFO L280 TraceCheckUtils]: 15: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,695 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {110#true} {110#true} #270#return; {110#true} is VALID [2020-07-10 15:30:32,695 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-10 15:30:32,696 INFO L280 TraceCheckUtils]: 18: Hoare triple {110#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {110#true} is VALID [2020-07-10 15:30:32,697 INFO L280 TraceCheckUtils]: 19: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,697 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {110#true} {111#false} #290#return; {111#false} is VALID [2020-07-10 15:30:32,713 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-10 15:30:32,715 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-10 15:30:32,716 INFO L280 TraceCheckUtils]: 2: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,716 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {110#true} {110#true} #286#return; {110#true} is VALID [2020-07-10 15:30:32,717 INFO L263 TraceCheckUtils]: 4: Hoare triple {110#true} call #t~ret8 := main(); {110#true} is VALID [2020-07-10 15:30:32,717 INFO L280 TraceCheckUtils]: 5: Hoare triple {110#true} havoc ~__retres1~3; {110#true} is VALID [2020-07-10 15:30:32,719 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-10 15:30:32,720 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-10 15:30:32,720 INFO L280 TraceCheckUtils]: 8: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,720 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {110#true} {110#true} #262#return; {110#true} is VALID [2020-07-10 15:30:32,721 INFO L263 TraceCheckUtils]: 10: Hoare triple {110#true} call start_simulation(); {110#true} is VALID [2020-07-10 15:30:32,721 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-10 15:30:32,723 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-10 15:30:32,723 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-10 15:30:32,724 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-10 15:30:32,724 INFO L280 TraceCheckUtils]: 15: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,725 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {110#true} {110#true} #280#return; {110#true} is VALID [2020-07-10 15:30:32,725 INFO L280 TraceCheckUtils]: 17: Hoare triple {110#true} assume !false; {110#true} is VALID [2020-07-10 15:30:32,726 INFO L280 TraceCheckUtils]: 18: Hoare triple {110#true} ~kernel_st~0 := 1; {110#true} is VALID [2020-07-10 15:30:32,726 INFO L263 TraceCheckUtils]: 19: Hoare triple {110#true} call eval(); {110#true} is VALID [2020-07-10 15:30:32,726 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-10 15:30:32,727 INFO L280 TraceCheckUtils]: 21: Hoare triple {110#true} assume !false; {110#true} is VALID [2020-07-10 15:30:32,727 INFO L263 TraceCheckUtils]: 22: Hoare triple {110#true} call #t~ret3 := exists_runnable_thread(); {110#true} is VALID [2020-07-10 15:30:32,728 INFO L280 TraceCheckUtils]: 23: Hoare triple {110#true} havoc ~__retres1~2; {110#true} is VALID [2020-07-10 15:30:32,729 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-10 15:30:32,730 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-10 15:30:32,731 INFO L280 TraceCheckUtils]: 26: Hoare triple {127#(= 0 ~p_dw_st~0)} assume true; {127#(= 0 ~p_dw_st~0)} is VALID [2020-07-10 15:30:32,732 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-10 15:30:32,733 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-10 15:30:32,734 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-10 15:30:32,735 INFO L280 TraceCheckUtils]: 30: Hoare triple {127#(= 0 ~p_dw_st~0)} assume !(0 == ~p_dw_st~0); {111#false} is VALID [2020-07-10 15:30:32,736 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-10 15:30:32,736 INFO L280 TraceCheckUtils]: 32: Hoare triple {111#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {111#false} is VALID [2020-07-10 15:30:32,737 INFO L263 TraceCheckUtils]: 33: Hoare triple {111#false} call do_read_c(); {111#false} is VALID [2020-07-10 15:30:32,737 INFO L280 TraceCheckUtils]: 34: Hoare triple {111#false} havoc ~a~0; {111#false} is VALID [2020-07-10 15:30:32,737 INFO L280 TraceCheckUtils]: 35: Hoare triple {111#false} assume 0 == ~c_dr_pc~0; {111#false} is VALID [2020-07-10 15:30:32,738 INFO L280 TraceCheckUtils]: 36: Hoare triple {111#false} assume !false; {111#false} is VALID [2020-07-10 15:30:32,738 INFO L280 TraceCheckUtils]: 37: Hoare triple {111#false} assume !(1 == ~q_free~0); {111#false} is VALID [2020-07-10 15:30:32,738 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-10 15:30:32,739 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-10 15:30:32,739 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-10 15:30:32,739 INFO L263 TraceCheckUtils]: 41: Hoare triple {110#true} call #t~ret0 := is_do_write_p_triggered(); {110#true} is VALID [2020-07-10 15:30:32,740 INFO L280 TraceCheckUtils]: 42: Hoare triple {110#true} havoc ~__retres1~0; {110#true} is VALID [2020-07-10 15:30:32,740 INFO L280 TraceCheckUtils]: 43: Hoare triple {110#true} assume 1 == ~p_dw_pc~0; {110#true} is VALID [2020-07-10 15:30:32,741 INFO L280 TraceCheckUtils]: 44: Hoare triple {110#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {110#true} is VALID [2020-07-10 15:30:32,741 INFO L280 TraceCheckUtils]: 45: Hoare triple {110#true} #res := ~__retres1~0; {110#true} is VALID [2020-07-10 15:30:32,741 INFO L280 TraceCheckUtils]: 46: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,741 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {110#true} {110#true} #268#return; {110#true} is VALID [2020-07-10 15:30:32,742 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-10 15:30:32,742 INFO L280 TraceCheckUtils]: 49: Hoare triple {110#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {110#true} is VALID [2020-07-10 15:30:32,743 INFO L263 TraceCheckUtils]: 50: Hoare triple {110#true} call #t~ret1 := is_do_read_c_triggered(); {110#true} is VALID [2020-07-10 15:30:32,743 INFO L280 TraceCheckUtils]: 51: Hoare triple {110#true} havoc ~__retres1~1; {110#true} is VALID [2020-07-10 15:30:32,743 INFO L280 TraceCheckUtils]: 52: Hoare triple {110#true} assume 1 == ~c_dr_pc~0; {110#true} is VALID [2020-07-10 15:30:32,744 INFO L280 TraceCheckUtils]: 53: Hoare triple {110#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {110#true} is VALID [2020-07-10 15:30:32,744 INFO L280 TraceCheckUtils]: 54: Hoare triple {110#true} #res := ~__retres1~1; {110#true} is VALID [2020-07-10 15:30:32,744 INFO L280 TraceCheckUtils]: 55: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,745 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {110#true} {110#true} #270#return; {110#true} is VALID [2020-07-10 15:30:32,745 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-10 15:30:32,745 INFO L280 TraceCheckUtils]: 58: Hoare triple {110#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {110#true} is VALID [2020-07-10 15:30:32,745 INFO L280 TraceCheckUtils]: 59: Hoare triple {110#true} assume true; {110#true} is VALID [2020-07-10 15:30:32,746 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {110#true} {111#false} #290#return; {111#false} is VALID [2020-07-10 15:30:32,746 INFO L280 TraceCheckUtils]: 61: Hoare triple {111#false} ~q_read_ev~0 := 2; {111#false} is VALID [2020-07-10 15:30:32,746 INFO L280 TraceCheckUtils]: 62: Hoare triple {111#false} assume !(~p_last_write~0 == ~c_last_read~0); {111#false} is VALID [2020-07-10 15:30:32,746 INFO L263 TraceCheckUtils]: 63: Hoare triple {111#false} call error(); {111#false} is VALID [2020-07-10 15:30:32,747 INFO L280 TraceCheckUtils]: 64: Hoare triple {111#false} assume !false; {111#false} is VALID [2020-07-10 15:30:32,760 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-10 15:30:32,762 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [552554556] [2020-07-10 15:30:32,763 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:30:32,763 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:30:32,765 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1349311639] [2020-07-10 15:30:32,775 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 65 [2020-07-10 15:30:32,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:30:32,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:30:32,921 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-10 15:30:32,922 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:30:32,922 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:30:32,935 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:30:32,937 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:30:32,940 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 6 states. [2020-07-10 15:30:37,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:37,103 INFO L93 Difference]: Finished difference Result 356 states and 554 transitions. [2020-07-10 15:30:37,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 15:30:37,104 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 65 [2020-07-10 15:30:37,104 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:30:37,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:30:37,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 554 transitions. [2020-07-10 15:30:37,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:30:37,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 554 transitions. [2020-07-10 15:30:37,178 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 554 transitions. [2020-07-10 15:30:38,113 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-10 15:30:38,152 INFO L225 Difference]: With dead ends: 356 [2020-07-10 15:30:38,152 INFO L226 Difference]: Without dead ends: 248 [2020-07-10 15:30:38,160 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:30:38,193 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 248 states. [2020-07-10 15:30:38,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 248 to 185. [2020-07-10 15:30:38,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:30:38,715 INFO L82 GeneralOperation]: Start isEquivalent. First operand 248 states. Second operand 185 states. [2020-07-10 15:30:38,716 INFO L74 IsIncluded]: Start isIncluded. First operand 248 states. Second operand 185 states. [2020-07-10 15:30:38,717 INFO L87 Difference]: Start difference. First operand 248 states. Second operand 185 states. [2020-07-10 15:30:38,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:38,745 INFO L93 Difference]: Finished difference Result 248 states and 347 transitions. [2020-07-10 15:30:38,745 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 347 transitions. [2020-07-10 15:30:38,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:30:38,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:30:38,753 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand 248 states. [2020-07-10 15:30:38,753 INFO L87 Difference]: Start difference. First operand 185 states. Second operand 248 states. [2020-07-10 15:30:38,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:38,776 INFO L93 Difference]: Finished difference Result 248 states and 347 transitions. [2020-07-10 15:30:38,776 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 347 transitions. [2020-07-10 15:30:38,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:30:38,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:30:38,780 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:30:38,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:30:38,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 185 states. [2020-07-10 15:30:38,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 246 transitions. [2020-07-10 15:30:38,797 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 246 transitions. Word has length 65 [2020-07-10 15:30:38,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:30:38,798 INFO L479 AbstractCegarLoop]: Abstraction has 185 states and 246 transitions. [2020-07-10 15:30:38,798 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:30:38,799 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 246 transitions. [2020-07-10 15:30:38,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-10 15:30:38,802 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:30:38,803 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-10 15:30:38,803 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:30:38,803 INFO L427 AbstractCegarLoop]: === Iteration 2 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:30:38,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:30:38,804 INFO L82 PathProgramCache]: Analyzing trace with hash 1537976919, now seen corresponding path program 1 times [2020-07-10 15:30:38,805 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:30:38,805 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1376971251] [2020-07-10 15:30:38,806 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:30:38,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:38,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:38,990 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-10 15:30:38,991 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:38,991 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1433#true} {1433#true} #286#return; {1433#true} is VALID [2020-07-10 15:30:39,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:39,044 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-10 15:30:39,046 INFO L280 TraceCheckUtils]: 1: Hoare triple {1441#(= 1 ~p_dw_i~0)} assume true; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-10 15:30:39,048 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-10 15:30:39,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:39,104 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-10 15:30:39,106 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-10 15:30:39,130 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-10 15:30:39,131 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-10 15:30:39,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:39,140 INFO L280 TraceCheckUtils]: 0: Hoare triple {1433#true} havoc ~__retres1~2; {1433#true} is VALID [2020-07-10 15:30:39,140 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume !(0 == ~p_dw_st~0); {1433#true} is VALID [2020-07-10 15:30:39,141 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume 0 == ~c_dr_st~0;~__retres1~2 := 1; {1433#true} is VALID [2020-07-10 15:30:39,141 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} #res := ~__retres1~2; {1433#true} is VALID [2020-07-10 15:30:39,141 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,142 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1433#true} {1434#false} #272#return; {1434#false} is VALID [2020-07-10 15:30:39,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:39,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:39,160 INFO L280 TraceCheckUtils]: 0: Hoare triple {1433#true} havoc ~__retres1~0; {1433#true} is VALID [2020-07-10 15:30:39,161 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume 1 == ~p_dw_pc~0; {1433#true} is VALID [2020-07-10 15:30:39,162 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {1433#true} is VALID [2020-07-10 15:30:39,162 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} #res := ~__retres1~0; {1433#true} is VALID [2020-07-10 15:30:39,162 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,163 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1433#true} {1433#true} #268#return; {1433#true} is VALID [2020-07-10 15:30:39,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:39,168 INFO L280 TraceCheckUtils]: 0: Hoare triple {1433#true} havoc ~__retres1~1; {1433#true} is VALID [2020-07-10 15:30:39,169 INFO L280 TraceCheckUtils]: 1: Hoare triple {1433#true} assume 1 == ~c_dr_pc~0; {1433#true} is VALID [2020-07-10 15:30:39,169 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {1433#true} is VALID [2020-07-10 15:30:39,169 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} #res := ~__retres1~1; {1433#true} is VALID [2020-07-10 15:30:39,170 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,170 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1433#true} {1433#true} #270#return; {1433#true} is VALID [2020-07-10 15:30:39,170 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-10 15:30:39,171 INFO L263 TraceCheckUtils]: 1: Hoare triple {1433#true} call #t~ret0 := is_do_write_p_triggered(); {1433#true} is VALID [2020-07-10 15:30:39,171 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} havoc ~__retres1~0; {1433#true} is VALID [2020-07-10 15:30:39,172 INFO L280 TraceCheckUtils]: 3: Hoare triple {1433#true} assume 1 == ~p_dw_pc~0; {1433#true} is VALID [2020-07-10 15:30:39,172 INFO L280 TraceCheckUtils]: 4: Hoare triple {1433#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {1433#true} is VALID [2020-07-10 15:30:39,173 INFO L280 TraceCheckUtils]: 5: Hoare triple {1433#true} #res := ~__retres1~0; {1433#true} is VALID [2020-07-10 15:30:39,173 INFO L280 TraceCheckUtils]: 6: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,173 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1433#true} {1433#true} #268#return; {1433#true} is VALID [2020-07-10 15:30:39,174 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-10 15:30:39,174 INFO L280 TraceCheckUtils]: 9: Hoare triple {1433#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {1433#true} is VALID [2020-07-10 15:30:39,175 INFO L263 TraceCheckUtils]: 10: Hoare triple {1433#true} call #t~ret1 := is_do_read_c_triggered(); {1433#true} is VALID [2020-07-10 15:30:39,175 INFO L280 TraceCheckUtils]: 11: Hoare triple {1433#true} havoc ~__retres1~1; {1433#true} is VALID [2020-07-10 15:30:39,175 INFO L280 TraceCheckUtils]: 12: Hoare triple {1433#true} assume 1 == ~c_dr_pc~0; {1433#true} is VALID [2020-07-10 15:30:39,175 INFO L280 TraceCheckUtils]: 13: Hoare triple {1433#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {1433#true} is VALID [2020-07-10 15:30:39,176 INFO L280 TraceCheckUtils]: 14: Hoare triple {1433#true} #res := ~__retres1~1; {1433#true} is VALID [2020-07-10 15:30:39,176 INFO L280 TraceCheckUtils]: 15: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,176 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1433#true} {1433#true} #270#return; {1433#true} is VALID [2020-07-10 15:30:39,177 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-10 15:30:39,177 INFO L280 TraceCheckUtils]: 18: Hoare triple {1433#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {1433#true} is VALID [2020-07-10 15:30:39,177 INFO L280 TraceCheckUtils]: 19: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,178 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {1433#true} {1434#false} #290#return; {1434#false} is VALID [2020-07-10 15:30:39,181 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-10 15:30:39,181 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-10 15:30:39,182 INFO L280 TraceCheckUtils]: 2: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,182 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1433#true} {1433#true} #286#return; {1433#true} is VALID [2020-07-10 15:30:39,183 INFO L263 TraceCheckUtils]: 4: Hoare triple {1433#true} call #t~ret8 := main(); {1433#true} is VALID [2020-07-10 15:30:39,183 INFO L280 TraceCheckUtils]: 5: Hoare triple {1433#true} havoc ~__retres1~3; {1433#true} is VALID [2020-07-10 15:30:39,185 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-10 15:30:39,186 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-10 15:30:39,187 INFO L280 TraceCheckUtils]: 8: Hoare triple {1441#(= 1 ~p_dw_i~0)} assume true; {1441#(= 1 ~p_dw_i~0)} is VALID [2020-07-10 15:30:39,189 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-10 15:30:39,190 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-10 15:30:39,191 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-10 15:30:39,194 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-10 15:30:39,196 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-10 15:30:39,198 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-10 15:30:39,200 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-10 15:30:39,202 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-10 15:30:39,203 INFO L280 TraceCheckUtils]: 17: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-10 15:30:39,203 INFO L280 TraceCheckUtils]: 18: Hoare triple {1434#false} ~kernel_st~0 := 1; {1434#false} is VALID [2020-07-10 15:30:39,204 INFO L263 TraceCheckUtils]: 19: Hoare triple {1434#false} call eval(); {1434#false} is VALID [2020-07-10 15:30:39,204 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-10 15:30:39,205 INFO L280 TraceCheckUtils]: 21: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-10 15:30:39,205 INFO L263 TraceCheckUtils]: 22: Hoare triple {1434#false} call #t~ret3 := exists_runnable_thread(); {1433#true} is VALID [2020-07-10 15:30:39,205 INFO L280 TraceCheckUtils]: 23: Hoare triple {1433#true} havoc ~__retres1~2; {1433#true} is VALID [2020-07-10 15:30:39,206 INFO L280 TraceCheckUtils]: 24: Hoare triple {1433#true} assume !(0 == ~p_dw_st~0); {1433#true} is VALID [2020-07-10 15:30:39,206 INFO L280 TraceCheckUtils]: 25: Hoare triple {1433#true} assume 0 == ~c_dr_st~0;~__retres1~2 := 1; {1433#true} is VALID [2020-07-10 15:30:39,206 INFO L280 TraceCheckUtils]: 26: Hoare triple {1433#true} #res := ~__retres1~2; {1433#true} is VALID [2020-07-10 15:30:39,207 INFO L280 TraceCheckUtils]: 27: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,207 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1433#true} {1434#false} #272#return; {1434#false} is VALID [2020-07-10 15:30:39,208 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-10 15:30:39,208 INFO L280 TraceCheckUtils]: 30: Hoare triple {1434#false} assume 0 != ~tmp___1~0; {1434#false} is VALID [2020-07-10 15:30:39,208 INFO L280 TraceCheckUtils]: 31: Hoare triple {1434#false} assume !(0 == ~p_dw_st~0); {1434#false} is VALID [2020-07-10 15:30:39,208 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-10 15:30:39,209 INFO L280 TraceCheckUtils]: 33: Hoare triple {1434#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {1434#false} is VALID [2020-07-10 15:30:39,209 INFO L263 TraceCheckUtils]: 34: Hoare triple {1434#false} call do_read_c(); {1434#false} is VALID [2020-07-10 15:30:39,209 INFO L280 TraceCheckUtils]: 35: Hoare triple {1434#false} havoc ~a~0; {1434#false} is VALID [2020-07-10 15:30:39,210 INFO L280 TraceCheckUtils]: 36: Hoare triple {1434#false} assume 0 == ~c_dr_pc~0; {1434#false} is VALID [2020-07-10 15:30:39,210 INFO L280 TraceCheckUtils]: 37: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-10 15:30:39,210 INFO L280 TraceCheckUtils]: 38: Hoare triple {1434#false} assume !(1 == ~q_free~0); {1434#false} is VALID [2020-07-10 15:30:39,210 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-10 15:30:39,211 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-10 15:30:39,211 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-10 15:30:39,211 INFO L263 TraceCheckUtils]: 42: Hoare triple {1433#true} call #t~ret0 := is_do_write_p_triggered(); {1433#true} is VALID [2020-07-10 15:30:39,212 INFO L280 TraceCheckUtils]: 43: Hoare triple {1433#true} havoc ~__retres1~0; {1433#true} is VALID [2020-07-10 15:30:39,212 INFO L280 TraceCheckUtils]: 44: Hoare triple {1433#true} assume 1 == ~p_dw_pc~0; {1433#true} is VALID [2020-07-10 15:30:39,212 INFO L280 TraceCheckUtils]: 45: Hoare triple {1433#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {1433#true} is VALID [2020-07-10 15:30:39,213 INFO L280 TraceCheckUtils]: 46: Hoare triple {1433#true} #res := ~__retres1~0; {1433#true} is VALID [2020-07-10 15:30:39,213 INFO L280 TraceCheckUtils]: 47: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,213 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {1433#true} {1433#true} #268#return; {1433#true} is VALID [2020-07-10 15:30:39,214 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-10 15:30:39,214 INFO L280 TraceCheckUtils]: 50: Hoare triple {1433#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {1433#true} is VALID [2020-07-10 15:30:39,214 INFO L263 TraceCheckUtils]: 51: Hoare triple {1433#true} call #t~ret1 := is_do_read_c_triggered(); {1433#true} is VALID [2020-07-10 15:30:39,215 INFO L280 TraceCheckUtils]: 52: Hoare triple {1433#true} havoc ~__retres1~1; {1433#true} is VALID [2020-07-10 15:30:39,215 INFO L280 TraceCheckUtils]: 53: Hoare triple {1433#true} assume 1 == ~c_dr_pc~0; {1433#true} is VALID [2020-07-10 15:30:39,215 INFO L280 TraceCheckUtils]: 54: Hoare triple {1433#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {1433#true} is VALID [2020-07-10 15:30:39,216 INFO L280 TraceCheckUtils]: 55: Hoare triple {1433#true} #res := ~__retres1~1; {1433#true} is VALID [2020-07-10 15:30:39,216 INFO L280 TraceCheckUtils]: 56: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,216 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {1433#true} {1433#true} #270#return; {1433#true} is VALID [2020-07-10 15:30:39,217 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-10 15:30:39,217 INFO L280 TraceCheckUtils]: 59: Hoare triple {1433#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {1433#true} is VALID [2020-07-10 15:30:39,217 INFO L280 TraceCheckUtils]: 60: Hoare triple {1433#true} assume true; {1433#true} is VALID [2020-07-10 15:30:39,217 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {1433#true} {1434#false} #290#return; {1434#false} is VALID [2020-07-10 15:30:39,218 INFO L280 TraceCheckUtils]: 62: Hoare triple {1434#false} ~q_read_ev~0 := 2; {1434#false} is VALID [2020-07-10 15:30:39,218 INFO L280 TraceCheckUtils]: 63: Hoare triple {1434#false} assume !(~p_last_write~0 == ~c_last_read~0); {1434#false} is VALID [2020-07-10 15:30:39,218 INFO L263 TraceCheckUtils]: 64: Hoare triple {1434#false} call error(); {1434#false} is VALID [2020-07-10 15:30:39,219 INFO L280 TraceCheckUtils]: 65: Hoare triple {1434#false} assume !false; {1434#false} is VALID [2020-07-10 15:30:39,225 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-10 15:30:39,226 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1376971251] [2020-07-10 15:30:39,226 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:30:39,226 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-10 15:30:39,227 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2062223488] [2020-07-10 15:30:39,229 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 66 [2020-07-10 15:30:39,231 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:30:39,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 15:30:39,313 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-10 15:30:39,313 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 15:30:39,314 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:30:39,314 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 15:30:39,315 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-10 15:30:39,315 INFO L87 Difference]: Start difference. First operand 185 states and 246 transitions. Second operand 7 states. [2020-07-10 15:30:42,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:42,312 INFO L93 Difference]: Finished difference Result 406 states and 562 transitions. [2020-07-10 15:30:42,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 15:30:42,312 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 66 [2020-07-10 15:30:42,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:30:42,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:30:42,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 298 transitions. [2020-07-10 15:30:42,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:30:42,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 298 transitions. [2020-07-10 15:30:42,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 298 transitions. [2020-07-10 15:30:42,827 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-10 15:30:42,838 INFO L225 Difference]: With dead ends: 406 [2020-07-10 15:30:42,838 INFO L226 Difference]: Without dead ends: 238 [2020-07-10 15:30:42,841 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-10 15:30:42,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2020-07-10 15:30:43,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 182. [2020-07-10 15:30:43,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:30:43,364 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand 182 states. [2020-07-10 15:30:43,364 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand 182 states. [2020-07-10 15:30:43,364 INFO L87 Difference]: Start difference. First operand 238 states. Second operand 182 states. [2020-07-10 15:30:43,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:43,380 INFO L93 Difference]: Finished difference Result 238 states and 334 transitions. [2020-07-10 15:30:43,380 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 334 transitions. [2020-07-10 15:30:43,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:30:43,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:30:43,383 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand 238 states. [2020-07-10 15:30:43,383 INFO L87 Difference]: Start difference. First operand 182 states. Second operand 238 states. [2020-07-10 15:30:43,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:43,398 INFO L93 Difference]: Finished difference Result 238 states and 334 transitions. [2020-07-10 15:30:43,398 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 334 transitions. [2020-07-10 15:30:43,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:30:43,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:30:43,401 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:30:43,401 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:30:43,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 182 states. [2020-07-10 15:30:43,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 241 transitions. [2020-07-10 15:30:43,411 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 241 transitions. Word has length 66 [2020-07-10 15:30:43,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:30:43,411 INFO L479 AbstractCegarLoop]: Abstraction has 182 states and 241 transitions. [2020-07-10 15:30:43,411 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 15:30:43,412 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 241 transitions. [2020-07-10 15:30:43,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2020-07-10 15:30:43,413 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:30:43,413 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-10 15:30:43,414 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 15:30:43,414 INFO L427 AbstractCegarLoop]: === Iteration 3 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:30:43,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:30:43,415 INFO L82 PathProgramCache]: Analyzing trace with hash -478173211, now seen corresponding path program 1 times [2020-07-10 15:30:43,415 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:30:43,415 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1323606152] [2020-07-10 15:30:43,415 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:30:43,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,582 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-10 15:30:43,582 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,582 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2807#true} {2807#true} #286#return; {2807#true} is VALID [2020-07-10 15:30:43,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,621 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-10 15:30:43,621 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-10 15:30:43,622 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-10 15:30:43,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,640 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-10 15:30:43,640 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-10 15:30:43,641 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,641 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-10 15:30:43,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,651 INFO L280 TraceCheckUtils]: 0: Hoare triple {2807#true} havoc ~__retres1~2; {2807#true} is VALID [2020-07-10 15:30:43,652 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {2807#true} is VALID [2020-07-10 15:30:43,652 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} #res := ~__retres1~2; {2807#true} is VALID [2020-07-10 15:30:43,652 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,654 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-10 15:30:43,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,720 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-10 15:30:43,721 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-10 15:30:43,722 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-10 15:30:43,723 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-10 15:30:43,724 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-10 15:30:43,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,740 INFO L280 TraceCheckUtils]: 0: Hoare triple {2807#true} havoc ~__retres1~0; {2807#true} is VALID [2020-07-10 15:30:43,741 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 1 == ~p_dw_pc~0; {2807#true} is VALID [2020-07-10 15:30:43,741 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {2807#true} is VALID [2020-07-10 15:30:43,741 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} #res := ~__retres1~0; {2807#true} is VALID [2020-07-10 15:30:43,741 INFO L280 TraceCheckUtils]: 4: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,742 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2807#true} {2807#true} #268#return; {2807#true} is VALID [2020-07-10 15:30:43,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:43,746 INFO L280 TraceCheckUtils]: 0: Hoare triple {2807#true} havoc ~__retres1~1; {2807#true} is VALID [2020-07-10 15:30:43,747 INFO L280 TraceCheckUtils]: 1: Hoare triple {2807#true} assume 1 == ~c_dr_pc~0; {2807#true} is VALID [2020-07-10 15:30:43,747 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {2807#true} is VALID [2020-07-10 15:30:43,747 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} #res := ~__retres1~1; {2807#true} is VALID [2020-07-10 15:30:43,747 INFO L280 TraceCheckUtils]: 4: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,748 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2807#true} {2807#true} #270#return; {2807#true} is VALID [2020-07-10 15:30:43,748 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-10 15:30:43,748 INFO L263 TraceCheckUtils]: 1: Hoare triple {2807#true} call #t~ret0 := is_do_write_p_triggered(); {2807#true} is VALID [2020-07-10 15:30:43,749 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} havoc ~__retres1~0; {2807#true} is VALID [2020-07-10 15:30:43,749 INFO L280 TraceCheckUtils]: 3: Hoare triple {2807#true} assume 1 == ~p_dw_pc~0; {2807#true} is VALID [2020-07-10 15:30:43,749 INFO L280 TraceCheckUtils]: 4: Hoare triple {2807#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {2807#true} is VALID [2020-07-10 15:30:43,749 INFO L280 TraceCheckUtils]: 5: Hoare triple {2807#true} #res := ~__retres1~0; {2807#true} is VALID [2020-07-10 15:30:43,750 INFO L280 TraceCheckUtils]: 6: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,750 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2807#true} {2807#true} #268#return; {2807#true} is VALID [2020-07-10 15:30:43,750 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-10 15:30:43,751 INFO L280 TraceCheckUtils]: 9: Hoare triple {2807#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {2807#true} is VALID [2020-07-10 15:30:43,751 INFO L263 TraceCheckUtils]: 10: Hoare triple {2807#true} call #t~ret1 := is_do_read_c_triggered(); {2807#true} is VALID [2020-07-10 15:30:43,751 INFO L280 TraceCheckUtils]: 11: Hoare triple {2807#true} havoc ~__retres1~1; {2807#true} is VALID [2020-07-10 15:30:43,751 INFO L280 TraceCheckUtils]: 12: Hoare triple {2807#true} assume 1 == ~c_dr_pc~0; {2807#true} is VALID [2020-07-10 15:30:43,752 INFO L280 TraceCheckUtils]: 13: Hoare triple {2807#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {2807#true} is VALID [2020-07-10 15:30:43,752 INFO L280 TraceCheckUtils]: 14: Hoare triple {2807#true} #res := ~__retres1~1; {2807#true} is VALID [2020-07-10 15:30:43,752 INFO L280 TraceCheckUtils]: 15: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,753 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2807#true} {2807#true} #270#return; {2807#true} is VALID [2020-07-10 15:30:43,753 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-10 15:30:43,753 INFO L280 TraceCheckUtils]: 18: Hoare triple {2807#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {2807#true} is VALID [2020-07-10 15:30:43,753 INFO L280 TraceCheckUtils]: 19: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,754 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {2807#true} {2808#false} #290#return; {2808#false} is VALID [2020-07-10 15:30:43,756 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-10 15:30:43,756 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-10 15:30:43,757 INFO L280 TraceCheckUtils]: 2: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,757 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2807#true} {2807#true} #286#return; {2807#true} is VALID [2020-07-10 15:30:43,757 INFO L263 TraceCheckUtils]: 4: Hoare triple {2807#true} call #t~ret8 := main(); {2807#true} is VALID [2020-07-10 15:30:43,757 INFO L280 TraceCheckUtils]: 5: Hoare triple {2807#true} havoc ~__retres1~3; {2807#true} is VALID [2020-07-10 15:30:43,759 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-10 15:30:43,760 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-10 15:30:43,761 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-10 15:30:43,762 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-10 15:30:43,762 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-10 15:30:43,763 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-10 15:30:43,764 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-10 15:30:43,765 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-10 15:30:43,765 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-10 15:30:43,765 INFO L280 TraceCheckUtils]: 15: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,766 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-10 15:30:43,767 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-10 15:30:43,769 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-10 15:30:43,770 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-10 15:30:43,770 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-10 15:30:43,771 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-10 15:30:43,771 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-10 15:30:43,772 INFO L280 TraceCheckUtils]: 23: Hoare triple {2807#true} havoc ~__retres1~2; {2807#true} is VALID [2020-07-10 15:30:43,772 INFO L280 TraceCheckUtils]: 24: Hoare triple {2807#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {2807#true} is VALID [2020-07-10 15:30:43,772 INFO L280 TraceCheckUtils]: 25: Hoare triple {2807#true} #res := ~__retres1~2; {2807#true} is VALID [2020-07-10 15:30:43,773 INFO L280 TraceCheckUtils]: 26: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,773 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-10 15:30:43,774 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-10 15:30:43,775 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-10 15:30:43,776 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-10 15:30:43,777 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-10 15:30:43,778 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-10 15:30:43,779 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-10 15:30:43,780 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-10 15:30:43,781 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-10 15:30:43,782 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-10 15:30:43,783 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-10 15:30:43,783 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-10 15:30:43,784 INFO L280 TraceCheckUtils]: 39: Hoare triple {2808#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {2808#false} is VALID [2020-07-10 15:30:43,784 INFO L263 TraceCheckUtils]: 40: Hoare triple {2808#false} call do_read_c(); {2808#false} is VALID [2020-07-10 15:30:43,784 INFO L280 TraceCheckUtils]: 41: Hoare triple {2808#false} havoc ~a~0; {2808#false} is VALID [2020-07-10 15:30:43,785 INFO L280 TraceCheckUtils]: 42: Hoare triple {2808#false} assume 0 == ~c_dr_pc~0; {2808#false} is VALID [2020-07-10 15:30:43,785 INFO L280 TraceCheckUtils]: 43: Hoare triple {2808#false} assume !false; {2808#false} is VALID [2020-07-10 15:30:43,785 INFO L280 TraceCheckUtils]: 44: Hoare triple {2808#false} assume !(1 == ~q_free~0); {2808#false} is VALID [2020-07-10 15:30:43,785 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-10 15:30:43,785 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-10 15:30:43,786 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-10 15:30:43,786 INFO L263 TraceCheckUtils]: 48: Hoare triple {2807#true} call #t~ret0 := is_do_write_p_triggered(); {2807#true} is VALID [2020-07-10 15:30:43,786 INFO L280 TraceCheckUtils]: 49: Hoare triple {2807#true} havoc ~__retres1~0; {2807#true} is VALID [2020-07-10 15:30:43,787 INFO L280 TraceCheckUtils]: 50: Hoare triple {2807#true} assume 1 == ~p_dw_pc~0; {2807#true} is VALID [2020-07-10 15:30:43,787 INFO L280 TraceCheckUtils]: 51: Hoare triple {2807#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {2807#true} is VALID [2020-07-10 15:30:43,787 INFO L280 TraceCheckUtils]: 52: Hoare triple {2807#true} #res := ~__retres1~0; {2807#true} is VALID [2020-07-10 15:30:43,787 INFO L280 TraceCheckUtils]: 53: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,788 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {2807#true} {2807#true} #268#return; {2807#true} is VALID [2020-07-10 15:30:43,788 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-10 15:30:43,788 INFO L280 TraceCheckUtils]: 56: Hoare triple {2807#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {2807#true} is VALID [2020-07-10 15:30:43,788 INFO L263 TraceCheckUtils]: 57: Hoare triple {2807#true} call #t~ret1 := is_do_read_c_triggered(); {2807#true} is VALID [2020-07-10 15:30:43,788 INFO L280 TraceCheckUtils]: 58: Hoare triple {2807#true} havoc ~__retres1~1; {2807#true} is VALID [2020-07-10 15:30:43,789 INFO L280 TraceCheckUtils]: 59: Hoare triple {2807#true} assume 1 == ~c_dr_pc~0; {2807#true} is VALID [2020-07-10 15:30:43,789 INFO L280 TraceCheckUtils]: 60: Hoare triple {2807#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {2807#true} is VALID [2020-07-10 15:30:43,789 INFO L280 TraceCheckUtils]: 61: Hoare triple {2807#true} #res := ~__retres1~1; {2807#true} is VALID [2020-07-10 15:30:43,789 INFO L280 TraceCheckUtils]: 62: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,790 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2807#true} {2807#true} #270#return; {2807#true} is VALID [2020-07-10 15:30:43,790 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-10 15:30:43,790 INFO L280 TraceCheckUtils]: 65: Hoare triple {2807#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {2807#true} is VALID [2020-07-10 15:30:43,790 INFO L280 TraceCheckUtils]: 66: Hoare triple {2807#true} assume true; {2807#true} is VALID [2020-07-10 15:30:43,791 INFO L275 TraceCheckUtils]: 67: Hoare quadruple {2807#true} {2808#false} #290#return; {2808#false} is VALID [2020-07-10 15:30:43,791 INFO L280 TraceCheckUtils]: 68: Hoare triple {2808#false} ~q_read_ev~0 := 2; {2808#false} is VALID [2020-07-10 15:30:43,791 INFO L280 TraceCheckUtils]: 69: Hoare triple {2808#false} assume !(~p_last_write~0 == ~c_last_read~0); {2808#false} is VALID [2020-07-10 15:30:43,791 INFO L263 TraceCheckUtils]: 70: Hoare triple {2808#false} call error(); {2808#false} is VALID [2020-07-10 15:30:43,792 INFO L280 TraceCheckUtils]: 71: Hoare triple {2808#false} assume !false; {2808#false} is VALID [2020-07-10 15:30:43,799 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-10 15:30:43,800 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1323606152] [2020-07-10 15:30:43,800 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:30:43,800 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 15:30:43,800 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1611140980] [2020-07-10 15:30:43,801 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 72 [2020-07-10 15:30:43,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:30:43,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:30:43,878 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-10 15:30:43,878 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:30:43,879 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:30:43,879 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:30:43,879 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:30:43,879 INFO L87 Difference]: Start difference. First operand 182 states and 241 transitions. Second operand 9 states. [2020-07-10 15:30:48,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:48,582 INFO L93 Difference]: Finished difference Result 582 states and 869 transitions. [2020-07-10 15:30:48,583 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-10 15:30:48,583 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 72 [2020-07-10 15:30:48,584 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:30:48,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:30:48,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-10 15:30:48,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:30:48,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 460 transitions. [2020-07-10 15:30:48,606 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 460 transitions. [2020-07-10 15:30:49,300 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-10 15:30:49,323 INFO L225 Difference]: With dead ends: 582 [2020-07-10 15:30:49,323 INFO L226 Difference]: Without dead ends: 417 [2020-07-10 15:30:49,325 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=65, Invalid=175, Unknown=0, NotChecked=0, Total=240 [2020-07-10 15:30:49,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 417 states. [2020-07-10 15:30:50,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 417 to 336. [2020-07-10 15:30:50,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:30:50,267 INFO L82 GeneralOperation]: Start isEquivalent. First operand 417 states. Second operand 336 states. [2020-07-10 15:30:50,267 INFO L74 IsIncluded]: Start isIncluded. First operand 417 states. Second operand 336 states. [2020-07-10 15:30:50,267 INFO L87 Difference]: Start difference. First operand 417 states. Second operand 336 states. [2020-07-10 15:30:50,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:50,302 INFO L93 Difference]: Finished difference Result 417 states and 631 transitions. [2020-07-10 15:30:50,302 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 631 transitions. [2020-07-10 15:30:50,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:30:50,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:30:50,308 INFO L74 IsIncluded]: Start isIncluded. First operand 336 states. Second operand 417 states. [2020-07-10 15:30:50,308 INFO L87 Difference]: Start difference. First operand 336 states. Second operand 417 states. [2020-07-10 15:30:50,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:30:50,343 INFO L93 Difference]: Finished difference Result 417 states and 631 transitions. [2020-07-10 15:30:50,343 INFO L276 IsEmpty]: Start isEmpty. Operand 417 states and 631 transitions. [2020-07-10 15:30:50,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:30:50,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:30:50,348 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:30:50,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:30:50,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 336 states. [2020-07-10 15:30:50,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 336 states to 336 states and 490 transitions. [2020-07-10 15:30:50,374 INFO L78 Accepts]: Start accepts. Automaton has 336 states and 490 transitions. Word has length 72 [2020-07-10 15:30:50,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:30:50,375 INFO L479 AbstractCegarLoop]: Abstraction has 336 states and 490 transitions. [2020-07-10 15:30:50,375 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:30:50,375 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 490 transitions. [2020-07-10 15:30:50,377 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-10 15:30:50,377 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:30:50,377 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-10 15:30:50,378 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 15:30:50,378 INFO L427 AbstractCegarLoop]: === Iteration 4 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:30:50,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:30:50,378 INFO L82 PathProgramCache]: Analyzing trace with hash -2098500188, now seen corresponding path program 1 times [2020-07-10 15:30:50,379 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:30:50,379 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [802291300] [2020-07-10 15:30:50,379 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:30:50,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,564 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-10 15:30:50,565 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,565 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5022#true} {5022#true} #286#return; {5022#true} is VALID [2020-07-10 15:30:50,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,624 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-10 15:30:50,625 INFO L280 TraceCheckUtils]: 1: Hoare triple {5030#(<= 1 ~q_free~0)} assume true; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-10 15:30:50,627 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5030#(<= 1 ~q_free~0)} {5022#true} #262#return; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-10 15:30:50,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,667 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-10 15:30:50,668 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-10 15:30:50,669 INFO L280 TraceCheckUtils]: 2: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-10 15:30:50,670 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-10 15:30:50,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,703 INFO L280 TraceCheckUtils]: 0: Hoare triple {5022#true} havoc ~__retres1~2; {5022#true} is VALID [2020-07-10 15:30:50,704 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-10 15:30:50,704 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-10 15:30:50,705 INFO L280 TraceCheckUtils]: 3: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-10 15:30:50,707 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-10 15:30:50,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,790 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-10 15:30:50,791 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-10 15:30:50,792 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-10 15:30:50,793 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-10 15:30:50,793 INFO L280 TraceCheckUtils]: 4: Hoare triple {5075#(= 0 |old(~q_free~0)|)} assume true; {5075#(= 0 |old(~q_free~0)|)} is VALID [2020-07-10 15:30:50,794 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-10 15:30:50,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,822 INFO L280 TraceCheckUtils]: 0: Hoare triple {5022#true} havoc ~__retres1~0; {5022#true} is VALID [2020-07-10 15:30:50,823 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume 1 == ~p_dw_pc~0; {5022#true} is VALID [2020-07-10 15:30:50,823 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {5022#true} is VALID [2020-07-10 15:30:50,823 INFO L280 TraceCheckUtils]: 3: Hoare triple {5022#true} #res := ~__retres1~0; {5022#true} is VALID [2020-07-10 15:30:50,823 INFO L280 TraceCheckUtils]: 4: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,824 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5022#true} {5022#true} #268#return; {5022#true} is VALID [2020-07-10 15:30:50,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:30:50,831 INFO L280 TraceCheckUtils]: 0: Hoare triple {5022#true} havoc ~__retres1~1; {5022#true} is VALID [2020-07-10 15:30:50,832 INFO L280 TraceCheckUtils]: 1: Hoare triple {5022#true} assume 1 == ~c_dr_pc~0; {5022#true} is VALID [2020-07-10 15:30:50,832 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {5022#true} is VALID [2020-07-10 15:30:50,832 INFO L280 TraceCheckUtils]: 3: Hoare triple {5022#true} #res := ~__retres1~1; {5022#true} is VALID [2020-07-10 15:30:50,833 INFO L280 TraceCheckUtils]: 4: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,833 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5022#true} {5022#true} #270#return; {5022#true} is VALID [2020-07-10 15:30:50,837 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-10 15:30:50,837 INFO L263 TraceCheckUtils]: 1: Hoare triple {5022#true} call #t~ret0 := is_do_write_p_triggered(); {5022#true} is VALID [2020-07-10 15:30:50,837 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} havoc ~__retres1~0; {5022#true} is VALID [2020-07-10 15:30:50,838 INFO L280 TraceCheckUtils]: 3: Hoare triple {5022#true} assume 1 == ~p_dw_pc~0; {5022#true} is VALID [2020-07-10 15:30:50,838 INFO L280 TraceCheckUtils]: 4: Hoare triple {5022#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {5022#true} is VALID [2020-07-10 15:30:50,838 INFO L280 TraceCheckUtils]: 5: Hoare triple {5022#true} #res := ~__retres1~0; {5022#true} is VALID [2020-07-10 15:30:50,839 INFO L280 TraceCheckUtils]: 6: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,839 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5022#true} {5022#true} #268#return; {5022#true} is VALID [2020-07-10 15:30:50,839 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-10 15:30:50,839 INFO L280 TraceCheckUtils]: 9: Hoare triple {5022#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {5022#true} is VALID [2020-07-10 15:30:50,840 INFO L263 TraceCheckUtils]: 10: Hoare triple {5022#true} call #t~ret1 := is_do_read_c_triggered(); {5022#true} is VALID [2020-07-10 15:30:50,840 INFO L280 TraceCheckUtils]: 11: Hoare triple {5022#true} havoc ~__retres1~1; {5022#true} is VALID [2020-07-10 15:30:50,840 INFO L280 TraceCheckUtils]: 12: Hoare triple {5022#true} assume 1 == ~c_dr_pc~0; {5022#true} is VALID [2020-07-10 15:30:50,841 INFO L280 TraceCheckUtils]: 13: Hoare triple {5022#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {5022#true} is VALID [2020-07-10 15:30:50,841 INFO L280 TraceCheckUtils]: 14: Hoare triple {5022#true} #res := ~__retres1~1; {5022#true} is VALID [2020-07-10 15:30:50,841 INFO L280 TraceCheckUtils]: 15: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,848 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5022#true} {5022#true} #270#return; {5022#true} is VALID [2020-07-10 15:30:50,848 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-10 15:30:50,849 INFO L280 TraceCheckUtils]: 18: Hoare triple {5022#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {5022#true} is VALID [2020-07-10 15:30:50,849 INFO L280 TraceCheckUtils]: 19: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,849 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {5022#true} {5023#false} #290#return; {5023#false} is VALID [2020-07-10 15:30:50,855 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-10 15:30:50,855 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-10 15:30:50,855 INFO L280 TraceCheckUtils]: 2: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,856 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5022#true} {5022#true} #286#return; {5022#true} is VALID [2020-07-10 15:30:50,856 INFO L263 TraceCheckUtils]: 4: Hoare triple {5022#true} call #t~ret8 := main(); {5022#true} is VALID [2020-07-10 15:30:50,856 INFO L280 TraceCheckUtils]: 5: Hoare triple {5022#true} havoc ~__retres1~3; {5022#true} is VALID [2020-07-10 15:30:50,857 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-10 15:30:50,859 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-10 15:30:50,860 INFO L280 TraceCheckUtils]: 8: Hoare triple {5030#(<= 1 ~q_free~0)} assume true; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-10 15:30:50,861 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5030#(<= 1 ~q_free~0)} {5022#true} #262#return; {5030#(<= 1 ~q_free~0)} is VALID [2020-07-10 15:30:50,862 INFO L263 TraceCheckUtils]: 10: Hoare triple {5030#(<= 1 ~q_free~0)} call start_simulation(); {5030#(<= 1 ~q_free~0)} is VALID [2020-07-10 15:30:50,863 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-10 15:30:50,864 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-10 15:30:50,865 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-10 15:30:50,865 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-10 15:30:50,866 INFO L280 TraceCheckUtils]: 15: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-10 15:30:50,867 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-10 15:30:50,868 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-10 15:30:50,869 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-10 15:30:50,870 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-10 15:30:50,870 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-10 15:30:50,871 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-10 15:30:50,871 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-10 15:30:50,871 INFO L280 TraceCheckUtils]: 23: Hoare triple {5022#true} havoc ~__retres1~2; {5022#true} is VALID [2020-07-10 15:30:50,872 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-10 15:30:50,873 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-10 15:30:50,874 INFO L280 TraceCheckUtils]: 26: Hoare triple {5072#(= 0 ~p_dw_st~0)} assume true; {5072#(= 0 ~p_dw_st~0)} is VALID [2020-07-10 15:30:50,875 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-10 15:30:50,879 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-10 15:30:50,879 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-10 15:30:50,880 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-10 15:30:50,880 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-10 15:30:50,882 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-10 15:30:50,883 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-10 15:30:50,884 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-10 15:30:50,884 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-10 15:30:50,885 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-10 15:30:50,885 INFO L280 TraceCheckUtils]: 37: Hoare triple {5075#(= 0 |old(~q_free~0)|)} assume true; {5075#(= 0 |old(~q_free~0)|)} is VALID [2020-07-10 15:30:50,886 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-10 15:30:50,887 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-10 15:30:50,887 INFO L280 TraceCheckUtils]: 40: Hoare triple {5023#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {5023#false} is VALID [2020-07-10 15:30:50,887 INFO L263 TraceCheckUtils]: 41: Hoare triple {5023#false} call do_read_c(); {5023#false} is VALID [2020-07-10 15:30:50,887 INFO L280 TraceCheckUtils]: 42: Hoare triple {5023#false} havoc ~a~0; {5023#false} is VALID [2020-07-10 15:30:50,888 INFO L280 TraceCheckUtils]: 43: Hoare triple {5023#false} assume 0 == ~c_dr_pc~0; {5023#false} is VALID [2020-07-10 15:30:50,888 INFO L280 TraceCheckUtils]: 44: Hoare triple {5023#false} assume !false; {5023#false} is VALID [2020-07-10 15:30:50,888 INFO L280 TraceCheckUtils]: 45: Hoare triple {5023#false} assume !(1 == ~q_free~0); {5023#false} is VALID [2020-07-10 15:30:50,888 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-10 15:30:50,889 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-10 15:30:50,889 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-10 15:30:50,889 INFO L263 TraceCheckUtils]: 49: Hoare triple {5022#true} call #t~ret0 := is_do_write_p_triggered(); {5022#true} is VALID [2020-07-10 15:30:50,889 INFO L280 TraceCheckUtils]: 50: Hoare triple {5022#true} havoc ~__retres1~0; {5022#true} is VALID [2020-07-10 15:30:50,890 INFO L280 TraceCheckUtils]: 51: Hoare triple {5022#true} assume 1 == ~p_dw_pc~0; {5022#true} is VALID [2020-07-10 15:30:50,890 INFO L280 TraceCheckUtils]: 52: Hoare triple {5022#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {5022#true} is VALID [2020-07-10 15:30:50,890 INFO L280 TraceCheckUtils]: 53: Hoare triple {5022#true} #res := ~__retres1~0; {5022#true} is VALID [2020-07-10 15:30:50,891 INFO L280 TraceCheckUtils]: 54: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,891 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {5022#true} {5022#true} #268#return; {5022#true} is VALID [2020-07-10 15:30:50,891 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-10 15:30:50,891 INFO L280 TraceCheckUtils]: 57: Hoare triple {5022#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {5022#true} is VALID [2020-07-10 15:30:50,892 INFO L263 TraceCheckUtils]: 58: Hoare triple {5022#true} call #t~ret1 := is_do_read_c_triggered(); {5022#true} is VALID [2020-07-10 15:30:50,892 INFO L280 TraceCheckUtils]: 59: Hoare triple {5022#true} havoc ~__retres1~1; {5022#true} is VALID [2020-07-10 15:30:50,892 INFO L280 TraceCheckUtils]: 60: Hoare triple {5022#true} assume 1 == ~c_dr_pc~0; {5022#true} is VALID [2020-07-10 15:30:50,892 INFO L280 TraceCheckUtils]: 61: Hoare triple {5022#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {5022#true} is VALID [2020-07-10 15:30:50,894 INFO L280 TraceCheckUtils]: 62: Hoare triple {5022#true} #res := ~__retres1~1; {5022#true} is VALID [2020-07-10 15:30:50,894 INFO L280 TraceCheckUtils]: 63: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,894 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {5022#true} {5022#true} #270#return; {5022#true} is VALID [2020-07-10 15:30:50,895 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-10 15:30:50,895 INFO L280 TraceCheckUtils]: 66: Hoare triple {5022#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {5022#true} is VALID [2020-07-10 15:30:50,895 INFO L280 TraceCheckUtils]: 67: Hoare triple {5022#true} assume true; {5022#true} is VALID [2020-07-10 15:30:50,895 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {5022#true} {5023#false} #290#return; {5023#false} is VALID [2020-07-10 15:30:50,896 INFO L280 TraceCheckUtils]: 69: Hoare triple {5023#false} ~q_read_ev~0 := 2; {5023#false} is VALID [2020-07-10 15:30:50,896 INFO L280 TraceCheckUtils]: 70: Hoare triple {5023#false} assume !(~p_last_write~0 == ~c_last_read~0); {5023#false} is VALID [2020-07-10 15:30:50,896 INFO L263 TraceCheckUtils]: 71: Hoare triple {5023#false} call error(); {5023#false} is VALID [2020-07-10 15:30:50,896 INFO L280 TraceCheckUtils]: 72: Hoare triple {5023#false} assume !false; {5023#false} is VALID [2020-07-10 15:30:50,905 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-10 15:30:50,905 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [802291300] [2020-07-10 15:30:50,905 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:30:50,906 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-10 15:30:50,906 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [648142436] [2020-07-10 15:30:50,908 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 73 [2020-07-10 15:30:50,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:30:50,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-10 15:30:50,996 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-10 15:30:50,996 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-10 15:30:50,996 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:30:50,997 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-10 15:30:50,997 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2020-07-10 15:30:50,997 INFO L87 Difference]: Start difference. First operand 336 states and 490 transitions. Second operand 12 states. [2020-07-10 15:31:02,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:02,454 INFO L93 Difference]: Finished difference Result 873 states and 1358 transitions. [2020-07-10 15:31:02,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2020-07-10 15:31:02,454 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 73 [2020-07-10 15:31:02,454 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:31:02,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 15:31:02,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 841 transitions. [2020-07-10 15:31:02,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-10 15:31:02,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 841 transitions. [2020-07-10 15:31:02,490 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 841 transitions. [2020-07-10 15:31:04,295 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-10 15:31:04,354 INFO L225 Difference]: With dead ends: 873 [2020-07-10 15:31:04,354 INFO L226 Difference]: Without dead ends: 554 [2020-07-10 15:31:04,359 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 277 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=278, Invalid=912, Unknown=0, NotChecked=0, Total=1190 [2020-07-10 15:31:04,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 554 states. [2020-07-10 15:31:05,349 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 554 to 211. [2020-07-10 15:31:05,350 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:31:05,350 INFO L82 GeneralOperation]: Start isEquivalent. First operand 554 states. Second operand 211 states. [2020-07-10 15:31:05,350 INFO L74 IsIncluded]: Start isIncluded. First operand 554 states. Second operand 211 states. [2020-07-10 15:31:05,351 INFO L87 Difference]: Start difference. First operand 554 states. Second operand 211 states. [2020-07-10 15:31:05,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:05,479 INFO L93 Difference]: Finished difference Result 554 states and 832 transitions. [2020-07-10 15:31:05,479 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 832 transitions. [2020-07-10 15:31:05,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:05,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:05,488 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand 554 states. [2020-07-10 15:31:05,488 INFO L87 Difference]: Start difference. First operand 211 states. Second operand 554 states. [2020-07-10 15:31:05,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:05,545 INFO L93 Difference]: Finished difference Result 554 states and 832 transitions. [2020-07-10 15:31:05,545 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 832 transitions. [2020-07-10 15:31:05,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:05,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:05,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:31:05,553 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:31:05,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 211 states. [2020-07-10 15:31:05,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 211 states to 211 states and 276 transitions. [2020-07-10 15:31:05,567 INFO L78 Accepts]: Start accepts. Automaton has 211 states and 276 transitions. Word has length 73 [2020-07-10 15:31:05,568 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:31:05,568 INFO L479 AbstractCegarLoop]: Abstraction has 211 states and 276 transitions. [2020-07-10 15:31:05,568 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-10 15:31:05,569 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 276 transitions. [2020-07-10 15:31:05,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-10 15:31:05,570 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:31:05,571 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-10 15:31:05,571 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 15:31:05,572 INFO L427 AbstractCegarLoop]: === Iteration 5 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:31:05,573 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:31:05,573 INFO L82 PathProgramCache]: Analyzing trace with hash -708931582, now seen corresponding path program 1 times [2020-07-10 15:31:05,574 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:31:05,574 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1527596680] [2020-07-10 15:31:05,574 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:31:05,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,799 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-10 15:31:05,799 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:05,802 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7786#true} {7786#true} #286#return; {7786#true} is VALID [2020-07-10 15:31:05,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,878 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-10 15:31:05,879 INFO L280 TraceCheckUtils]: 1: Hoare triple {7827#(<= ~p_dw_pc~0 0)} assume true; {7827#(<= ~p_dw_pc~0 0)} is VALID [2020-07-10 15:31:05,880 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-10 15:31:05,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,904 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-10 15:31:05,904 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-10 15:31:05,905 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:05,906 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-10 15:31:05,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,912 INFO L280 TraceCheckUtils]: 0: Hoare triple {7786#true} havoc ~__retres1~2; {7786#true} is VALID [2020-07-10 15:31:05,913 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {7786#true} is VALID [2020-07-10 15:31:05,913 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} #res := ~__retres1~2; {7786#true} is VALID [2020-07-10 15:31:05,914 INFO L280 TraceCheckUtils]: 3: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:05,915 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-10 15:31:05,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,952 INFO L280 TraceCheckUtils]: 0: Hoare triple {7786#true} havoc ~__retres1~0; {7786#true} is VALID [2020-07-10 15:31:05,953 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 1 == ~p_dw_pc~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:05,953 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-10 15:31:05,955 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-10 15:31:05,955 INFO L280 TraceCheckUtils]: 4: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:05,956 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-10 15:31:05,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:05,965 INFO L280 TraceCheckUtils]: 0: Hoare triple {7786#true} havoc ~__retres1~1; {7786#true} is VALID [2020-07-10 15:31:05,966 INFO L280 TraceCheckUtils]: 1: Hoare triple {7786#true} assume 1 == ~c_dr_pc~0; {7786#true} is VALID [2020-07-10 15:31:05,966 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {7786#true} is VALID [2020-07-10 15:31:05,967 INFO L280 TraceCheckUtils]: 3: Hoare triple {7786#true} #res := ~__retres1~1; {7786#true} is VALID [2020-07-10 15:31:05,967 INFO L280 TraceCheckUtils]: 4: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:05,968 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-10 15:31:05,969 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-10 15:31:05,969 INFO L263 TraceCheckUtils]: 1: Hoare triple {7786#true} call #t~ret0 := is_do_write_p_triggered(); {7786#true} is VALID [2020-07-10 15:31:05,969 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} havoc ~__retres1~0; {7786#true} is VALID [2020-07-10 15:31:05,971 INFO L280 TraceCheckUtils]: 3: Hoare triple {7786#true} assume 1 == ~p_dw_pc~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:05,972 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-10 15:31:05,977 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-10 15:31:05,978 INFO L280 TraceCheckUtils]: 6: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:05,979 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-10 15:31:05,980 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-10 15:31:05,981 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-10 15:31:05,981 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-10 15:31:05,982 INFO L280 TraceCheckUtils]: 11: Hoare triple {7786#true} havoc ~__retres1~1; {7786#true} is VALID [2020-07-10 15:31:05,982 INFO L280 TraceCheckUtils]: 12: Hoare triple {7786#true} assume 1 == ~c_dr_pc~0; {7786#true} is VALID [2020-07-10 15:31:05,982 INFO L280 TraceCheckUtils]: 13: Hoare triple {7786#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {7786#true} is VALID [2020-07-10 15:31:05,983 INFO L280 TraceCheckUtils]: 14: Hoare triple {7786#true} #res := ~__retres1~1; {7786#true} is VALID [2020-07-10 15:31:05,983 INFO L280 TraceCheckUtils]: 15: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:05,984 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-10 15:31:05,985 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-10 15:31:05,986 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-10 15:31:05,987 INFO L280 TraceCheckUtils]: 19: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:05,988 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-10 15:31:05,991 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-10 15:31:05,992 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-10 15:31:05,992 INFO L280 TraceCheckUtils]: 2: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:05,992 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7786#true} {7786#true} #286#return; {7786#true} is VALID [2020-07-10 15:31:05,993 INFO L263 TraceCheckUtils]: 4: Hoare triple {7786#true} call #t~ret8 := main(); {7786#true} is VALID [2020-07-10 15:31:05,993 INFO L280 TraceCheckUtils]: 5: Hoare triple {7786#true} havoc ~__retres1~3; {7786#true} is VALID [2020-07-10 15:31:05,995 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-10 15:31:05,996 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-10 15:31:05,997 INFO L280 TraceCheckUtils]: 8: Hoare triple {7827#(<= ~p_dw_pc~0 0)} assume true; {7827#(<= ~p_dw_pc~0 0)} is VALID [2020-07-10 15:31:05,998 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-10 15:31:05,999 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-10 15:31:05,999 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-10 15:31:06,001 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-10 15:31:06,001 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-10 15:31:06,001 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-10 15:31:06,002 INFO L280 TraceCheckUtils]: 15: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:06,002 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-10 15:31:06,003 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-10 15:31:06,004 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-10 15:31:06,005 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-10 15:31:06,006 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-10 15:31:06,007 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-10 15:31:06,007 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-10 15:31:06,007 INFO L280 TraceCheckUtils]: 23: Hoare triple {7786#true} havoc ~__retres1~2; {7786#true} is VALID [2020-07-10 15:31:06,007 INFO L280 TraceCheckUtils]: 24: Hoare triple {7786#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {7786#true} is VALID [2020-07-10 15:31:06,008 INFO L280 TraceCheckUtils]: 25: Hoare triple {7786#true} #res := ~__retres1~2; {7786#true} is VALID [2020-07-10 15:31:06,008 INFO L280 TraceCheckUtils]: 26: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:06,009 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-10 15:31:06,010 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-10 15:31:06,011 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-10 15:31:06,012 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-10 15:31:06,012 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-10 15:31:06,013 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-10 15:31:06,014 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-10 15:31:06,015 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-10 15:31:06,016 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-10 15:31:06,016 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-10 15:31:06,017 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-10 15:31:06,018 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-10 15:31:06,019 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-10 15:31:06,020 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-10 15:31:06,020 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-10 15:31:06,020 INFO L263 TraceCheckUtils]: 42: Hoare triple {7786#true} call #t~ret0 := is_do_write_p_triggered(); {7786#true} is VALID [2020-07-10 15:31:06,021 INFO L280 TraceCheckUtils]: 43: Hoare triple {7786#true} havoc ~__retres1~0; {7786#true} is VALID [2020-07-10 15:31:06,021 INFO L280 TraceCheckUtils]: 44: Hoare triple {7786#true} assume 1 == ~p_dw_pc~0; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:06,022 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-10 15:31:06,023 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-10 15:31:06,024 INFO L280 TraceCheckUtils]: 47: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:06,025 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-10 15:31:06,025 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-10 15:31:06,026 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-10 15:31:06,027 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-10 15:31:06,027 INFO L280 TraceCheckUtils]: 52: Hoare triple {7786#true} havoc ~__retres1~1; {7786#true} is VALID [2020-07-10 15:31:06,027 INFO L280 TraceCheckUtils]: 53: Hoare triple {7786#true} assume 1 == ~c_dr_pc~0; {7786#true} is VALID [2020-07-10 15:31:06,027 INFO L280 TraceCheckUtils]: 54: Hoare triple {7786#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {7786#true} is VALID [2020-07-10 15:31:06,028 INFO L280 TraceCheckUtils]: 55: Hoare triple {7786#true} #res := ~__retres1~1; {7786#true} is VALID [2020-07-10 15:31:06,028 INFO L280 TraceCheckUtils]: 56: Hoare triple {7786#true} assume true; {7786#true} is VALID [2020-07-10 15:31:06,029 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-10 15:31:06,030 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-10 15:31:06,031 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-10 15:31:06,031 INFO L280 TraceCheckUtils]: 60: Hoare triple {7835#(= 1 ~p_dw_pc~0)} assume true; {7835#(= 1 ~p_dw_pc~0)} is VALID [2020-07-10 15:31:06,032 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-10 15:31:06,033 INFO L280 TraceCheckUtils]: 62: Hoare triple {7787#false} ~q_read_ev~0 := 2; {7787#false} is VALID [2020-07-10 15:31:06,033 INFO L280 TraceCheckUtils]: 63: Hoare triple {7787#false} assume !(~p_last_write~0 == ~c_last_read~0); {7787#false} is VALID [2020-07-10 15:31:06,033 INFO L263 TraceCheckUtils]: 64: Hoare triple {7787#false} call error(); {7787#false} is VALID [2020-07-10 15:31:06,034 INFO L280 TraceCheckUtils]: 65: Hoare triple {7787#false} assume !false; {7787#false} is VALID [2020-07-10 15:31:06,044 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-10 15:31:06,045 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1527596680] [2020-07-10 15:31:06,045 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:31:06,045 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 15:31:06,046 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [377368345] [2020-07-10 15:31:06,046 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 66 [2020-07-10 15:31:06,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:31:06,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 15:31:06,144 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-10 15:31:06,144 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 15:31:06,144 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:31:06,145 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 15:31:06,145 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-10 15:31:06,145 INFO L87 Difference]: Start difference. First operand 211 states and 276 transitions. Second operand 8 states. [2020-07-10 15:31:11,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:11,586 INFO L93 Difference]: Finished difference Result 612 states and 874 transitions. [2020-07-10 15:31:11,586 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 15:31:11,586 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 66 [2020-07-10 15:31:11,586 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:31:11,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:31:11,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 466 transitions. [2020-07-10 15:31:11,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:31:11,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 466 transitions. [2020-07-10 15:31:11,600 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 466 transitions. [2020-07-10 15:31:12,331 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-10 15:31:12,350 INFO L225 Difference]: With dead ends: 612 [2020-07-10 15:31:12,350 INFO L226 Difference]: Without dead ends: 418 [2020-07-10 15:31:12,352 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-10 15:31:12,353 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 418 states. [2020-07-10 15:31:13,405 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 418 to 323. [2020-07-10 15:31:13,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:31:13,406 INFO L82 GeneralOperation]: Start isEquivalent. First operand 418 states. Second operand 323 states. [2020-07-10 15:31:13,406 INFO L74 IsIncluded]: Start isIncluded. First operand 418 states. Second operand 323 states. [2020-07-10 15:31:13,406 INFO L87 Difference]: Start difference. First operand 418 states. Second operand 323 states. [2020-07-10 15:31:13,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:13,427 INFO L93 Difference]: Finished difference Result 418 states and 565 transitions. [2020-07-10 15:31:13,427 INFO L276 IsEmpty]: Start isEmpty. Operand 418 states and 565 transitions. [2020-07-10 15:31:13,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:13,430 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:13,430 INFO L74 IsIncluded]: Start isIncluded. First operand 323 states. Second operand 418 states. [2020-07-10 15:31:13,430 INFO L87 Difference]: Start difference. First operand 323 states. Second operand 418 states. [2020-07-10 15:31:13,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:13,452 INFO L93 Difference]: Finished difference Result 418 states and 565 transitions. [2020-07-10 15:31:13,452 INFO L276 IsEmpty]: Start isEmpty. Operand 418 states and 565 transitions. [2020-07-10 15:31:13,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:13,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:13,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:31:13,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:31:13,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 323 states. [2020-07-10 15:31:13,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 323 states to 323 states and 419 transitions. [2020-07-10 15:31:13,471 INFO L78 Accepts]: Start accepts. Automaton has 323 states and 419 transitions. Word has length 66 [2020-07-10 15:31:13,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:31:13,472 INFO L479 AbstractCegarLoop]: Abstraction has 323 states and 419 transitions. [2020-07-10 15:31:13,472 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 15:31:13,472 INFO L276 IsEmpty]: Start isEmpty. Operand 323 states and 419 transitions. [2020-07-10 15:31:13,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-10 15:31:13,473 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:31:13,473 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-10 15:31:13,474 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 15:31:13,474 INFO L427 AbstractCegarLoop]: === Iteration 6 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:31:13,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:31:13,474 INFO L82 PathProgramCache]: Analyzing trace with hash -822318239, now seen corresponding path program 1 times [2020-07-10 15:31:13,475 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:31:13,475 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1506892701] [2020-07-10 15:31:13,475 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:31:13,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,578 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-10 15:31:13,579 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,579 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {10001#true} {10001#true} #286#return; {10001#true} is VALID [2020-07-10 15:31:13,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,621 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-10 15:31:13,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,621 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {10001#true} {10001#true} #262#return; {10001#true} is VALID [2020-07-10 15:31:13,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,640 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-10 15:31:13,641 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-10 15:31:13,641 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,641 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10001#true} {10001#true} #280#return; {10001#true} is VALID [2020-07-10 15:31:13,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,650 INFO L280 TraceCheckUtils]: 0: Hoare triple {10001#true} havoc ~__retres1~2; {10001#true} is VALID [2020-07-10 15:31:13,650 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {10001#true} is VALID [2020-07-10 15:31:13,650 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} #res := ~__retres1~2; {10001#true} is VALID [2020-07-10 15:31:13,651 INFO L280 TraceCheckUtils]: 3: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,651 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10001#true} {10001#true} #272#return; {10001#true} is VALID [2020-07-10 15:31:13,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,774 INFO L280 TraceCheckUtils]: 0: Hoare triple {10001#true} havoc ~__retres1~0; {10001#true} is VALID [2020-07-10 15:31:13,774 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume !(1 == ~p_dw_pc~0); {10001#true} is VALID [2020-07-10 15:31:13,776 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-10 15:31:13,777 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-10 15:31:13,778 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-10 15:31:13,780 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-10 15:31:13,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:13,791 INFO L280 TraceCheckUtils]: 0: Hoare triple {10001#true} havoc ~__retres1~1; {10001#true} is VALID [2020-07-10 15:31:13,792 INFO L280 TraceCheckUtils]: 1: Hoare triple {10001#true} assume 1 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-10 15:31:13,792 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {10001#true} is VALID [2020-07-10 15:31:13,792 INFO L280 TraceCheckUtils]: 3: Hoare triple {10001#true} #res := ~__retres1~1; {10001#true} is VALID [2020-07-10 15:31:13,792 INFO L280 TraceCheckUtils]: 4: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,793 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10001#true} {10002#false} #270#return; {10002#false} is VALID [2020-07-10 15:31:13,793 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-10 15:31:13,794 INFO L263 TraceCheckUtils]: 1: Hoare triple {10001#true} call #t~ret0 := is_do_write_p_triggered(); {10001#true} is VALID [2020-07-10 15:31:13,794 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} havoc ~__retres1~0; {10001#true} is VALID [2020-07-10 15:31:13,794 INFO L280 TraceCheckUtils]: 3: Hoare triple {10001#true} assume !(1 == ~p_dw_pc~0); {10001#true} is VALID [2020-07-10 15:31:13,796 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-10 15:31:13,797 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-10 15:31:13,798 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-10 15:31:13,800 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-10 15:31:13,801 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-10 15:31:13,802 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-10 15:31:13,803 INFO L263 TraceCheckUtils]: 10: Hoare triple {10002#false} call #t~ret1 := is_do_read_c_triggered(); {10001#true} is VALID [2020-07-10 15:31:13,803 INFO L280 TraceCheckUtils]: 11: Hoare triple {10001#true} havoc ~__retres1~1; {10001#true} is VALID [2020-07-10 15:31:13,803 INFO L280 TraceCheckUtils]: 12: Hoare triple {10001#true} assume 1 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-10 15:31:13,804 INFO L280 TraceCheckUtils]: 13: Hoare triple {10001#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {10001#true} is VALID [2020-07-10 15:31:13,804 INFO L280 TraceCheckUtils]: 14: Hoare triple {10001#true} #res := ~__retres1~1; {10001#true} is VALID [2020-07-10 15:31:13,804 INFO L280 TraceCheckUtils]: 15: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,804 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {10001#true} {10002#false} #270#return; {10002#false} is VALID [2020-07-10 15:31:13,804 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-10 15:31:13,805 INFO L280 TraceCheckUtils]: 18: Hoare triple {10002#false} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {10002#false} is VALID [2020-07-10 15:31:13,805 INFO L280 TraceCheckUtils]: 19: Hoare triple {10002#false} assume true; {10002#false} is VALID [2020-07-10 15:31:13,805 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {10002#false} {10001#true} #290#return; {10002#false} is VALID [2020-07-10 15:31:13,825 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-10 15:31:13,825 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-10 15:31:13,825 INFO L280 TraceCheckUtils]: 2: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,826 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10001#true} {10001#true} #286#return; {10001#true} is VALID [2020-07-10 15:31:13,826 INFO L263 TraceCheckUtils]: 4: Hoare triple {10001#true} call #t~ret8 := main(); {10001#true} is VALID [2020-07-10 15:31:13,826 INFO L280 TraceCheckUtils]: 5: Hoare triple {10001#true} havoc ~__retres1~3; {10001#true} is VALID [2020-07-10 15:31:13,828 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-10 15:31:13,828 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-10 15:31:13,828 INFO L280 TraceCheckUtils]: 8: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,829 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {10001#true} {10001#true} #262#return; {10001#true} is VALID [2020-07-10 15:31:13,829 INFO L263 TraceCheckUtils]: 10: Hoare triple {10001#true} call start_simulation(); {10001#true} is VALID [2020-07-10 15:31:13,829 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-10 15:31:13,830 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-10 15:31:13,830 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-10 15:31:13,830 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-10 15:31:13,831 INFO L280 TraceCheckUtils]: 15: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,831 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {10001#true} {10001#true} #280#return; {10001#true} is VALID [2020-07-10 15:31:13,831 INFO L280 TraceCheckUtils]: 17: Hoare triple {10001#true} assume !false; {10001#true} is VALID [2020-07-10 15:31:13,831 INFO L280 TraceCheckUtils]: 18: Hoare triple {10001#true} ~kernel_st~0 := 1; {10001#true} is VALID [2020-07-10 15:31:13,831 INFO L263 TraceCheckUtils]: 19: Hoare triple {10001#true} call eval(); {10001#true} is VALID [2020-07-10 15:31:13,831 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-10 15:31:13,832 INFO L280 TraceCheckUtils]: 21: Hoare triple {10001#true} assume !false; {10001#true} is VALID [2020-07-10 15:31:13,832 INFO L263 TraceCheckUtils]: 22: Hoare triple {10001#true} call #t~ret3 := exists_runnable_thread(); {10001#true} is VALID [2020-07-10 15:31:13,832 INFO L280 TraceCheckUtils]: 23: Hoare triple {10001#true} havoc ~__retres1~2; {10001#true} is VALID [2020-07-10 15:31:13,832 INFO L280 TraceCheckUtils]: 24: Hoare triple {10001#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {10001#true} is VALID [2020-07-10 15:31:13,833 INFO L280 TraceCheckUtils]: 25: Hoare triple {10001#true} #res := ~__retres1~2; {10001#true} is VALID [2020-07-10 15:31:13,833 INFO L280 TraceCheckUtils]: 26: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,833 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {10001#true} {10001#true} #272#return; {10001#true} is VALID [2020-07-10 15:31:13,833 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-10 15:31:13,834 INFO L280 TraceCheckUtils]: 29: Hoare triple {10001#true} assume 0 != ~tmp___1~0; {10001#true} is VALID [2020-07-10 15:31:13,834 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-10 15:31:13,834 INFO L280 TraceCheckUtils]: 31: Hoare triple {10001#true} assume !(0 != ~tmp~1); {10001#true} is VALID [2020-07-10 15:31:13,834 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-10 15:31:13,834 INFO L280 TraceCheckUtils]: 33: Hoare triple {10001#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {10001#true} is VALID [2020-07-10 15:31:13,834 INFO L263 TraceCheckUtils]: 34: Hoare triple {10001#true} call do_read_c(); {10001#true} is VALID [2020-07-10 15:31:13,835 INFO L280 TraceCheckUtils]: 35: Hoare triple {10001#true} havoc ~a~0; {10001#true} is VALID [2020-07-10 15:31:13,835 INFO L280 TraceCheckUtils]: 36: Hoare triple {10001#true} assume 0 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-10 15:31:13,835 INFO L280 TraceCheckUtils]: 37: Hoare triple {10001#true} assume !false; {10001#true} is VALID [2020-07-10 15:31:13,835 INFO L280 TraceCheckUtils]: 38: Hoare triple {10001#true} assume !(1 == ~q_free~0); {10001#true} is VALID [2020-07-10 15:31:13,835 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-10 15:31:13,836 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-10 15:31:13,837 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-10 15:31:13,837 INFO L263 TraceCheckUtils]: 42: Hoare triple {10001#true} call #t~ret0 := is_do_write_p_triggered(); {10001#true} is VALID [2020-07-10 15:31:13,837 INFO L280 TraceCheckUtils]: 43: Hoare triple {10001#true} havoc ~__retres1~0; {10001#true} is VALID [2020-07-10 15:31:13,837 INFO L280 TraceCheckUtils]: 44: Hoare triple {10001#true} assume !(1 == ~p_dw_pc~0); {10001#true} is VALID [2020-07-10 15:31:13,838 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-10 15:31:13,839 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-10 15:31:13,839 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-10 15:31:13,840 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-10 15:31:13,842 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-10 15:31:13,843 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-10 15:31:13,843 INFO L263 TraceCheckUtils]: 51: Hoare triple {10002#false} call #t~ret1 := is_do_read_c_triggered(); {10001#true} is VALID [2020-07-10 15:31:13,843 INFO L280 TraceCheckUtils]: 52: Hoare triple {10001#true} havoc ~__retres1~1; {10001#true} is VALID [2020-07-10 15:31:13,843 INFO L280 TraceCheckUtils]: 53: Hoare triple {10001#true} assume 1 == ~c_dr_pc~0; {10001#true} is VALID [2020-07-10 15:31:13,844 INFO L280 TraceCheckUtils]: 54: Hoare triple {10001#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {10001#true} is VALID [2020-07-10 15:31:13,844 INFO L280 TraceCheckUtils]: 55: Hoare triple {10001#true} #res := ~__retres1~1; {10001#true} is VALID [2020-07-10 15:31:13,844 INFO L280 TraceCheckUtils]: 56: Hoare triple {10001#true} assume true; {10001#true} is VALID [2020-07-10 15:31:13,844 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {10001#true} {10002#false} #270#return; {10002#false} is VALID [2020-07-10 15:31:13,844 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-10 15:31:13,844 INFO L280 TraceCheckUtils]: 59: Hoare triple {10002#false} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {10002#false} is VALID [2020-07-10 15:31:13,845 INFO L280 TraceCheckUtils]: 60: Hoare triple {10002#false} assume true; {10002#false} is VALID [2020-07-10 15:31:13,845 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {10002#false} {10001#true} #290#return; {10002#false} is VALID [2020-07-10 15:31:13,845 INFO L280 TraceCheckUtils]: 62: Hoare triple {10002#false} ~q_read_ev~0 := 2; {10002#false} is VALID [2020-07-10 15:31:13,845 INFO L280 TraceCheckUtils]: 63: Hoare triple {10002#false} assume !(~p_last_write~0 == ~c_last_read~0); {10002#false} is VALID [2020-07-10 15:31:13,845 INFO L263 TraceCheckUtils]: 64: Hoare triple {10002#false} call error(); {10002#false} is VALID [2020-07-10 15:31:13,846 INFO L280 TraceCheckUtils]: 65: Hoare triple {10002#false} assume !false; {10002#false} is VALID [2020-07-10 15:31:13,851 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-10 15:31:13,852 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1506892701] [2020-07-10 15:31:13,854 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:31:13,854 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 15:31:13,854 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239028189] [2020-07-10 15:31:13,855 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-10 15:31:13,855 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:31:13,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:31:13,930 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-10 15:31:13,930 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:31:13,930 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:31:13,931 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:31:13,931 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:31:13,931 INFO L87 Difference]: Start difference. First operand 323 states and 419 transitions. Second operand 9 states. [2020-07-10 15:31:18,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:18,407 INFO L93 Difference]: Finished difference Result 727 states and 1002 transitions. [2020-07-10 15:31:18,407 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-10 15:31:18,407 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-10 15:31:18,408 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:31:18,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:31:18,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 313 transitions. [2020-07-10 15:31:18,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:31:18,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 313 transitions. [2020-07-10 15:31:18,418 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 313 transitions. [2020-07-10 15:31:18,935 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-10 15:31:18,955 INFO L225 Difference]: With dead ends: 727 [2020-07-10 15:31:18,956 INFO L226 Difference]: Without dead ends: 421 [2020-07-10 15:31:18,958 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-10 15:31:18,959 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 421 states. [2020-07-10 15:31:20,079 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 421 to 341. [2020-07-10 15:31:20,080 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:31:20,080 INFO L82 GeneralOperation]: Start isEquivalent. First operand 421 states. Second operand 341 states. [2020-07-10 15:31:20,080 INFO L74 IsIncluded]: Start isIncluded. First operand 421 states. Second operand 341 states. [2020-07-10 15:31:20,080 INFO L87 Difference]: Start difference. First operand 421 states. Second operand 341 states. [2020-07-10 15:31:20,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:20,102 INFO L93 Difference]: Finished difference Result 421 states and 563 transitions. [2020-07-10 15:31:20,103 INFO L276 IsEmpty]: Start isEmpty. Operand 421 states and 563 transitions. [2020-07-10 15:31:20,105 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:20,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:20,105 INFO L74 IsIncluded]: Start isIncluded. First operand 341 states. Second operand 421 states. [2020-07-10 15:31:20,105 INFO L87 Difference]: Start difference. First operand 341 states. Second operand 421 states. [2020-07-10 15:31:20,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:20,123 INFO L93 Difference]: Finished difference Result 421 states and 563 transitions. [2020-07-10 15:31:20,123 INFO L276 IsEmpty]: Start isEmpty. Operand 421 states and 563 transitions. [2020-07-10 15:31:20,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:20,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:20,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:31:20,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:31:20,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 341 states. [2020-07-10 15:31:20,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 437 transitions. [2020-07-10 15:31:20,139 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 437 transitions. Word has length 66 [2020-07-10 15:31:20,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:31:20,139 INFO L479 AbstractCegarLoop]: Abstraction has 341 states and 437 transitions. [2020-07-10 15:31:20,139 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:31:20,140 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 437 transitions. [2020-07-10 15:31:20,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-10 15:31:20,140 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:31:20,141 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-10 15:31:20,141 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 15:31:20,141 INFO L427 AbstractCegarLoop]: === Iteration 7 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:31:20,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:31:20,143 INFO L82 PathProgramCache]: Analyzing trace with hash -1843386593, now seen corresponding path program 1 times [2020-07-10 15:31:20,143 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:31:20,143 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [807932191] [2020-07-10 15:31:20,143 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:31:20,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,269 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-10 15:31:20,270 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,270 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {12392#true} {12392#true} #286#return; {12392#true} is VALID [2020-07-10 15:31:20,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,311 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-10 15:31:20,312 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,312 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {12392#true} {12392#true} #262#return; {12392#true} is VALID [2020-07-10 15:31:20,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,343 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-10 15:31:20,344 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-10 15:31:20,344 INFO L280 TraceCheckUtils]: 2: Hoare triple {12435#(<= ~p_dw_st~0 0)} assume true; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:31:20,345 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-10 15:31:20,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,350 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#true} havoc ~__retres1~2; {12392#true} is VALID [2020-07-10 15:31:20,350 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {12392#true} is VALID [2020-07-10 15:31:20,351 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} #res := ~__retres1~2; {12392#true} is VALID [2020-07-10 15:31:20,351 INFO L280 TraceCheckUtils]: 3: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,351 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12392#true} {12404#(not (= 1 ~p_dw_st~0))} #272#return; {12392#true} is VALID [2020-07-10 15:31:20,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,387 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#true} havoc ~__retres1~0; {12392#true} is VALID [2020-07-10 15:31:20,388 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume !(1 == ~p_dw_pc~0); {12392#true} is VALID [2020-07-10 15:31:20,388 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} ~__retres1~0 := 0; {12392#true} is VALID [2020-07-10 15:31:20,388 INFO L280 TraceCheckUtils]: 3: Hoare triple {12392#true} #res := ~__retres1~0; {12392#true} is VALID [2020-07-10 15:31:20,389 INFO L280 TraceCheckUtils]: 4: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,389 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12392#true} {12392#true} #268#return; {12392#true} is VALID [2020-07-10 15:31:20,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:20,398 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#true} havoc ~__retres1~1; {12392#true} is VALID [2020-07-10 15:31:20,399 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#true} assume 1 == ~c_dr_pc~0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,401 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-10 15:31:20,403 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-10 15:31:20,404 INFO L280 TraceCheckUtils]: 4: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,405 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-10 15:31:20,405 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-10 15:31:20,405 INFO L263 TraceCheckUtils]: 1: Hoare triple {12392#true} call #t~ret0 := is_do_write_p_triggered(); {12392#true} is VALID [2020-07-10 15:31:20,405 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} havoc ~__retres1~0; {12392#true} is VALID [2020-07-10 15:31:20,405 INFO L280 TraceCheckUtils]: 3: Hoare triple {12392#true} assume !(1 == ~p_dw_pc~0); {12392#true} is VALID [2020-07-10 15:31:20,406 INFO L280 TraceCheckUtils]: 4: Hoare triple {12392#true} ~__retres1~0 := 0; {12392#true} is VALID [2020-07-10 15:31:20,406 INFO L280 TraceCheckUtils]: 5: Hoare triple {12392#true} #res := ~__retres1~0; {12392#true} is VALID [2020-07-10 15:31:20,406 INFO L280 TraceCheckUtils]: 6: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,406 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {12392#true} {12392#true} #268#return; {12392#true} is VALID [2020-07-10 15:31:20,406 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-10 15:31:20,407 INFO L280 TraceCheckUtils]: 9: Hoare triple {12392#true} assume !(0 != ~tmp~0); {12392#true} is VALID [2020-07-10 15:31:20,407 INFO L263 TraceCheckUtils]: 10: Hoare triple {12392#true} call #t~ret1 := is_do_read_c_triggered(); {12392#true} is VALID [2020-07-10 15:31:20,407 INFO L280 TraceCheckUtils]: 11: Hoare triple {12392#true} havoc ~__retres1~1; {12392#true} is VALID [2020-07-10 15:31:20,408 INFO L280 TraceCheckUtils]: 12: Hoare triple {12392#true} assume 1 == ~c_dr_pc~0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,408 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-10 15:31:20,408 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-10 15:31:20,409 INFO L280 TraceCheckUtils]: 15: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,410 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-10 15:31:20,410 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-10 15:31:20,411 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-10 15:31:20,411 INFO L280 TraceCheckUtils]: 19: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,412 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-10 15:31:20,414 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-10 15:31:20,414 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-10 15:31:20,414 INFO L280 TraceCheckUtils]: 2: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,414 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12392#true} {12392#true} #286#return; {12392#true} is VALID [2020-07-10 15:31:20,414 INFO L263 TraceCheckUtils]: 4: Hoare triple {12392#true} call #t~ret8 := main(); {12392#true} is VALID [2020-07-10 15:31:20,415 INFO L280 TraceCheckUtils]: 5: Hoare triple {12392#true} havoc ~__retres1~3; {12392#true} is VALID [2020-07-10 15:31:20,416 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-10 15:31:20,416 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-10 15:31:20,416 INFO L280 TraceCheckUtils]: 8: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,416 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {12392#true} {12392#true} #262#return; {12392#true} is VALID [2020-07-10 15:31:20,417 INFO L263 TraceCheckUtils]: 10: Hoare triple {12392#true} call start_simulation(); {12392#true} is VALID [2020-07-10 15:31:20,417 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-10 15:31:20,418 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-10 15:31:20,418 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-10 15:31:20,419 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-10 15:31:20,419 INFO L280 TraceCheckUtils]: 15: Hoare triple {12435#(<= ~p_dw_st~0 0)} assume true; {12435#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:31:20,420 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-10 15:31:20,421 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-10 15:31:20,421 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-10 15:31:20,426 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-10 15:31:20,427 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-10 15:31:20,427 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-10 15:31:20,427 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-10 15:31:20,428 INFO L280 TraceCheckUtils]: 23: Hoare triple {12392#true} havoc ~__retres1~2; {12392#true} is VALID [2020-07-10 15:31:20,428 INFO L280 TraceCheckUtils]: 24: Hoare triple {12392#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {12392#true} is VALID [2020-07-10 15:31:20,428 INFO L280 TraceCheckUtils]: 25: Hoare triple {12392#true} #res := ~__retres1~2; {12392#true} is VALID [2020-07-10 15:31:20,428 INFO L280 TraceCheckUtils]: 26: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,428 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {12392#true} {12404#(not (= 1 ~p_dw_st~0))} #272#return; {12392#true} is VALID [2020-07-10 15:31:20,429 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-10 15:31:20,429 INFO L280 TraceCheckUtils]: 29: Hoare triple {12392#true} assume 0 != ~tmp___1~0; {12392#true} is VALID [2020-07-10 15:31:20,429 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-10 15:31:20,429 INFO L280 TraceCheckUtils]: 31: Hoare triple {12392#true} assume !(0 != ~tmp~1); {12392#true} is VALID [2020-07-10 15:31:20,429 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-10 15:31:20,429 INFO L280 TraceCheckUtils]: 33: Hoare triple {12392#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {12392#true} is VALID [2020-07-10 15:31:20,430 INFO L263 TraceCheckUtils]: 34: Hoare triple {12392#true} call do_read_c(); {12392#true} is VALID [2020-07-10 15:31:20,430 INFO L280 TraceCheckUtils]: 35: Hoare triple {12392#true} havoc ~a~0; {12392#true} is VALID [2020-07-10 15:31:20,430 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-10 15:31:20,431 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-10 15:31:20,431 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-10 15:31:20,432 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-10 15:31:20,433 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-10 15:31:20,433 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-10 15:31:20,433 INFO L263 TraceCheckUtils]: 42: Hoare triple {12392#true} call #t~ret0 := is_do_write_p_triggered(); {12392#true} is VALID [2020-07-10 15:31:20,434 INFO L280 TraceCheckUtils]: 43: Hoare triple {12392#true} havoc ~__retres1~0; {12392#true} is VALID [2020-07-10 15:31:20,434 INFO L280 TraceCheckUtils]: 44: Hoare triple {12392#true} assume !(1 == ~p_dw_pc~0); {12392#true} is VALID [2020-07-10 15:31:20,434 INFO L280 TraceCheckUtils]: 45: Hoare triple {12392#true} ~__retres1~0 := 0; {12392#true} is VALID [2020-07-10 15:31:20,434 INFO L280 TraceCheckUtils]: 46: Hoare triple {12392#true} #res := ~__retres1~0; {12392#true} is VALID [2020-07-10 15:31:20,434 INFO L280 TraceCheckUtils]: 47: Hoare triple {12392#true} assume true; {12392#true} is VALID [2020-07-10 15:31:20,435 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {12392#true} {12392#true} #268#return; {12392#true} is VALID [2020-07-10 15:31:20,435 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-10 15:31:20,435 INFO L280 TraceCheckUtils]: 50: Hoare triple {12392#true} assume !(0 != ~tmp~0); {12392#true} is VALID [2020-07-10 15:31:20,435 INFO L263 TraceCheckUtils]: 51: Hoare triple {12392#true} call #t~ret1 := is_do_read_c_triggered(); {12392#true} is VALID [2020-07-10 15:31:20,435 INFO L280 TraceCheckUtils]: 52: Hoare triple {12392#true} havoc ~__retres1~1; {12392#true} is VALID [2020-07-10 15:31:20,436 INFO L280 TraceCheckUtils]: 53: Hoare triple {12392#true} assume 1 == ~c_dr_pc~0; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,436 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-10 15:31:20,437 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-10 15:31:20,437 INFO L280 TraceCheckUtils]: 56: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,438 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-10 15:31:20,439 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-10 15:31:20,439 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-10 15:31:20,440 INFO L280 TraceCheckUtils]: 60: Hoare triple {12448#(= 1 ~c_dr_pc~0)} assume true; {12448#(= 1 ~c_dr_pc~0)} is VALID [2020-07-10 15:31:20,440 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-10 15:31:20,440 INFO L280 TraceCheckUtils]: 62: Hoare triple {12393#false} ~q_read_ev~0 := 2; {12393#false} is VALID [2020-07-10 15:31:20,441 INFO L280 TraceCheckUtils]: 63: Hoare triple {12393#false} assume !(~p_last_write~0 == ~c_last_read~0); {12393#false} is VALID [2020-07-10 15:31:20,441 INFO L263 TraceCheckUtils]: 64: Hoare triple {12393#false} call error(); {12393#false} is VALID [2020-07-10 15:31:20,441 INFO L280 TraceCheckUtils]: 65: Hoare triple {12393#false} assume !false; {12393#false} is VALID [2020-07-10 15:31:20,448 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-10 15:31:20,448 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [807932191] [2020-07-10 15:31:20,449 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:31:20,449 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 15:31:20,449 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [621768893] [2020-07-10 15:31:20,451 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-10 15:31:20,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:31:20,451 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:31:20,511 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-10 15:31:20,511 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:31:20,512 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:31:20,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:31:20,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:31:20,512 INFO L87 Difference]: Start difference. First operand 341 states and 437 transitions. Second operand 9 states. [2020-07-10 15:31:32,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:32,303 INFO L93 Difference]: Finished difference Result 1164 states and 1617 transitions. [2020-07-10 15:31:32,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-10 15:31:32,304 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-10 15:31:32,304 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:31:32,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:31:32,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 819 transitions. [2020-07-10 15:31:32,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:31:32,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 819 transitions. [2020-07-10 15:31:32,344 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 819 transitions. [2020-07-10 15:31:34,029 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-10 15:31:34,090 INFO L225 Difference]: With dead ends: 1164 [2020-07-10 15:31:34,090 INFO L226 Difference]: Without dead ends: 840 [2020-07-10 15:31:34,093 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 226 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=200, Invalid=730, Unknown=0, NotChecked=0, Total=930 [2020-07-10 15:31:34,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 840 states. [2020-07-10 15:31:36,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 840 to 643. [2020-07-10 15:31:36,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:31:36,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 840 states. Second operand 643 states. [2020-07-10 15:31:36,387 INFO L74 IsIncluded]: Start isIncluded. First operand 840 states. Second operand 643 states. [2020-07-10 15:31:36,388 INFO L87 Difference]: Start difference. First operand 840 states. Second operand 643 states. [2020-07-10 15:31:36,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:36,452 INFO L93 Difference]: Finished difference Result 840 states and 1084 transitions. [2020-07-10 15:31:36,452 INFO L276 IsEmpty]: Start isEmpty. Operand 840 states and 1084 transitions. [2020-07-10 15:31:36,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:36,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:36,457 INFO L74 IsIncluded]: Start isIncluded. First operand 643 states. Second operand 840 states. [2020-07-10 15:31:36,458 INFO L87 Difference]: Start difference. First operand 643 states. Second operand 840 states. [2020-07-10 15:31:36,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:36,525 INFO L93 Difference]: Finished difference Result 840 states and 1084 transitions. [2020-07-10 15:31:36,526 INFO L276 IsEmpty]: Start isEmpty. Operand 840 states and 1084 transitions. [2020-07-10 15:31:36,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:36,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:36,532 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:31:36,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:31:36,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 643 states. [2020-07-10 15:31:36,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 643 states to 643 states and 815 transitions. [2020-07-10 15:31:36,582 INFO L78 Accepts]: Start accepts. Automaton has 643 states and 815 transitions. Word has length 66 [2020-07-10 15:31:36,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:31:36,583 INFO L479 AbstractCegarLoop]: Abstraction has 643 states and 815 transitions. [2020-07-10 15:31:36,583 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:31:36,584 INFO L276 IsEmpty]: Start isEmpty. Operand 643 states and 815 transitions. [2020-07-10 15:31:36,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-10 15:31:36,594 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:31:36,594 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-10 15:31:36,594 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-10 15:31:36,595 INFO L427 AbstractCegarLoop]: === Iteration 8 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:31:36,595 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:31:36,595 INFO L82 PathProgramCache]: Analyzing trace with hash 1172255968, now seen corresponding path program 1 times [2020-07-10 15:31:36,596 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:31:36,597 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806977222] [2020-07-10 15:31:36,597 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:31:36,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,723 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-10 15:31:36,723 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,723 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {16681#true} {16681#true} #286#return; {16681#true} is VALID [2020-07-10 15:31:36,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,758 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-10 15:31:36,758 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,758 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {16681#true} {16681#true} #262#return; {16681#true} is VALID [2020-07-10 15:31:36,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,773 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-10 15:31:36,773 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-10 15:31:36,774 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,774 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {16681#true} {16681#true} #280#return; {16681#true} is VALID [2020-07-10 15:31:36,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,777 INFO L280 TraceCheckUtils]: 0: Hoare triple {16681#true} havoc ~__retres1~2; {16681#true} is VALID [2020-07-10 15:31:36,778 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {16681#true} is VALID [2020-07-10 15:31:36,778 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} #res := ~__retres1~2; {16681#true} is VALID [2020-07-10 15:31:36,778 INFO L280 TraceCheckUtils]: 3: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,778 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16681#true} {16681#true} #272#return; {16681#true} is VALID [2020-07-10 15:31:36,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,838 INFO L280 TraceCheckUtils]: 0: Hoare triple {16681#true} havoc ~__retres1~0; {16681#true} is VALID [2020-07-10 15:31:36,839 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume !(1 == ~p_dw_pc~0); {16681#true} is VALID [2020-07-10 15:31:36,839 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} ~__retres1~0 := 0; {16681#true} is VALID [2020-07-10 15:31:36,839 INFO L280 TraceCheckUtils]: 3: Hoare triple {16681#true} #res := ~__retres1~0; {16681#true} is VALID [2020-07-10 15:31:36,839 INFO L280 TraceCheckUtils]: 4: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,840 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16681#true} {16681#true} #268#return; {16681#true} is VALID [2020-07-10 15:31:36,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:36,887 INFO L280 TraceCheckUtils]: 0: Hoare triple {16681#true} havoc ~__retres1~1; {16681#true} is VALID [2020-07-10 15:31:36,888 INFO L280 TraceCheckUtils]: 1: Hoare triple {16681#true} assume !(1 == ~c_dr_pc~0); {16681#true} is VALID [2020-07-10 15:31:36,888 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-10 15:31:36,889 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-10 15:31:36,890 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-10 15:31:36,891 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-10 15:31:36,891 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-10 15:31:36,892 INFO L263 TraceCheckUtils]: 1: Hoare triple {16681#true} call #t~ret0 := is_do_write_p_triggered(); {16681#true} is VALID [2020-07-10 15:31:36,892 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} havoc ~__retres1~0; {16681#true} is VALID [2020-07-10 15:31:36,892 INFO L280 TraceCheckUtils]: 3: Hoare triple {16681#true} assume !(1 == ~p_dw_pc~0); {16681#true} is VALID [2020-07-10 15:31:36,892 INFO L280 TraceCheckUtils]: 4: Hoare triple {16681#true} ~__retres1~0 := 0; {16681#true} is VALID [2020-07-10 15:31:36,893 INFO L280 TraceCheckUtils]: 5: Hoare triple {16681#true} #res := ~__retres1~0; {16681#true} is VALID [2020-07-10 15:31:36,893 INFO L280 TraceCheckUtils]: 6: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,893 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {16681#true} {16681#true} #268#return; {16681#true} is VALID [2020-07-10 15:31:36,893 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-10 15:31:36,893 INFO L280 TraceCheckUtils]: 9: Hoare triple {16681#true} assume !(0 != ~tmp~0); {16681#true} is VALID [2020-07-10 15:31:36,894 INFO L263 TraceCheckUtils]: 10: Hoare triple {16681#true} call #t~ret1 := is_do_read_c_triggered(); {16681#true} is VALID [2020-07-10 15:31:36,894 INFO L280 TraceCheckUtils]: 11: Hoare triple {16681#true} havoc ~__retres1~1; {16681#true} is VALID [2020-07-10 15:31:36,894 INFO L280 TraceCheckUtils]: 12: Hoare triple {16681#true} assume !(1 == ~c_dr_pc~0); {16681#true} is VALID [2020-07-10 15:31:36,895 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-10 15:31:36,896 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-10 15:31:36,897 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-10 15:31:36,898 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-10 15:31:36,900 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-10 15:31:36,900 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-10 15:31:36,901 INFO L280 TraceCheckUtils]: 19: Hoare triple {16682#false} assume true; {16682#false} is VALID [2020-07-10 15:31:36,901 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {16682#false} {16681#true} #290#return; {16682#false} is VALID [2020-07-10 15:31:36,903 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-10 15:31:36,904 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-10 15:31:36,904 INFO L280 TraceCheckUtils]: 2: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,904 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {16681#true} {16681#true} #286#return; {16681#true} is VALID [2020-07-10 15:31:36,905 INFO L263 TraceCheckUtils]: 4: Hoare triple {16681#true} call #t~ret8 := main(); {16681#true} is VALID [2020-07-10 15:31:36,905 INFO L280 TraceCheckUtils]: 5: Hoare triple {16681#true} havoc ~__retres1~3; {16681#true} is VALID [2020-07-10 15:31:36,906 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-10 15:31:36,906 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-10 15:31:36,907 INFO L280 TraceCheckUtils]: 8: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,907 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {16681#true} {16681#true} #262#return; {16681#true} is VALID [2020-07-10 15:31:36,907 INFO L263 TraceCheckUtils]: 10: Hoare triple {16681#true} call start_simulation(); {16681#true} is VALID [2020-07-10 15:31:36,908 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-10 15:31:36,908 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-10 15:31:36,909 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-10 15:31:36,909 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-10 15:31:36,909 INFO L280 TraceCheckUtils]: 15: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,909 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {16681#true} {16681#true} #280#return; {16681#true} is VALID [2020-07-10 15:31:36,909 INFO L280 TraceCheckUtils]: 17: Hoare triple {16681#true} assume !false; {16681#true} is VALID [2020-07-10 15:31:36,910 INFO L280 TraceCheckUtils]: 18: Hoare triple {16681#true} ~kernel_st~0 := 1; {16681#true} is VALID [2020-07-10 15:31:36,910 INFO L263 TraceCheckUtils]: 19: Hoare triple {16681#true} call eval(); {16681#true} is VALID [2020-07-10 15:31:36,910 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-10 15:31:36,911 INFO L280 TraceCheckUtils]: 21: Hoare triple {16681#true} assume !false; {16681#true} is VALID [2020-07-10 15:31:36,911 INFO L263 TraceCheckUtils]: 22: Hoare triple {16681#true} call #t~ret3 := exists_runnable_thread(); {16681#true} is VALID [2020-07-10 15:31:36,911 INFO L280 TraceCheckUtils]: 23: Hoare triple {16681#true} havoc ~__retres1~2; {16681#true} is VALID [2020-07-10 15:31:36,911 INFO L280 TraceCheckUtils]: 24: Hoare triple {16681#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {16681#true} is VALID [2020-07-10 15:31:36,912 INFO L280 TraceCheckUtils]: 25: Hoare triple {16681#true} #res := ~__retres1~2; {16681#true} is VALID [2020-07-10 15:31:36,912 INFO L280 TraceCheckUtils]: 26: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,912 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {16681#true} {16681#true} #272#return; {16681#true} is VALID [2020-07-10 15:31:36,913 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-10 15:31:36,913 INFO L280 TraceCheckUtils]: 29: Hoare triple {16681#true} assume 0 != ~tmp___1~0; {16681#true} is VALID [2020-07-10 15:31:36,913 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-10 15:31:36,913 INFO L280 TraceCheckUtils]: 31: Hoare triple {16681#true} assume !(0 != ~tmp~1); {16681#true} is VALID [2020-07-10 15:31:36,913 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-10 15:31:36,914 INFO L280 TraceCheckUtils]: 33: Hoare triple {16681#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {16681#true} is VALID [2020-07-10 15:31:36,914 INFO L263 TraceCheckUtils]: 34: Hoare triple {16681#true} call do_read_c(); {16681#true} is VALID [2020-07-10 15:31:36,914 INFO L280 TraceCheckUtils]: 35: Hoare triple {16681#true} havoc ~a~0; {16681#true} is VALID [2020-07-10 15:31:36,914 INFO L280 TraceCheckUtils]: 36: Hoare triple {16681#true} assume 0 == ~c_dr_pc~0; {16681#true} is VALID [2020-07-10 15:31:36,915 INFO L280 TraceCheckUtils]: 37: Hoare triple {16681#true} assume !false; {16681#true} is VALID [2020-07-10 15:31:36,915 INFO L280 TraceCheckUtils]: 38: Hoare triple {16681#true} assume !(1 == ~q_free~0); {16681#true} is VALID [2020-07-10 15:31:36,915 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-10 15:31:36,916 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-10 15:31:36,916 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-10 15:31:36,917 INFO L263 TraceCheckUtils]: 42: Hoare triple {16681#true} call #t~ret0 := is_do_write_p_triggered(); {16681#true} is VALID [2020-07-10 15:31:36,917 INFO L280 TraceCheckUtils]: 43: Hoare triple {16681#true} havoc ~__retres1~0; {16681#true} is VALID [2020-07-10 15:31:36,917 INFO L280 TraceCheckUtils]: 44: Hoare triple {16681#true} assume !(1 == ~p_dw_pc~0); {16681#true} is VALID [2020-07-10 15:31:36,917 INFO L280 TraceCheckUtils]: 45: Hoare triple {16681#true} ~__retres1~0 := 0; {16681#true} is VALID [2020-07-10 15:31:36,917 INFO L280 TraceCheckUtils]: 46: Hoare triple {16681#true} #res := ~__retres1~0; {16681#true} is VALID [2020-07-10 15:31:36,918 INFO L280 TraceCheckUtils]: 47: Hoare triple {16681#true} assume true; {16681#true} is VALID [2020-07-10 15:31:36,918 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {16681#true} {16681#true} #268#return; {16681#true} is VALID [2020-07-10 15:31:36,918 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-10 15:31:36,918 INFO L280 TraceCheckUtils]: 50: Hoare triple {16681#true} assume !(0 != ~tmp~0); {16681#true} is VALID [2020-07-10 15:31:36,918 INFO L263 TraceCheckUtils]: 51: Hoare triple {16681#true} call #t~ret1 := is_do_read_c_triggered(); {16681#true} is VALID [2020-07-10 15:31:36,919 INFO L280 TraceCheckUtils]: 52: Hoare triple {16681#true} havoc ~__retres1~1; {16681#true} is VALID [2020-07-10 15:31:36,919 INFO L280 TraceCheckUtils]: 53: Hoare triple {16681#true} assume !(1 == ~c_dr_pc~0); {16681#true} is VALID [2020-07-10 15:31:36,920 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-10 15:31:36,921 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-10 15:31:36,922 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-10 15:31:36,923 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-10 15:31:36,925 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-10 15:31:36,926 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-10 15:31:36,926 INFO L280 TraceCheckUtils]: 60: Hoare triple {16682#false} assume true; {16682#false} is VALID [2020-07-10 15:31:36,927 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {16682#false} {16681#true} #290#return; {16682#false} is VALID [2020-07-10 15:31:36,927 INFO L280 TraceCheckUtils]: 62: Hoare triple {16682#false} ~q_read_ev~0 := 2; {16682#false} is VALID [2020-07-10 15:31:36,927 INFO L280 TraceCheckUtils]: 63: Hoare triple {16682#false} assume !(~p_last_write~0 == ~c_last_read~0); {16682#false} is VALID [2020-07-10 15:31:36,928 INFO L263 TraceCheckUtils]: 64: Hoare triple {16682#false} call error(); {16682#false} is VALID [2020-07-10 15:31:36,928 INFO L280 TraceCheckUtils]: 65: Hoare triple {16682#false} assume !false; {16682#false} is VALID [2020-07-10 15:31:36,934 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-10 15:31:36,935 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [806977222] [2020-07-10 15:31:36,936 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:31:36,936 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 15:31:36,936 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2039411011] [2020-07-10 15:31:36,937 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-10 15:31:36,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:31:36,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:31:37,013 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-10 15:31:37,013 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:31:37,013 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:31:37,014 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:31:37,014 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:31:37,014 INFO L87 Difference]: Start difference. First operand 643 states and 815 transitions. Second operand 9 states. [2020-07-10 15:31:42,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:42,728 INFO L93 Difference]: Finished difference Result 1352 states and 1804 transitions. [2020-07-10 15:31:42,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 15:31:42,728 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 66 [2020-07-10 15:31:42,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:31:42,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:31:42,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 317 transitions. [2020-07-10 15:31:42,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:31:42,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 317 transitions. [2020-07-10 15:31:42,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 317 transitions. [2020-07-10 15:31:43,231 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-10 15:31:43,268 INFO L225 Difference]: With dead ends: 1352 [2020-07-10 15:31:43,268 INFO L226 Difference]: Without dead ends: 764 [2020-07-10 15:31:43,271 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2020-07-10 15:31:43,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 764 states. [2020-07-10 15:31:45,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 764 to 669. [2020-07-10 15:31:45,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:31:45,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 764 states. Second operand 669 states. [2020-07-10 15:31:45,660 INFO L74 IsIncluded]: Start isIncluded. First operand 764 states. Second operand 669 states. [2020-07-10 15:31:45,660 INFO L87 Difference]: Start difference. First operand 764 states. Second operand 669 states. [2020-07-10 15:31:45,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:45,703 INFO L93 Difference]: Finished difference Result 764 states and 978 transitions. [2020-07-10 15:31:45,703 INFO L276 IsEmpty]: Start isEmpty. Operand 764 states and 978 transitions. [2020-07-10 15:31:45,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:45,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:45,712 INFO L74 IsIncluded]: Start isIncluded. First operand 669 states. Second operand 764 states. [2020-07-10 15:31:45,712 INFO L87 Difference]: Start difference. First operand 669 states. Second operand 764 states. [2020-07-10 15:31:45,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:45,756 INFO L93 Difference]: Finished difference Result 764 states and 978 transitions. [2020-07-10 15:31:45,757 INFO L276 IsEmpty]: Start isEmpty. Operand 764 states and 978 transitions. [2020-07-10 15:31:45,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:45,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:45,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:31:45,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:31:45,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 669 states. [2020-07-10 15:31:45,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 669 states to 669 states and 834 transitions. [2020-07-10 15:31:45,801 INFO L78 Accepts]: Start accepts. Automaton has 669 states and 834 transitions. Word has length 66 [2020-07-10 15:31:45,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:31:45,801 INFO L479 AbstractCegarLoop]: Abstraction has 669 states and 834 transitions. [2020-07-10 15:31:45,802 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:31:45,802 INFO L276 IsEmpty]: Start isEmpty. Operand 669 states and 834 transitions. [2020-07-10 15:31:45,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-10 15:31:45,803 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:31:45,803 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-10 15:31:45,803 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-10 15:31:45,804 INFO L427 AbstractCegarLoop]: === Iteration 9 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:31:45,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:31:45,804 INFO L82 PathProgramCache]: Analyzing trace with hash -1347703966, now seen corresponding path program 1 times [2020-07-10 15:31:45,804 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:31:45,805 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [382142142] [2020-07-10 15:31:45,806 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:31:45,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:45,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:45,950 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-10 15:31:45,951 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:45,951 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {21042#true} {21042#true} #286#return; {21042#true} is VALID [2020-07-10 15:31:45,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:45,996 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-10 15:31:45,996 INFO L280 TraceCheckUtils]: 1: Hoare triple {21050#(= 1 ~q_free~0)} assume true; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:45,997 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {21050#(= 1 ~q_free~0)} {21042#true} #262#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:46,019 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-10 15:31:46,019 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-10 15:31:46,020 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,021 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #280#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:46,026 INFO L280 TraceCheckUtils]: 0: Hoare triple {21042#true} havoc ~__retres1~2; {21042#true} is VALID [2020-07-10 15:31:46,027 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {21042#true} is VALID [2020-07-10 15:31:46,027 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} #res := ~__retres1~2; {21042#true} is VALID [2020-07-10 15:31:46,027 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,028 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #272#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:46,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:46,039 INFO L280 TraceCheckUtils]: 0: Hoare triple {21042#true} havoc ~__retres1~0; {21042#true} is VALID [2020-07-10 15:31:46,040 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume !(1 == ~p_dw_pc~0); {21042#true} is VALID [2020-07-10 15:31:46,040 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} ~__retres1~0 := 0; {21042#true} is VALID [2020-07-10 15:31:46,040 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} #res := ~__retres1~0; {21042#true} is VALID [2020-07-10 15:31:46,041 INFO L280 TraceCheckUtils]: 4: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,041 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {21042#true} {21042#true} #268#return; {21042#true} is VALID [2020-07-10 15:31:46,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:46,045 INFO L280 TraceCheckUtils]: 0: Hoare triple {21042#true} havoc ~__retres1~1; {21042#true} is VALID [2020-07-10 15:31:46,045 INFO L280 TraceCheckUtils]: 1: Hoare triple {21042#true} assume !(1 == ~c_dr_pc~0); {21042#true} is VALID [2020-07-10 15:31:46,046 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} ~__retres1~1 := 0; {21042#true} is VALID [2020-07-10 15:31:46,046 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} #res := ~__retres1~1; {21042#true} is VALID [2020-07-10 15:31:46,046 INFO L280 TraceCheckUtils]: 4: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,047 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {21042#true} {21042#true} #270#return; {21042#true} is VALID [2020-07-10 15:31:46,047 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-10 15:31:46,047 INFO L263 TraceCheckUtils]: 1: Hoare triple {21042#true} call #t~ret0 := is_do_write_p_triggered(); {21042#true} is VALID [2020-07-10 15:31:46,048 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} havoc ~__retres1~0; {21042#true} is VALID [2020-07-10 15:31:46,048 INFO L280 TraceCheckUtils]: 3: Hoare triple {21042#true} assume !(1 == ~p_dw_pc~0); {21042#true} is VALID [2020-07-10 15:31:46,048 INFO L280 TraceCheckUtils]: 4: Hoare triple {21042#true} ~__retres1~0 := 0; {21042#true} is VALID [2020-07-10 15:31:46,048 INFO L280 TraceCheckUtils]: 5: Hoare triple {21042#true} #res := ~__retres1~0; {21042#true} is VALID [2020-07-10 15:31:46,049 INFO L280 TraceCheckUtils]: 6: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,049 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {21042#true} {21042#true} #268#return; {21042#true} is VALID [2020-07-10 15:31:46,049 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-10 15:31:46,049 INFO L280 TraceCheckUtils]: 9: Hoare triple {21042#true} assume !(0 != ~tmp~0); {21042#true} is VALID [2020-07-10 15:31:46,050 INFO L263 TraceCheckUtils]: 10: Hoare triple {21042#true} call #t~ret1 := is_do_read_c_triggered(); {21042#true} is VALID [2020-07-10 15:31:46,050 INFO L280 TraceCheckUtils]: 11: Hoare triple {21042#true} havoc ~__retres1~1; {21042#true} is VALID [2020-07-10 15:31:46,050 INFO L280 TraceCheckUtils]: 12: Hoare triple {21042#true} assume !(1 == ~c_dr_pc~0); {21042#true} is VALID [2020-07-10 15:31:46,051 INFO L280 TraceCheckUtils]: 13: Hoare triple {21042#true} ~__retres1~1 := 0; {21042#true} is VALID [2020-07-10 15:31:46,051 INFO L280 TraceCheckUtils]: 14: Hoare triple {21042#true} #res := ~__retres1~1; {21042#true} is VALID [2020-07-10 15:31:46,051 INFO L280 TraceCheckUtils]: 15: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,051 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {21042#true} {21042#true} #270#return; {21042#true} is VALID [2020-07-10 15:31:46,052 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-10 15:31:46,052 INFO L280 TraceCheckUtils]: 18: Hoare triple {21042#true} assume !(0 != ~tmp___0~0); {21042#true} is VALID [2020-07-10 15:31:46,052 INFO L280 TraceCheckUtils]: 19: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,052 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {21042#true} {21043#false} #290#return; {21043#false} is VALID [2020-07-10 15:31:46,055 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-10 15:31:46,055 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-10 15:31:46,056 INFO L280 TraceCheckUtils]: 2: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,056 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {21042#true} {21042#true} #286#return; {21042#true} is VALID [2020-07-10 15:31:46,056 INFO L263 TraceCheckUtils]: 4: Hoare triple {21042#true} call #t~ret8 := main(); {21042#true} is VALID [2020-07-10 15:31:46,057 INFO L280 TraceCheckUtils]: 5: Hoare triple {21042#true} havoc ~__retres1~3; {21042#true} is VALID [2020-07-10 15:31:46,058 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-10 15:31:46,060 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-10 15:31:46,060 INFO L280 TraceCheckUtils]: 8: Hoare triple {21050#(= 1 ~q_free~0)} assume true; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,061 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {21050#(= 1 ~q_free~0)} {21042#true} #262#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,062 INFO L263 TraceCheckUtils]: 10: Hoare triple {21050#(= 1 ~q_free~0)} call start_simulation(); {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,063 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-10 15:31:46,064 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-10 15:31:46,065 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-10 15:31:46,065 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-10 15:31:46,065 INFO L280 TraceCheckUtils]: 15: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,066 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #280#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,066 INFO L280 TraceCheckUtils]: 17: Hoare triple {21050#(= 1 ~q_free~0)} assume !false; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,067 INFO L280 TraceCheckUtils]: 18: Hoare triple {21050#(= 1 ~q_free~0)} ~kernel_st~0 := 1; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,068 INFO L263 TraceCheckUtils]: 19: Hoare triple {21050#(= 1 ~q_free~0)} call eval(); {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,068 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-10 15:31:46,069 INFO L280 TraceCheckUtils]: 21: Hoare triple {21050#(= 1 ~q_free~0)} assume !false; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,096 INFO L263 TraceCheckUtils]: 22: Hoare triple {21050#(= 1 ~q_free~0)} call #t~ret3 := exists_runnable_thread(); {21042#true} is VALID [2020-07-10 15:31:46,096 INFO L280 TraceCheckUtils]: 23: Hoare triple {21042#true} havoc ~__retres1~2; {21042#true} is VALID [2020-07-10 15:31:46,099 INFO L280 TraceCheckUtils]: 24: Hoare triple {21042#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {21042#true} is VALID [2020-07-10 15:31:46,099 INFO L280 TraceCheckUtils]: 25: Hoare triple {21042#true} #res := ~__retres1~2; {21042#true} is VALID [2020-07-10 15:31:46,100 INFO L280 TraceCheckUtils]: 26: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,102 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {21042#true} {21050#(= 1 ~q_free~0)} #272#return; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,103 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-10 15:31:46,104 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-10 15:31:46,104 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-10 15:31:46,105 INFO L280 TraceCheckUtils]: 31: Hoare triple {21050#(= 1 ~q_free~0)} assume !(0 != ~tmp~1); {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,105 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-10 15:31:46,106 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-10 15:31:46,108 INFO L263 TraceCheckUtils]: 34: Hoare triple {21050#(= 1 ~q_free~0)} call do_read_c(); {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,109 INFO L280 TraceCheckUtils]: 35: Hoare triple {21050#(= 1 ~q_free~0)} havoc ~a~0; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,109 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-10 15:31:46,110 INFO L280 TraceCheckUtils]: 37: Hoare triple {21050#(= 1 ~q_free~0)} assume !false; {21050#(= 1 ~q_free~0)} is VALID [2020-07-10 15:31:46,110 INFO L280 TraceCheckUtils]: 38: Hoare triple {21050#(= 1 ~q_free~0)} assume !(1 == ~q_free~0); {21043#false} is VALID [2020-07-10 15:31:46,111 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-10 15:31:46,111 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-10 15:31:46,111 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-10 15:31:46,111 INFO L263 TraceCheckUtils]: 42: Hoare triple {21042#true} call #t~ret0 := is_do_write_p_triggered(); {21042#true} is VALID [2020-07-10 15:31:46,111 INFO L280 TraceCheckUtils]: 43: Hoare triple {21042#true} havoc ~__retres1~0; {21042#true} is VALID [2020-07-10 15:31:46,112 INFO L280 TraceCheckUtils]: 44: Hoare triple {21042#true} assume !(1 == ~p_dw_pc~0); {21042#true} is VALID [2020-07-10 15:31:46,112 INFO L280 TraceCheckUtils]: 45: Hoare triple {21042#true} ~__retres1~0 := 0; {21042#true} is VALID [2020-07-10 15:31:46,112 INFO L280 TraceCheckUtils]: 46: Hoare triple {21042#true} #res := ~__retres1~0; {21042#true} is VALID [2020-07-10 15:31:46,112 INFO L280 TraceCheckUtils]: 47: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,112 INFO L275 TraceCheckUtils]: 48: Hoare quadruple {21042#true} {21042#true} #268#return; {21042#true} is VALID [2020-07-10 15:31:46,113 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-10 15:31:46,113 INFO L280 TraceCheckUtils]: 50: Hoare triple {21042#true} assume !(0 != ~tmp~0); {21042#true} is VALID [2020-07-10 15:31:46,113 INFO L263 TraceCheckUtils]: 51: Hoare triple {21042#true} call #t~ret1 := is_do_read_c_triggered(); {21042#true} is VALID [2020-07-10 15:31:46,113 INFO L280 TraceCheckUtils]: 52: Hoare triple {21042#true} havoc ~__retres1~1; {21042#true} is VALID [2020-07-10 15:31:46,114 INFO L280 TraceCheckUtils]: 53: Hoare triple {21042#true} assume !(1 == ~c_dr_pc~0); {21042#true} is VALID [2020-07-10 15:31:46,114 INFO L280 TraceCheckUtils]: 54: Hoare triple {21042#true} ~__retres1~1 := 0; {21042#true} is VALID [2020-07-10 15:31:46,114 INFO L280 TraceCheckUtils]: 55: Hoare triple {21042#true} #res := ~__retres1~1; {21042#true} is VALID [2020-07-10 15:31:46,114 INFO L280 TraceCheckUtils]: 56: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,115 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {21042#true} {21042#true} #270#return; {21042#true} is VALID [2020-07-10 15:31:46,115 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-10 15:31:46,115 INFO L280 TraceCheckUtils]: 59: Hoare triple {21042#true} assume !(0 != ~tmp___0~0); {21042#true} is VALID [2020-07-10 15:31:46,115 INFO L280 TraceCheckUtils]: 60: Hoare triple {21042#true} assume true; {21042#true} is VALID [2020-07-10 15:31:46,116 INFO L275 TraceCheckUtils]: 61: Hoare quadruple {21042#true} {21043#false} #290#return; {21043#false} is VALID [2020-07-10 15:31:46,116 INFO L280 TraceCheckUtils]: 62: Hoare triple {21043#false} ~q_read_ev~0 := 2; {21043#false} is VALID [2020-07-10 15:31:46,116 INFO L280 TraceCheckUtils]: 63: Hoare triple {21043#false} assume !(~p_last_write~0 == ~c_last_read~0); {21043#false} is VALID [2020-07-10 15:31:46,116 INFO L263 TraceCheckUtils]: 64: Hoare triple {21043#false} call error(); {21043#false} is VALID [2020-07-10 15:31:46,117 INFO L280 TraceCheckUtils]: 65: Hoare triple {21043#false} assume !false; {21043#false} is VALID [2020-07-10 15:31:46,122 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-10 15:31:46,123 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [382142142] [2020-07-10 15:31:46,123 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:31:46,124 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:31:46,124 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69469097] [2020-07-10 15:31:46,124 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 66 [2020-07-10 15:31:46,125 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:31:46,125 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:31:46,200 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-10 15:31:46,200 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:31:46,201 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:31:46,201 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:31:46,201 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:31:46,202 INFO L87 Difference]: Start difference. First operand 669 states and 834 transitions. Second operand 6 states. [2020-07-10 15:31:51,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:51,296 INFO L93 Difference]: Finished difference Result 1262 states and 1648 transitions. [2020-07-10 15:31:51,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 15:31:51,296 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 66 [2020-07-10 15:31:51,297 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:31:51,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:31:51,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 405 transitions. [2020-07-10 15:31:51,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:31:51,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 405 transitions. [2020-07-10 15:31:51,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 405 transitions. [2020-07-10 15:31:51,996 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-10 15:31:52,048 INFO L225 Difference]: With dead ends: 1262 [2020-07-10 15:31:52,049 INFO L226 Difference]: Without dead ends: 814 [2020-07-10 15:31:52,051 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-10 15:31:52,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 814 states. [2020-07-10 15:31:54,576 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 814 to 708. [2020-07-10 15:31:54,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:31:54,577 INFO L82 GeneralOperation]: Start isEquivalent. First operand 814 states. Second operand 708 states. [2020-07-10 15:31:54,577 INFO L74 IsIncluded]: Start isIncluded. First operand 814 states. Second operand 708 states. [2020-07-10 15:31:54,577 INFO L87 Difference]: Start difference. First operand 814 states. Second operand 708 states. [2020-07-10 15:31:54,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:54,614 INFO L93 Difference]: Finished difference Result 814 states and 1057 transitions. [2020-07-10 15:31:54,614 INFO L276 IsEmpty]: Start isEmpty. Operand 814 states and 1057 transitions. [2020-07-10 15:31:54,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:54,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:54,619 INFO L74 IsIncluded]: Start isIncluded. First operand 708 states. Second operand 814 states. [2020-07-10 15:31:54,619 INFO L87 Difference]: Start difference. First operand 708 states. Second operand 814 states. [2020-07-10 15:31:54,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:31:54,667 INFO L93 Difference]: Finished difference Result 814 states and 1057 transitions. [2020-07-10 15:31:54,667 INFO L276 IsEmpty]: Start isEmpty. Operand 814 states and 1057 transitions. [2020-07-10 15:31:54,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:31:54,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:31:54,671 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:31:54,671 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:31:54,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 708 states. [2020-07-10 15:31:54,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 708 states to 708 states and 908 transitions. [2020-07-10 15:31:54,718 INFO L78 Accepts]: Start accepts. Automaton has 708 states and 908 transitions. Word has length 66 [2020-07-10 15:31:54,719 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:31:54,719 INFO L479 AbstractCegarLoop]: Abstraction has 708 states and 908 transitions. [2020-07-10 15:31:54,719 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:31:54,719 INFO L276 IsEmpty]: Start isEmpty. Operand 708 states and 908 transitions. [2020-07-10 15:31:54,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-10 15:31:54,722 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:31:54,722 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-10 15:31:54,723 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-10 15:31:54,723 INFO L427 AbstractCegarLoop]: === Iteration 10 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:31:54,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:31:54,723 INFO L82 PathProgramCache]: Analyzing trace with hash 1757954899, now seen corresponding path program 1 times [2020-07-10 15:31:54,724 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:31:54,724 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1213705139] [2020-07-10 15:31:54,724 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:31:54,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:54,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:54,858 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-10 15:31:54,859 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:54,859 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {25431#true} {25431#true} #286#return; {25431#true} is VALID [2020-07-10 15:31:54,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:54,896 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-10 15:31:54,896 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:54,896 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {25431#true} {25431#true} #262#return; {25431#true} is VALID [2020-07-10 15:31:54,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:54,941 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-10 15:31:54,942 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-10 15:31:54,942 INFO L280 TraceCheckUtils]: 2: Hoare triple {25485#(<= ~p_dw_st~0 0)} assume true; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:31:54,943 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-10 15:31:54,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:54,948 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:54,948 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-10 15:31:54,949 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:54,949 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:54,949 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {25431#true} {25443#(not (= 2 ~p_dw_st~0))} #272#return; {25431#true} is VALID [2020-07-10 15:31:54,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,001 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-10 15:31:55,001 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 0 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-10 15:31:55,001 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-10 15:31:55,003 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-10 15:31:55,004 INFO L280 TraceCheckUtils]: 4: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-10 15:31:55,005 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-10 15:31:55,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,011 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,012 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-10 15:31:55,012 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,012 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,013 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-10 15:31:55,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,029 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~0; {25431#true} is VALID [2020-07-10 15:31:55,029 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume !(1 == ~p_dw_pc~0); {25431#true} is VALID [2020-07-10 15:31:55,029 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} ~__retres1~0 := 0; {25431#true} is VALID [2020-07-10 15:31:55,030 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} #res := ~__retres1~0; {25431#true} is VALID [2020-07-10 15:31:55,030 INFO L280 TraceCheckUtils]: 4: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,030 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {25431#true} {25431#true} #268#return; {25431#true} is VALID [2020-07-10 15:31:55,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,034 INFO L280 TraceCheckUtils]: 0: Hoare triple {25431#true} havoc ~__retres1~1; {25431#true} is VALID [2020-07-10 15:31:55,035 INFO L280 TraceCheckUtils]: 1: Hoare triple {25431#true} assume 1 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-10 15:31:55,035 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25431#true} is VALID [2020-07-10 15:31:55,035 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} #res := ~__retres1~1; {25431#true} is VALID [2020-07-10 15:31:55,035 INFO L280 TraceCheckUtils]: 4: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,036 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {25431#true} {25431#true} #270#return; {25431#true} is VALID [2020-07-10 15:31:55,036 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-10 15:31:55,036 INFO L263 TraceCheckUtils]: 1: Hoare triple {25431#true} call #t~ret0 := is_do_write_p_triggered(); {25431#true} is VALID [2020-07-10 15:31:55,036 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} havoc ~__retres1~0; {25431#true} is VALID [2020-07-10 15:31:55,037 INFO L280 TraceCheckUtils]: 3: Hoare triple {25431#true} assume !(1 == ~p_dw_pc~0); {25431#true} is VALID [2020-07-10 15:31:55,037 INFO L280 TraceCheckUtils]: 4: Hoare triple {25431#true} ~__retres1~0 := 0; {25431#true} is VALID [2020-07-10 15:31:55,037 INFO L280 TraceCheckUtils]: 5: Hoare triple {25431#true} #res := ~__retres1~0; {25431#true} is VALID [2020-07-10 15:31:55,037 INFO L280 TraceCheckUtils]: 6: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,037 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {25431#true} {25431#true} #268#return; {25431#true} is VALID [2020-07-10 15:31:55,038 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-10 15:31:55,038 INFO L280 TraceCheckUtils]: 9: Hoare triple {25431#true} assume !(0 != ~tmp~0); {25431#true} is VALID [2020-07-10 15:31:55,038 INFO L263 TraceCheckUtils]: 10: Hoare triple {25431#true} call #t~ret1 := is_do_read_c_triggered(); {25431#true} is VALID [2020-07-10 15:31:55,038 INFO L280 TraceCheckUtils]: 11: Hoare triple {25431#true} havoc ~__retres1~1; {25431#true} is VALID [2020-07-10 15:31:55,038 INFO L280 TraceCheckUtils]: 12: Hoare triple {25431#true} assume 1 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-10 15:31:55,039 INFO L280 TraceCheckUtils]: 13: Hoare triple {25431#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25431#true} is VALID [2020-07-10 15:31:55,039 INFO L280 TraceCheckUtils]: 14: Hoare triple {25431#true} #res := ~__retres1~1; {25431#true} is VALID [2020-07-10 15:31:55,039 INFO L280 TraceCheckUtils]: 15: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,039 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {25431#true} {25431#true} #270#return; {25431#true} is VALID [2020-07-10 15:31:55,039 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-10 15:31:55,040 INFO L280 TraceCheckUtils]: 18: Hoare triple {25431#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {25431#true} is VALID [2020-07-10 15:31:55,040 INFO L280 TraceCheckUtils]: 19: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,040 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {25431#true} {25432#false} #290#return; {25432#false} is VALID [2020-07-10 15:31:55,043 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-10 15:31:55,043 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-10 15:31:55,043 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,043 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {25431#true} {25431#true} #286#return; {25431#true} is VALID [2020-07-10 15:31:55,044 INFO L263 TraceCheckUtils]: 4: Hoare triple {25431#true} call #t~ret8 := main(); {25431#true} is VALID [2020-07-10 15:31:55,044 INFO L280 TraceCheckUtils]: 5: Hoare triple {25431#true} havoc ~__retres1~3; {25431#true} is VALID [2020-07-10 15:31:55,045 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-10 15:31:55,046 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-10 15:31:55,046 INFO L280 TraceCheckUtils]: 8: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,046 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {25431#true} {25431#true} #262#return; {25431#true} is VALID [2020-07-10 15:31:55,046 INFO L263 TraceCheckUtils]: 10: Hoare triple {25431#true} call start_simulation(); {25431#true} is VALID [2020-07-10 15:31:55,046 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-10 15:31:55,047 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-10 15:31:55,049 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-10 15:31:55,050 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-10 15:31:55,051 INFO L280 TraceCheckUtils]: 15: Hoare triple {25485#(<= ~p_dw_st~0 0)} assume true; {25485#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:31:55,051 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-10 15:31:55,052 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-10 15:31:55,052 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-10 15:31:55,053 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-10 15:31:55,054 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-10 15:31:55,054 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-10 15:31:55,055 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-10 15:31:55,055 INFO L280 TraceCheckUtils]: 23: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,055 INFO L280 TraceCheckUtils]: 24: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-10 15:31:55,055 INFO L280 TraceCheckUtils]: 25: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,055 INFO L280 TraceCheckUtils]: 26: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,056 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {25431#true} {25443#(not (= 2 ~p_dw_st~0))} #272#return; {25431#true} is VALID [2020-07-10 15:31:55,056 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-10 15:31:55,056 INFO L280 TraceCheckUtils]: 29: Hoare triple {25431#true} assume 0 != ~tmp___1~0; {25431#true} is VALID [2020-07-10 15:31:55,056 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-10 15:31:55,057 INFO L280 TraceCheckUtils]: 31: Hoare triple {25431#true} assume !(0 != ~tmp~1); {25431#true} is VALID [2020-07-10 15:31:55,057 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-10 15:31:55,057 INFO L280 TraceCheckUtils]: 33: Hoare triple {25431#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25431#true} is VALID [2020-07-10 15:31:55,058 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-10 15:31:55,059 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-10 15:31:55,059 INFO L280 TraceCheckUtils]: 36: Hoare triple {25431#true} assume 0 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-10 15:31:55,059 INFO L280 TraceCheckUtils]: 37: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-10 15:31:55,060 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-10 15:31:55,061 INFO L280 TraceCheckUtils]: 39: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-10 15:31:55,062 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-10 15:31:55,062 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-10 15:31:55,063 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-10 15:31:55,063 INFO L280 TraceCheckUtils]: 43: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,063 INFO L280 TraceCheckUtils]: 44: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-10 15:31:55,064 INFO L280 TraceCheckUtils]: 45: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,064 INFO L280 TraceCheckUtils]: 46: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,065 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-10 15:31:55,066 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-10 15:31:55,066 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-10 15:31:55,067 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-10 15:31:55,068 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-10 15:31:55,069 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-10 15:31:55,069 INFO L280 TraceCheckUtils]: 53: Hoare triple {25432#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25432#false} is VALID [2020-07-10 15:31:55,069 INFO L263 TraceCheckUtils]: 54: Hoare triple {25432#false} call do_read_c(); {25432#false} is VALID [2020-07-10 15:31:55,069 INFO L280 TraceCheckUtils]: 55: Hoare triple {25432#false} havoc ~a~0; {25432#false} is VALID [2020-07-10 15:31:55,069 INFO L280 TraceCheckUtils]: 56: Hoare triple {25432#false} assume !(0 == ~c_dr_pc~0); {25432#false} is VALID [2020-07-10 15:31:55,070 INFO L280 TraceCheckUtils]: 57: Hoare triple {25432#false} assume 1 == ~c_dr_pc~0; {25432#false} is VALID [2020-07-10 15:31:55,070 INFO L280 TraceCheckUtils]: 58: Hoare triple {25432#false} ~a~0 := ~a_t~0; {25432#false} is VALID [2020-07-10 15:31:55,070 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-10 15:31:55,070 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-10 15:31:55,070 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-10 15:31:55,071 INFO L263 TraceCheckUtils]: 62: Hoare triple {25431#true} call #t~ret0 := is_do_write_p_triggered(); {25431#true} is VALID [2020-07-10 15:31:55,071 INFO L280 TraceCheckUtils]: 63: Hoare triple {25431#true} havoc ~__retres1~0; {25431#true} is VALID [2020-07-10 15:31:55,071 INFO L280 TraceCheckUtils]: 64: Hoare triple {25431#true} assume !(1 == ~p_dw_pc~0); {25431#true} is VALID [2020-07-10 15:31:55,071 INFO L280 TraceCheckUtils]: 65: Hoare triple {25431#true} ~__retres1~0 := 0; {25431#true} is VALID [2020-07-10 15:31:55,072 INFO L280 TraceCheckUtils]: 66: Hoare triple {25431#true} #res := ~__retres1~0; {25431#true} is VALID [2020-07-10 15:31:55,072 INFO L280 TraceCheckUtils]: 67: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,072 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {25431#true} {25431#true} #268#return; {25431#true} is VALID [2020-07-10 15:31:55,072 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-10 15:31:55,072 INFO L280 TraceCheckUtils]: 70: Hoare triple {25431#true} assume !(0 != ~tmp~0); {25431#true} is VALID [2020-07-10 15:31:55,072 INFO L263 TraceCheckUtils]: 71: Hoare triple {25431#true} call #t~ret1 := is_do_read_c_triggered(); {25431#true} is VALID [2020-07-10 15:31:55,073 INFO L280 TraceCheckUtils]: 72: Hoare triple {25431#true} havoc ~__retres1~1; {25431#true} is VALID [2020-07-10 15:31:55,073 INFO L280 TraceCheckUtils]: 73: Hoare triple {25431#true} assume 1 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-10 15:31:55,073 INFO L280 TraceCheckUtils]: 74: Hoare triple {25431#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25431#true} is VALID [2020-07-10 15:31:55,073 INFO L280 TraceCheckUtils]: 75: Hoare triple {25431#true} #res := ~__retres1~1; {25431#true} is VALID [2020-07-10 15:31:55,073 INFO L280 TraceCheckUtils]: 76: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,074 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {25431#true} {25431#true} #270#return; {25431#true} is VALID [2020-07-10 15:31:55,074 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-10 15:31:55,074 INFO L280 TraceCheckUtils]: 79: Hoare triple {25431#true} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {25431#true} is VALID [2020-07-10 15:31:55,074 INFO L280 TraceCheckUtils]: 80: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,074 INFO L275 TraceCheckUtils]: 81: Hoare quadruple {25431#true} {25432#false} #290#return; {25432#false} is VALID [2020-07-10 15:31:55,074 INFO L280 TraceCheckUtils]: 82: Hoare triple {25432#false} ~q_read_ev~0 := 2; {25432#false} is VALID [2020-07-10 15:31:55,075 INFO L280 TraceCheckUtils]: 83: Hoare triple {25432#false} assume !(~p_last_write~0 == ~c_last_read~0); {25432#false} is VALID [2020-07-10 15:31:55,075 INFO L263 TraceCheckUtils]: 84: Hoare triple {25432#false} call error(); {25432#false} is VALID [2020-07-10 15:31:55,075 INFO L280 TraceCheckUtils]: 85: Hoare triple {25432#false} assume !false; {25432#false} is VALID [2020-07-10 15:31:55,083 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-10 15:31:55,084 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1213705139] [2020-07-10 15:31:55,084 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [567522206] [2020-07-10 15:31:55,084 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-10 15:31:55,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,224 INFO L264 TraceCheckSpWp]: Trace formula consists of 572 conjuncts, 2 conjunts are in the unsatisfiable core [2020-07-10 15:31:55,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:31:55,291 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:31:55,446 INFO L263 TraceCheckUtils]: 0: Hoare triple {25431#true} call ULTIMATE.init(); {25431#true} is VALID [2020-07-10 15:31:55,447 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-10 15:31:55,447 INFO L280 TraceCheckUtils]: 2: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,447 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {25431#true} {25431#true} #286#return; {25431#true} is VALID [2020-07-10 15:31:55,447 INFO L263 TraceCheckUtils]: 4: Hoare triple {25431#true} call #t~ret8 := main(); {25431#true} is VALID [2020-07-10 15:31:55,448 INFO L280 TraceCheckUtils]: 5: Hoare triple {25431#true} havoc ~__retres1~3; {25431#true} is VALID [2020-07-10 15:31:55,448 INFO L263 TraceCheckUtils]: 6: Hoare triple {25431#true} call init_model(); {25431#true} is VALID [2020-07-10 15:31:55,448 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-10 15:31:55,448 INFO L280 TraceCheckUtils]: 8: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,448 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {25431#true} {25431#true} #262#return; {25431#true} is VALID [2020-07-10 15:31:55,449 INFO L263 TraceCheckUtils]: 10: Hoare triple {25431#true} call start_simulation(); {25431#true} is VALID [2020-07-10 15:31:55,449 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-10 15:31:55,449 INFO L263 TraceCheckUtils]: 12: Hoare triple {25431#true} call init_threads(); {25431#true} is VALID [2020-07-10 15:31:55,449 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-10 15:31:55,450 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-10 15:31:55,450 INFO L280 TraceCheckUtils]: 15: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,450 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {25431#true} {25431#true} #280#return; {25431#true} is VALID [2020-07-10 15:31:55,450 INFO L280 TraceCheckUtils]: 17: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-10 15:31:55,450 INFO L280 TraceCheckUtils]: 18: Hoare triple {25431#true} ~kernel_st~0 := 1; {25431#true} is VALID [2020-07-10 15:31:55,451 INFO L263 TraceCheckUtils]: 19: Hoare triple {25431#true} call eval(); {25431#true} is VALID [2020-07-10 15:31:55,451 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-10 15:31:55,451 INFO L280 TraceCheckUtils]: 21: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-10 15:31:55,451 INFO L263 TraceCheckUtils]: 22: Hoare triple {25431#true} call #t~ret3 := exists_runnable_thread(); {25431#true} is VALID [2020-07-10 15:31:55,451 INFO L280 TraceCheckUtils]: 23: Hoare triple {25431#true} havoc ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,452 INFO L280 TraceCheckUtils]: 24: Hoare triple {25431#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {25431#true} is VALID [2020-07-10 15:31:55,452 INFO L280 TraceCheckUtils]: 25: Hoare triple {25431#true} #res := ~__retres1~2; {25431#true} is VALID [2020-07-10 15:31:55,452 INFO L280 TraceCheckUtils]: 26: Hoare triple {25431#true} assume true; {25431#true} is VALID [2020-07-10 15:31:55,452 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {25431#true} {25431#true} #272#return; {25431#true} is VALID [2020-07-10 15:31:55,453 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-10 15:31:55,453 INFO L280 TraceCheckUtils]: 29: Hoare triple {25431#true} assume 0 != ~tmp___1~0; {25431#true} is VALID [2020-07-10 15:31:55,454 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-10 15:31:55,454 INFO L280 TraceCheckUtils]: 31: Hoare triple {25431#true} assume !(0 != ~tmp~1); {25431#true} is VALID [2020-07-10 15:31:55,454 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-10 15:31:55,454 INFO L280 TraceCheckUtils]: 33: Hoare triple {25431#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25431#true} is VALID [2020-07-10 15:31:55,455 INFO L263 TraceCheckUtils]: 34: Hoare triple {25431#true} call do_read_c(); {25431#true} is VALID [2020-07-10 15:31:55,455 INFO L280 TraceCheckUtils]: 35: Hoare triple {25431#true} havoc ~a~0; {25431#true} is VALID [2020-07-10 15:31:55,455 INFO L280 TraceCheckUtils]: 36: Hoare triple {25431#true} assume 0 == ~c_dr_pc~0; {25431#true} is VALID [2020-07-10 15:31:55,455 INFO L280 TraceCheckUtils]: 37: Hoare triple {25431#true} assume !false; {25431#true} is VALID [2020-07-10 15:31:55,457 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-10 15:31:55,457 INFO L280 TraceCheckUtils]: 39: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-10 15:31:55,459 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-10 15:31:55,460 INFO L280 TraceCheckUtils]: 41: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume !false; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-10 15:31:55,460 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-10 15:31:55,461 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-10 15:31:55,461 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-10 15:31:55,462 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-10 15:31:55,463 INFO L280 TraceCheckUtils]: 46: Hoare triple {25487#(<= 2 ~c_dr_st~0)} assume true; {25487#(<= 2 ~c_dr_st~0)} is VALID [2020-07-10 15:31:55,464 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-10 15:31:55,465 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-10 15:31:55,466 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-10 15:31:55,467 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-10 15:31:55,467 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-10 15:31:55,468 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-10 15:31:55,469 INFO L280 TraceCheckUtils]: 53: Hoare triple {25432#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {25432#false} is VALID [2020-07-10 15:31:55,469 INFO L263 TraceCheckUtils]: 54: Hoare triple {25432#false} call do_read_c(); {25432#false} is VALID [2020-07-10 15:31:55,469 INFO L280 TraceCheckUtils]: 55: Hoare triple {25432#false} havoc ~a~0; {25432#false} is VALID [2020-07-10 15:31:55,469 INFO L280 TraceCheckUtils]: 56: Hoare triple {25432#false} assume !(0 == ~c_dr_pc~0); {25432#false} is VALID [2020-07-10 15:31:55,469 INFO L280 TraceCheckUtils]: 57: Hoare triple {25432#false} assume 1 == ~c_dr_pc~0; {25432#false} is VALID [2020-07-10 15:31:55,470 INFO L280 TraceCheckUtils]: 58: Hoare triple {25432#false} ~a~0 := ~a_t~0; {25432#false} is VALID [2020-07-10 15:31:55,470 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-10 15:31:55,470 INFO L263 TraceCheckUtils]: 60: Hoare triple {25432#false} call immediate_notify_threads(); {25432#false} is VALID [2020-07-10 15:31:55,470 INFO L280 TraceCheckUtils]: 61: Hoare triple {25432#false} havoc ~tmp~0;havoc ~tmp___0~0; {25432#false} is VALID [2020-07-10 15:31:55,471 INFO L263 TraceCheckUtils]: 62: Hoare triple {25432#false} call #t~ret0 := is_do_write_p_triggered(); {25432#false} is VALID [2020-07-10 15:31:55,471 INFO L280 TraceCheckUtils]: 63: Hoare triple {25432#false} havoc ~__retres1~0; {25432#false} is VALID [2020-07-10 15:31:55,471 INFO L280 TraceCheckUtils]: 64: Hoare triple {25432#false} assume !(1 == ~p_dw_pc~0); {25432#false} is VALID [2020-07-10 15:31:55,471 INFO L280 TraceCheckUtils]: 65: Hoare triple {25432#false} ~__retres1~0 := 0; {25432#false} is VALID [2020-07-10 15:31:55,471 INFO L280 TraceCheckUtils]: 66: Hoare triple {25432#false} #res := ~__retres1~0; {25432#false} is VALID [2020-07-10 15:31:55,472 INFO L280 TraceCheckUtils]: 67: Hoare triple {25432#false} assume true; {25432#false} is VALID [2020-07-10 15:31:55,472 INFO L275 TraceCheckUtils]: 68: Hoare quadruple {25432#false} {25432#false} #268#return; {25432#false} is VALID [2020-07-10 15:31:55,472 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-10 15:31:55,472 INFO L280 TraceCheckUtils]: 70: Hoare triple {25432#false} assume !(0 != ~tmp~0); {25432#false} is VALID [2020-07-10 15:31:55,472 INFO L263 TraceCheckUtils]: 71: Hoare triple {25432#false} call #t~ret1 := is_do_read_c_triggered(); {25432#false} is VALID [2020-07-10 15:31:55,473 INFO L280 TraceCheckUtils]: 72: Hoare triple {25432#false} havoc ~__retres1~1; {25432#false} is VALID [2020-07-10 15:31:55,473 INFO L280 TraceCheckUtils]: 73: Hoare triple {25432#false} assume 1 == ~c_dr_pc~0; {25432#false} is VALID [2020-07-10 15:31:55,473 INFO L280 TraceCheckUtils]: 74: Hoare triple {25432#false} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {25432#false} is VALID [2020-07-10 15:31:55,473 INFO L280 TraceCheckUtils]: 75: Hoare triple {25432#false} #res := ~__retres1~1; {25432#false} is VALID [2020-07-10 15:31:55,473 INFO L280 TraceCheckUtils]: 76: Hoare triple {25432#false} assume true; {25432#false} is VALID [2020-07-10 15:31:55,474 INFO L275 TraceCheckUtils]: 77: Hoare quadruple {25432#false} {25432#false} #270#return; {25432#false} is VALID [2020-07-10 15:31:55,474 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-10 15:31:55,474 INFO L280 TraceCheckUtils]: 79: Hoare triple {25432#false} assume 0 != ~tmp___0~0;~c_dr_st~0 := 0; {25432#false} is VALID [2020-07-10 15:31:55,474 INFO L280 TraceCheckUtils]: 80: Hoare triple {25432#false} assume true; {25432#false} is VALID [2020-07-10 15:31:55,474 INFO L275 TraceCheckUtils]: 81: Hoare quadruple {25432#false} {25432#false} #290#return; {25432#false} is VALID [2020-07-10 15:31:55,475 INFO L280 TraceCheckUtils]: 82: Hoare triple {25432#false} ~q_read_ev~0 := 2; {25432#false} is VALID [2020-07-10 15:31:55,475 INFO L280 TraceCheckUtils]: 83: Hoare triple {25432#false} assume !(~p_last_write~0 == ~c_last_read~0); {25432#false} is VALID [2020-07-10 15:31:55,475 INFO L263 TraceCheckUtils]: 84: Hoare triple {25432#false} call error(); {25432#false} is VALID [2020-07-10 15:31:55,475 INFO L280 TraceCheckUtils]: 85: Hoare triple {25432#false} assume !false; {25432#false} is VALID [2020-07-10 15:31:55,483 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-10 15:31:55,483 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-10 15:31:55,484 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [10] total 10 [2020-07-10 15:31:55,484 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734346667] [2020-07-10 15:31:55,484 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 86 [2020-07-10 15:31:55,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:31:55,485 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-10 15:31:55,590 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-10 15:31:55,590 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-10 15:31:55,590 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:31:55,590 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-10 15:31:55,591 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2020-07-10 15:31:55,591 INFO L87 Difference]: Start difference. First operand 708 states and 908 transitions. Second operand 3 states. [2020-07-10 15:32:00,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:00,492 INFO L93 Difference]: Finished difference Result 1674 states and 2250 transitions. [2020-07-10 15:32:00,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 15:32:00,492 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 86 [2020-07-10 15:32:00,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:32:00,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:32:00,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 316 transitions. [2020-07-10 15:32:00,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:32:00,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 316 transitions. [2020-07-10 15:32:00,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 316 transitions. [2020-07-10 15:32:00,866 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-10 15:32:00,939 INFO L225 Difference]: With dead ends: 1674 [2020-07-10 15:32:00,939 INFO L226 Difference]: Without dead ends: 812 [2020-07-10 15:32:00,945 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 102 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2020-07-10 15:32:00,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 812 states. [2020-07-10 15:32:03,982 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 812 to 812. [2020-07-10 15:32:03,982 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:32:03,982 INFO L82 GeneralOperation]: Start isEquivalent. First operand 812 states. Second operand 812 states. [2020-07-10 15:32:03,982 INFO L74 IsIncluded]: Start isIncluded. First operand 812 states. Second operand 812 states. [2020-07-10 15:32:03,983 INFO L87 Difference]: Start difference. First operand 812 states. Second operand 812 states. [2020-07-10 15:32:04,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:04,041 INFO L93 Difference]: Finished difference Result 812 states and 1048 transitions. [2020-07-10 15:32:04,041 INFO L276 IsEmpty]: Start isEmpty. Operand 812 states and 1048 transitions. [2020-07-10 15:32:04,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:32:04,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:32:04,049 INFO L74 IsIncluded]: Start isIncluded. First operand 812 states. Second operand 812 states. [2020-07-10 15:32:04,049 INFO L87 Difference]: Start difference. First operand 812 states. Second operand 812 states. [2020-07-10 15:32:04,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:04,117 INFO L93 Difference]: Finished difference Result 812 states and 1048 transitions. [2020-07-10 15:32:04,117 INFO L276 IsEmpty]: Start isEmpty. Operand 812 states and 1048 transitions. [2020-07-10 15:32:04,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:32:04,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:32:04,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:32:04,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:32:04,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 812 states. [2020-07-10 15:32:04,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 812 states to 812 states and 1048 transitions. [2020-07-10 15:32:04,213 INFO L78 Accepts]: Start accepts. Automaton has 812 states and 1048 transitions. Word has length 86 [2020-07-10 15:32:04,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:32:04,214 INFO L479 AbstractCegarLoop]: Abstraction has 812 states and 1048 transitions. [2020-07-10 15:32:04,214 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-10 15:32:04,214 INFO L276 IsEmpty]: Start isEmpty. Operand 812 states and 1048 transitions. [2020-07-10 15:32:04,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 99 [2020-07-10 15:32:04,218 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:32:04,219 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-10 15:32:04,434 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-10 15:32:04,434 INFO L427 AbstractCegarLoop]: === Iteration 11 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:32:04,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:32:04,435 INFO L82 PathProgramCache]: Analyzing trace with hash -232030383, now seen corresponding path program 1 times [2020-07-10 15:32:04,435 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:32:04,435 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966903200] [2020-07-10 15:32:04,437 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:32:04,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,580 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-10 15:32:04,580 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,581 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {30809#true} {30809#true} #286#return; {30809#true} is VALID [2020-07-10 15:32:04,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,619 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-10 15:32:04,620 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,620 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {30809#true} {30809#true} #262#return; {30809#true} is VALID [2020-07-10 15:32:04,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,643 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-10 15:32:04,644 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-10 15:32:04,644 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,645 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {30809#true} {30809#true} #280#return; {30809#true} is VALID [2020-07-10 15:32:04,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,649 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~2; {30809#true} is VALID [2020-07-10 15:32:04,650 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30809#true} is VALID [2020-07-10 15:32:04,650 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} #res := ~__retres1~2; {30809#true} is VALID [2020-07-10 15:32:04,650 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,650 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {30809#true} {30809#true} #272#return; {30809#true} is VALID [2020-07-10 15:32:04,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,735 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,735 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,735 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-10 15:32:04,736 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,736 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,736 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,741 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,741 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,741 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,742 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,742 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,742 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,743 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-10 15:32:04,743 INFO L263 TraceCheckUtils]: 1: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,743 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,744 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,744 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-10 15:32:04,744 INFO L280 TraceCheckUtils]: 5: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,744 INFO L280 TraceCheckUtils]: 6: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,745 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,745 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-10 15:32:04,745 INFO L280 TraceCheckUtils]: 9: Hoare triple {30809#true} assume !(0 != ~tmp~0); {30809#true} is VALID [2020-07-10 15:32:04,746 INFO L263 TraceCheckUtils]: 10: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,746 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,746 INFO L280 TraceCheckUtils]: 12: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,746 INFO L280 TraceCheckUtils]: 13: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,747 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,747 INFO L280 TraceCheckUtils]: 15: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,747 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,747 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-10 15:32:04,747 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-10 15:32:04,747 INFO L280 TraceCheckUtils]: 19: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,748 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-10 15:32:04,749 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-10 15:32:04,749 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-10 15:32:04,750 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume !(0 == ~q_free~0); {30809#true} is VALID [2020-07-10 15:32:04,751 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-10 15:32:04,752 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-10 15:32:04,752 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-10 15:32:04,753 INFO L263 TraceCheckUtils]: 6: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,753 INFO L280 TraceCheckUtils]: 7: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,753 INFO L280 TraceCheckUtils]: 8: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,754 INFO L280 TraceCheckUtils]: 9: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-10 15:32:04,754 INFO L280 TraceCheckUtils]: 10: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,754 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,755 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,755 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-10 15:32:04,755 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} assume !(0 != ~tmp~0); {30809#true} is VALID [2020-07-10 15:32:04,755 INFO L263 TraceCheckUtils]: 15: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,755 INFO L280 TraceCheckUtils]: 16: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,756 INFO L280 TraceCheckUtils]: 17: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,756 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,756 INFO L280 TraceCheckUtils]: 19: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,756 INFO L280 TraceCheckUtils]: 20: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,756 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,757 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-10 15:32:04,757 INFO L280 TraceCheckUtils]: 23: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-10 15:32:04,757 INFO L280 TraceCheckUtils]: 24: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,758 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-10 15:32:04,759 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-10 15:32:04,759 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-10 15:32:04,760 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-10 15:32:04,760 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-10 15:32:04,761 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-10 15:32:04,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,791 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,791 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume 1 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-10 15:32:04,792 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {30809#true} is VALID [2020-07-10 15:32:04,792 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,792 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,792 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:04,796 INFO L280 TraceCheckUtils]: 0: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,797 INFO L280 TraceCheckUtils]: 1: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,797 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,797 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,797 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,798 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,798 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-10 15:32:04,798 INFO L263 TraceCheckUtils]: 1: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,798 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,799 INFO L280 TraceCheckUtils]: 3: Hoare triple {30809#true} assume 1 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-10 15:32:04,799 INFO L280 TraceCheckUtils]: 4: Hoare triple {30809#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {30809#true} is VALID [2020-07-10 15:32:04,799 INFO L280 TraceCheckUtils]: 5: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,800 INFO L280 TraceCheckUtils]: 6: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,800 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,800 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-10 15:32:04,800 INFO L280 TraceCheckUtils]: 9: Hoare triple {30809#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {30809#true} is VALID [2020-07-10 15:32:04,801 INFO L263 TraceCheckUtils]: 10: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,801 INFO L280 TraceCheckUtils]: 11: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,801 INFO L280 TraceCheckUtils]: 12: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,801 INFO L280 TraceCheckUtils]: 13: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,802 INFO L280 TraceCheckUtils]: 14: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,802 INFO L280 TraceCheckUtils]: 15: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,802 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,802 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-10 15:32:04,803 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-10 15:32:04,803 INFO L280 TraceCheckUtils]: 19: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,805 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-10 15:32:04,809 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-10 15:32:04,809 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-10 15:32:04,810 INFO L280 TraceCheckUtils]: 2: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,810 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {30809#true} {30809#true} #286#return; {30809#true} is VALID [2020-07-10 15:32:04,810 INFO L263 TraceCheckUtils]: 4: Hoare triple {30809#true} call #t~ret8 := main(); {30809#true} is VALID [2020-07-10 15:32:04,810 INFO L280 TraceCheckUtils]: 5: Hoare triple {30809#true} havoc ~__retres1~3; {30809#true} is VALID [2020-07-10 15:32:04,812 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-10 15:32:04,812 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-10 15:32:04,812 INFO L280 TraceCheckUtils]: 8: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,812 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {30809#true} {30809#true} #262#return; {30809#true} is VALID [2020-07-10 15:32:04,813 INFO L263 TraceCheckUtils]: 10: Hoare triple {30809#true} call start_simulation(); {30809#true} is VALID [2020-07-10 15:32:04,813 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-10 15:32:04,815 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-10 15:32:04,815 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-10 15:32:04,816 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-10 15:32:04,816 INFO L280 TraceCheckUtils]: 15: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,816 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {30809#true} {30809#true} #280#return; {30809#true} is VALID [2020-07-10 15:32:04,816 INFO L280 TraceCheckUtils]: 17: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-10 15:32:04,817 INFO L280 TraceCheckUtils]: 18: Hoare triple {30809#true} ~kernel_st~0 := 1; {30809#true} is VALID [2020-07-10 15:32:04,817 INFO L263 TraceCheckUtils]: 19: Hoare triple {30809#true} call eval(); {30809#true} is VALID [2020-07-10 15:32:04,817 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-10 15:32:04,817 INFO L280 TraceCheckUtils]: 21: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-10 15:32:04,818 INFO L263 TraceCheckUtils]: 22: Hoare triple {30809#true} call #t~ret3 := exists_runnable_thread(); {30809#true} is VALID [2020-07-10 15:32:04,818 INFO L280 TraceCheckUtils]: 23: Hoare triple {30809#true} havoc ~__retres1~2; {30809#true} is VALID [2020-07-10 15:32:04,818 INFO L280 TraceCheckUtils]: 24: Hoare triple {30809#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30809#true} is VALID [2020-07-10 15:32:04,818 INFO L280 TraceCheckUtils]: 25: Hoare triple {30809#true} #res := ~__retres1~2; {30809#true} is VALID [2020-07-10 15:32:04,819 INFO L280 TraceCheckUtils]: 26: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,819 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {30809#true} {30809#true} #272#return; {30809#true} is VALID [2020-07-10 15:32:04,819 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-10 15:32:04,819 INFO L280 TraceCheckUtils]: 29: Hoare triple {30809#true} assume 0 != ~tmp___1~0; {30809#true} is VALID [2020-07-10 15:32:04,820 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-10 15:32:04,820 INFO L280 TraceCheckUtils]: 31: Hoare triple {30809#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {30809#true} is VALID [2020-07-10 15:32:04,822 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-10 15:32:04,823 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-10 15:32:04,823 INFO L280 TraceCheckUtils]: 34: Hoare triple {30809#true} assume !false; {30809#true} is VALID [2020-07-10 15:32:04,823 INFO L280 TraceCheckUtils]: 35: Hoare triple {30809#true} assume !(0 == ~q_free~0); {30809#true} is VALID [2020-07-10 15:32:04,824 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-10 15:32:04,825 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-10 15:32:04,826 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-10 15:32:04,826 INFO L263 TraceCheckUtils]: 39: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,826 INFO L280 TraceCheckUtils]: 40: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,826 INFO L280 TraceCheckUtils]: 41: Hoare triple {30809#true} assume !(1 == ~p_dw_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,827 INFO L280 TraceCheckUtils]: 42: Hoare triple {30809#true} ~__retres1~0 := 0; {30809#true} is VALID [2020-07-10 15:32:04,827 INFO L280 TraceCheckUtils]: 43: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,827 INFO L280 TraceCheckUtils]: 44: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,827 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,827 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-10 15:32:04,828 INFO L280 TraceCheckUtils]: 47: Hoare triple {30809#true} assume !(0 != ~tmp~0); {30809#true} is VALID [2020-07-10 15:32:04,828 INFO L263 TraceCheckUtils]: 48: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,828 INFO L280 TraceCheckUtils]: 49: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,828 INFO L280 TraceCheckUtils]: 50: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,828 INFO L280 TraceCheckUtils]: 51: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,829 INFO L280 TraceCheckUtils]: 52: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,829 INFO L280 TraceCheckUtils]: 53: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,829 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,829 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-10 15:32:04,829 INFO L280 TraceCheckUtils]: 56: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-10 15:32:04,830 INFO L280 TraceCheckUtils]: 57: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,831 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-10 15:32:04,831 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-10 15:32:04,832 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-10 15:32:04,833 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-10 15:32:04,833 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-10 15:32:04,834 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-10 15:32:04,835 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-10 15:32:04,835 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-10 15:32:04,836 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-10 15:32:04,837 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-10 15:32:04,837 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-10 15:32:04,838 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-10 15:32:04,838 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-10 15:32:04,839 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-10 15:32:04,840 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-10 15:32:04,840 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-10 15:32:04,840 INFO L263 TraceCheckUtils]: 74: Hoare triple {30809#true} call #t~ret0 := is_do_write_p_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,840 INFO L280 TraceCheckUtils]: 75: Hoare triple {30809#true} havoc ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,841 INFO L280 TraceCheckUtils]: 76: Hoare triple {30809#true} assume 1 == ~p_dw_pc~0; {30809#true} is VALID [2020-07-10 15:32:04,841 INFO L280 TraceCheckUtils]: 77: Hoare triple {30809#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {30809#true} is VALID [2020-07-10 15:32:04,841 INFO L280 TraceCheckUtils]: 78: Hoare triple {30809#true} #res := ~__retres1~0; {30809#true} is VALID [2020-07-10 15:32:04,841 INFO L280 TraceCheckUtils]: 79: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,841 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {30809#true} {30809#true} #268#return; {30809#true} is VALID [2020-07-10 15:32:04,842 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-10 15:32:04,842 INFO L280 TraceCheckUtils]: 82: Hoare triple {30809#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {30809#true} is VALID [2020-07-10 15:32:04,842 INFO L263 TraceCheckUtils]: 83: Hoare triple {30809#true} call #t~ret1 := is_do_read_c_triggered(); {30809#true} is VALID [2020-07-10 15:32:04,842 INFO L280 TraceCheckUtils]: 84: Hoare triple {30809#true} havoc ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,842 INFO L280 TraceCheckUtils]: 85: Hoare triple {30809#true} assume !(1 == ~c_dr_pc~0); {30809#true} is VALID [2020-07-10 15:32:04,843 INFO L280 TraceCheckUtils]: 86: Hoare triple {30809#true} ~__retres1~1 := 0; {30809#true} is VALID [2020-07-10 15:32:04,843 INFO L280 TraceCheckUtils]: 87: Hoare triple {30809#true} #res := ~__retres1~1; {30809#true} is VALID [2020-07-10 15:32:04,843 INFO L280 TraceCheckUtils]: 88: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,843 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {30809#true} {30809#true} #270#return; {30809#true} is VALID [2020-07-10 15:32:04,843 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-10 15:32:04,843 INFO L280 TraceCheckUtils]: 91: Hoare triple {30809#true} assume !(0 != ~tmp___0~0); {30809#true} is VALID [2020-07-10 15:32:04,844 INFO L280 TraceCheckUtils]: 92: Hoare triple {30809#true} assume true; {30809#true} is VALID [2020-07-10 15:32:04,845 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-10 15:32:04,845 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-10 15:32:04,846 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-10 15:32:04,846 INFO L263 TraceCheckUtils]: 96: Hoare triple {30810#false} call error(); {30810#false} is VALID [2020-07-10 15:32:04,846 INFO L280 TraceCheckUtils]: 97: Hoare triple {30810#false} assume !false; {30810#false} is VALID [2020-07-10 15:32:04,857 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-10 15:32:04,858 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [966903200] [2020-07-10 15:32:04,858 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:32:04,858 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 15:32:04,858 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1615714814] [2020-07-10 15:32:04,859 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 98 [2020-07-10 15:32:04,862 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:32:04,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 15:32:04,956 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-10 15:32:04,956 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 15:32:04,956 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:32:04,957 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 15:32:04,957 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-10 15:32:04,958 INFO L87 Difference]: Start difference. First operand 812 states and 1048 transitions. Second operand 8 states. [2020-07-10 15:32:11,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:11,478 INFO L93 Difference]: Finished difference Result 962 states and 1270 transitions. [2020-07-10 15:32:11,478 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 15:32:11,478 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 98 [2020-07-10 15:32:11,479 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:32:11,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:32:11,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 285 transitions. [2020-07-10 15:32:11,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:32:11,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 285 transitions. [2020-07-10 15:32:11,486 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 285 transitions. [2020-07-10 15:32:12,066 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-10 15:32:12,160 INFO L225 Difference]: With dead ends: 962 [2020-07-10 15:32:12,160 INFO L226 Difference]: Without dead ends: 959 [2020-07-10 15:32:12,161 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 28 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=66, Invalid=144, Unknown=0, NotChecked=0, Total=210 [2020-07-10 15:32:12,163 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 959 states. [2020-07-10 15:32:15,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 959 to 820. [2020-07-10 15:32:15,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:32:15,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 959 states. Second operand 820 states. [2020-07-10 15:32:15,437 INFO L74 IsIncluded]: Start isIncluded. First operand 959 states. Second operand 820 states. [2020-07-10 15:32:15,437 INFO L87 Difference]: Start difference. First operand 959 states. Second operand 820 states. [2020-07-10 15:32:15,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:15,514 INFO L93 Difference]: Finished difference Result 959 states and 1264 transitions. [2020-07-10 15:32:15,514 INFO L276 IsEmpty]: Start isEmpty. Operand 959 states and 1264 transitions. [2020-07-10 15:32:15,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:32:15,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:32:15,523 INFO L74 IsIncluded]: Start isIncluded. First operand 820 states. Second operand 959 states. [2020-07-10 15:32:15,523 INFO L87 Difference]: Start difference. First operand 820 states. Second operand 959 states. [2020-07-10 15:32:15,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:15,610 INFO L93 Difference]: Finished difference Result 959 states and 1264 transitions. [2020-07-10 15:32:15,611 INFO L276 IsEmpty]: Start isEmpty. Operand 959 states and 1264 transitions. [2020-07-10 15:32:15,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:32:15,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:32:15,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:32:15,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:32:15,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 820 states. [2020-07-10 15:32:15,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 820 states to 820 states and 1043 transitions. [2020-07-10 15:32:15,692 INFO L78 Accepts]: Start accepts. Automaton has 820 states and 1043 transitions. Word has length 98 [2020-07-10 15:32:15,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:32:15,693 INFO L479 AbstractCegarLoop]: Abstraction has 820 states and 1043 transitions. [2020-07-10 15:32:15,693 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 15:32:15,693 INFO L276 IsEmpty]: Start isEmpty. Operand 820 states and 1043 transitions. [2020-07-10 15:32:15,696 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2020-07-10 15:32:15,697 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:32:15,697 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-10 15:32:15,698 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-10 15:32:15,698 INFO L427 AbstractCegarLoop]: === Iteration 12 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:32:15,698 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:32:15,699 INFO L82 PathProgramCache]: Analyzing trace with hash 1396688396, now seen corresponding path program 1 times [2020-07-10 15:32:15,699 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:32:15,699 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [327551833] [2020-07-10 15:32:15,700 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:32:15,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:15,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:15,944 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-10 15:32:15,945 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:15,945 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {35333#true} {35333#true} #286#return; {35333#true} is VALID [2020-07-10 15:32:15,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:15,993 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-10 15:32:15,994 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-10 15:32:15,994 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-10 15:32:16,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,015 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-10 15:32:16,015 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-10 15:32:16,015 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,016 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-10 15:32:16,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,024 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~2; {35333#true} is VALID [2020-07-10 15:32:16,025 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {35333#true} is VALID [2020-07-10 15:32:16,025 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} #res := ~__retres1~2; {35333#true} is VALID [2020-07-10 15:32:16,025 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,026 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-10 15:32:16,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,136 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,137 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,137 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-10 15:32:16,137 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,137 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,138 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,147 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,147 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,147 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,148 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,148 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,148 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,148 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-10 15:32:16,148 INFO L263 TraceCheckUtils]: 1: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,149 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,149 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,149 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-10 15:32:16,149 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,149 INFO L280 TraceCheckUtils]: 6: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,150 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,150 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-10 15:32:16,150 INFO L280 TraceCheckUtils]: 9: Hoare triple {35333#true} assume !(0 != ~tmp~0); {35333#true} is VALID [2020-07-10 15:32:16,150 INFO L263 TraceCheckUtils]: 10: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,151 INFO L280 TraceCheckUtils]: 11: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,151 INFO L280 TraceCheckUtils]: 12: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,151 INFO L280 TraceCheckUtils]: 13: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,151 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,151 INFO L280 TraceCheckUtils]: 15: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,152 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,152 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-10 15:32:16,152 INFO L280 TraceCheckUtils]: 18: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-10 15:32:16,152 INFO L280 TraceCheckUtils]: 19: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,154 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-10 15:32:16,156 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-10 15:32:16,158 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-10 15:32:16,158 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-10 15:32:16,159 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-10 15:32:16,160 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-10 15:32:16,160 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-10 15:32:16,160 INFO L263 TraceCheckUtils]: 6: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,161 INFO L280 TraceCheckUtils]: 7: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,161 INFO L280 TraceCheckUtils]: 8: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,161 INFO L280 TraceCheckUtils]: 9: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-10 15:32:16,161 INFO L280 TraceCheckUtils]: 10: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,161 INFO L280 TraceCheckUtils]: 11: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,162 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,162 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-10 15:32:16,162 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} assume !(0 != ~tmp~0); {35333#true} is VALID [2020-07-10 15:32:16,162 INFO L263 TraceCheckUtils]: 15: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,163 INFO L280 TraceCheckUtils]: 16: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,163 INFO L280 TraceCheckUtils]: 17: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,163 INFO L280 TraceCheckUtils]: 18: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,163 INFO L280 TraceCheckUtils]: 19: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,163 INFO L280 TraceCheckUtils]: 20: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,164 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,164 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-10 15:32:16,164 INFO L280 TraceCheckUtils]: 23: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-10 15:32:16,164 INFO L280 TraceCheckUtils]: 24: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,166 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-10 15:32:16,167 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-10 15:32:16,167 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-10 15:32:16,168 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-10 15:32:16,169 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-10 15:32:16,171 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-10 15:32:16,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,187 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,188 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume 1 == ~p_dw_pc~0; {35333#true} is VALID [2020-07-10 15:32:16,188 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35333#true} is VALID [2020-07-10 15:32:16,188 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,188 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,189 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,192 INFO L280 TraceCheckUtils]: 0: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,193 INFO L280 TraceCheckUtils]: 1: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,193 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,193 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,193 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,193 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,194 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-10 15:32:16,194 INFO L263 TraceCheckUtils]: 1: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,194 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,194 INFO L280 TraceCheckUtils]: 3: Hoare triple {35333#true} assume 1 == ~p_dw_pc~0; {35333#true} is VALID [2020-07-10 15:32:16,195 INFO L280 TraceCheckUtils]: 4: Hoare triple {35333#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35333#true} is VALID [2020-07-10 15:32:16,195 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,195 INFO L280 TraceCheckUtils]: 6: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,195 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,196 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-10 15:32:16,196 INFO L280 TraceCheckUtils]: 9: Hoare triple {35333#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {35333#true} is VALID [2020-07-10 15:32:16,196 INFO L263 TraceCheckUtils]: 10: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,196 INFO L280 TraceCheckUtils]: 11: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,196 INFO L280 TraceCheckUtils]: 12: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,197 INFO L280 TraceCheckUtils]: 13: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,197 INFO L280 TraceCheckUtils]: 14: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,197 INFO L280 TraceCheckUtils]: 15: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,197 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,198 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-10 15:32:16,198 INFO L280 TraceCheckUtils]: 18: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-10 15:32:16,198 INFO L280 TraceCheckUtils]: 19: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,200 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-10 15:32:16,202 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-10 15:32:16,202 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-10 15:32:16,203 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,203 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {35333#true} {35333#true} #286#return; {35333#true} is VALID [2020-07-10 15:32:16,203 INFO L263 TraceCheckUtils]: 4: Hoare triple {35333#true} call #t~ret8 := main(); {35333#true} is VALID [2020-07-10 15:32:16,203 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} havoc ~__retres1~3; {35333#true} is VALID [2020-07-10 15:32:16,205 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-10 15:32:16,206 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-10 15:32:16,206 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-10 15:32:16,207 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-10 15:32:16,208 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-10 15:32:16,208 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-10 15:32:16,209 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-10 15:32:16,210 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-10 15:32:16,210 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-10 15:32:16,210 INFO L280 TraceCheckUtils]: 15: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,211 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-10 15:32:16,213 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-10 15:32:16,213 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-10 15:32:16,214 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-10 15:32:16,215 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-10 15:32:16,216 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-10 15:32:16,217 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-10 15:32:16,217 INFO L280 TraceCheckUtils]: 23: Hoare triple {35333#true} havoc ~__retres1~2; {35333#true} is VALID [2020-07-10 15:32:16,217 INFO L280 TraceCheckUtils]: 24: Hoare triple {35333#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {35333#true} is VALID [2020-07-10 15:32:16,218 INFO L280 TraceCheckUtils]: 25: Hoare triple {35333#true} #res := ~__retres1~2; {35333#true} is VALID [2020-07-10 15:32:16,218 INFO L280 TraceCheckUtils]: 26: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,220 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-10 15:32:16,221 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-10 15:32:16,222 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-10 15:32:16,223 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-10 15:32:16,224 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-10 15:32:16,225 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-10 15:32:16,226 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-10 15:32:16,226 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-10 15:32:16,227 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-10 15:32:16,229 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-10 15:32:16,230 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-10 15:32:16,230 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-10 15:32:16,231 INFO L263 TraceCheckUtils]: 39: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,231 INFO L280 TraceCheckUtils]: 40: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,231 INFO L280 TraceCheckUtils]: 41: Hoare triple {35333#true} assume !(1 == ~p_dw_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,231 INFO L280 TraceCheckUtils]: 42: Hoare triple {35333#true} ~__retres1~0 := 0; {35333#true} is VALID [2020-07-10 15:32:16,231 INFO L280 TraceCheckUtils]: 43: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,232 INFO L280 TraceCheckUtils]: 44: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,232 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,232 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-10 15:32:16,232 INFO L280 TraceCheckUtils]: 47: Hoare triple {35333#true} assume !(0 != ~tmp~0); {35333#true} is VALID [2020-07-10 15:32:16,233 INFO L263 TraceCheckUtils]: 48: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,233 INFO L280 TraceCheckUtils]: 49: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,233 INFO L280 TraceCheckUtils]: 50: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,233 INFO L280 TraceCheckUtils]: 51: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,234 INFO L280 TraceCheckUtils]: 52: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,234 INFO L280 TraceCheckUtils]: 53: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,234 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,234 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-10 15:32:16,235 INFO L280 TraceCheckUtils]: 56: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-10 15:32:16,235 INFO L280 TraceCheckUtils]: 57: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,237 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-10 15:32:16,238 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-10 15:32:16,239 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-10 15:32:16,240 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-10 15:32:16,241 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-10 15:32:16,243 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-10 15:32:16,244 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-10 15:32:16,246 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-10 15:32:16,247 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-10 15:32:16,248 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-10 15:32:16,248 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-10 15:32:16,249 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-10 15:32:16,249 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-10 15:32:16,251 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-10 15:32:16,252 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-10 15:32:16,252 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-10 15:32:16,252 INFO L263 TraceCheckUtils]: 74: Hoare triple {35333#true} call #t~ret0 := is_do_write_p_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,252 INFO L280 TraceCheckUtils]: 75: Hoare triple {35333#true} havoc ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,253 INFO L280 TraceCheckUtils]: 76: Hoare triple {35333#true} assume 1 == ~p_dw_pc~0; {35333#true} is VALID [2020-07-10 15:32:16,253 INFO L280 TraceCheckUtils]: 77: Hoare triple {35333#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {35333#true} is VALID [2020-07-10 15:32:16,253 INFO L280 TraceCheckUtils]: 78: Hoare triple {35333#true} #res := ~__retres1~0; {35333#true} is VALID [2020-07-10 15:32:16,253 INFO L280 TraceCheckUtils]: 79: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,254 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {35333#true} {35333#true} #268#return; {35333#true} is VALID [2020-07-10 15:32:16,254 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-10 15:32:16,254 INFO L280 TraceCheckUtils]: 82: Hoare triple {35333#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {35333#true} is VALID [2020-07-10 15:32:16,254 INFO L263 TraceCheckUtils]: 83: Hoare triple {35333#true} call #t~ret1 := is_do_read_c_triggered(); {35333#true} is VALID [2020-07-10 15:32:16,254 INFO L280 TraceCheckUtils]: 84: Hoare triple {35333#true} havoc ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,255 INFO L280 TraceCheckUtils]: 85: Hoare triple {35333#true} assume !(1 == ~c_dr_pc~0); {35333#true} is VALID [2020-07-10 15:32:16,255 INFO L280 TraceCheckUtils]: 86: Hoare triple {35333#true} ~__retres1~1 := 0; {35333#true} is VALID [2020-07-10 15:32:16,255 INFO L280 TraceCheckUtils]: 87: Hoare triple {35333#true} #res := ~__retres1~1; {35333#true} is VALID [2020-07-10 15:32:16,255 INFO L280 TraceCheckUtils]: 88: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,256 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {35333#true} {35333#true} #270#return; {35333#true} is VALID [2020-07-10 15:32:16,256 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-10 15:32:16,256 INFO L280 TraceCheckUtils]: 91: Hoare triple {35333#true} assume !(0 != ~tmp___0~0); {35333#true} is VALID [2020-07-10 15:32:16,257 INFO L280 TraceCheckUtils]: 92: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,258 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-10 15:32:16,258 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-10 15:32:16,259 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-10 15:32:16,261 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-10 15:32:16,262 INFO L263 TraceCheckUtils]: 97: Hoare triple {35334#false} call error(); {35334#false} is VALID [2020-07-10 15:32:16,262 INFO L280 TraceCheckUtils]: 98: Hoare triple {35334#false} assume !false; {35334#false} is VALID [2020-07-10 15:32:16,280 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-10 15:32:16,280 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [327551833] [2020-07-10 15:32:16,281 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [422084964] [2020-07-10 15:32:16,281 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-10 15:32:16,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,401 INFO L264 TraceCheckSpWp]: Trace formula consists of 599 conjuncts, 33 conjunts are in the unsatisfiable core [2020-07-10 15:32:16,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:32:16,434 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:32:16,788 INFO L263 TraceCheckUtils]: 0: Hoare triple {35333#true} call ULTIMATE.init(); {35333#true} is VALID [2020-07-10 15:32:16,788 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-10 15:32:16,789 INFO L280 TraceCheckUtils]: 2: Hoare triple {35333#true} assume true; {35333#true} is VALID [2020-07-10 15:32:16,789 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {35333#true} {35333#true} #286#return; {35333#true} is VALID [2020-07-10 15:32:16,789 INFO L263 TraceCheckUtils]: 4: Hoare triple {35333#true} call #t~ret8 := main(); {35333#true} is VALID [2020-07-10 15:32:16,789 INFO L280 TraceCheckUtils]: 5: Hoare triple {35333#true} havoc ~__retres1~3; {35333#true} is VALID [2020-07-10 15:32:16,789 INFO L263 TraceCheckUtils]: 6: Hoare triple {35333#true} call init_model(); {35333#true} is VALID [2020-07-10 15:32:16,790 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-10 15:32:16,791 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-10 15:32:16,796 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-10 15:32:16,796 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-10 15:32:16,797 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-10 15:32:16,798 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-10 15:32:16,798 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-10 15:32:16,799 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-10 15:32:16,800 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-10 15:32:16,801 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-10 15:32:16,801 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-10 15:32:16,802 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-10 15:32:16,803 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-10 15:32:16,803 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-10 15:32:16,808 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-10 15:32:16,809 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-10 15:32:16,810 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-10 15:32:16,811 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-10 15:32:16,812 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-10 15:32:16,812 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-10 15:32:16,813 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-10 15:32:16,814 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-10 15:32:16,814 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-10 15:32:16,815 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-10 15:32:16,816 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-10 15:32:16,816 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-10 15:32:16,817 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-10 15:32:16,817 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-10 15:32:16,818 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-10 15:32:16,819 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-10 15:32:16,820 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-10 15:32:16,820 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-10 15:32:16,821 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-10 15:32:16,821 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-10 15:32:16,822 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-10 15:32:16,822 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-10 15:32:16,822 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-10 15:32:16,823 INFO L280 TraceCheckUtils]: 44: Hoare triple {35572#(= 0 ~c_num_read~0)} assume true; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-10 15:32:16,824 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-10 15:32:16,824 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-10 15:32:16,825 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-10 15:32:16,825 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-10 15:32:16,826 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-10 15:32:16,826 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-10 15:32:16,827 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-10 15:32:16,827 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-10 15:32:16,833 INFO L280 TraceCheckUtils]: 53: Hoare triple {35572#(= 0 ~c_num_read~0)} assume true; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-10 15:32:16,834 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-10 15:32:16,835 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-10 15:32:16,835 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-10 15:32:16,836 INFO L280 TraceCheckUtils]: 57: Hoare triple {35572#(= 0 ~c_num_read~0)} assume true; {35572#(= 0 ~c_num_read~0)} is VALID [2020-07-10 15:32:16,837 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-10 15:32:16,838 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-10 15:32:16,840 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-10 15:32:16,841 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-10 15:32:16,841 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-10 15:32:16,842 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-10 15:32:16,843 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-10 15:32:16,844 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-10 15:32:16,846 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-10 15:32:16,849 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-10 15:32:16,852 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-10 15:32:16,853 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-10 15:32:16,855 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-10 15:32:16,856 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-10 15:32:16,856 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-10 15:32:16,858 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-10 15:32:16,859 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-10 15:32:16,859 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-10 15:32:16,860 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-10 15:32:16,861 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-10 15:32:16,862 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-10 15:32:16,864 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-10 15:32:16,865 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-10 15:32:16,866 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-10 15:32:16,867 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-10 15:32:16,868 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-10 15:32:16,868 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-10 15:32:16,869 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-10 15:32:16,870 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-10 15:32:16,871 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-10 15:32:16,872 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-10 15:32:16,873 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-10 15:32:16,874 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-10 15:32:16,875 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-10 15:32:16,876 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-10 15:32:16,877 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-10 15:32:16,878 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-10 15:32:16,880 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-10 15:32:16,881 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-10 15:32:16,882 INFO L263 TraceCheckUtils]: 97: Hoare triple {35334#false} call error(); {35334#false} is VALID [2020-07-10 15:32:16,882 INFO L280 TraceCheckUtils]: 98: Hoare triple {35334#false} assume !false; {35334#false} is VALID [2020-07-10 15:32:16,901 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-10 15:32:16,901 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:32:16,901 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 16 [2020-07-10 15:32:16,902 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1939563340] [2020-07-10 15:32:16,903 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 99 [2020-07-10 15:32:16,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:32:16,903 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2020-07-10 15:32:17,130 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-10 15:32:17,131 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2020-07-10 15:32:17,131 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:32:17,132 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2020-07-10 15:32:17,132 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2020-07-10 15:32:17,133 INFO L87 Difference]: Start difference. First operand 820 states and 1043 transitions. Second operand 16 states. [2020-07-10 15:32:47,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:32:47,690 INFO L93 Difference]: Finished difference Result 2540 states and 3915 transitions. [2020-07-10 15:32:47,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2020-07-10 15:32:47,690 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 99 [2020-07-10 15:32:47,691 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:32:47,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-10 15:32:47,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 1026 transitions. [2020-07-10 15:32:47,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2020-07-10 15:32:47,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 1026 transitions. [2020-07-10 15:32:47,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 1026 transitions. [2020-07-10 15:32:50,032 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-10 15:32:50,400 INFO L225 Difference]: With dead ends: 2540 [2020-07-10 15:32:50,401 INFO L226 Difference]: Without dead ends: 2537 [2020-07-10 15:32:50,403 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-10 15:32:50,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2537 states. [2020-07-10 15:33:00,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2537 to 2338. [2020-07-10 15:33:00,452 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:33:00,452 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2537 states. Second operand 2338 states. [2020-07-10 15:33:00,452 INFO L74 IsIncluded]: Start isIncluded. First operand 2537 states. Second operand 2338 states. [2020-07-10 15:33:00,452 INFO L87 Difference]: Start difference. First operand 2537 states. Second operand 2338 states. [2020-07-10 15:33:01,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:01,030 INFO L93 Difference]: Finished difference Result 2537 states and 3905 transitions. [2020-07-10 15:33:01,031 INFO L276 IsEmpty]: Start isEmpty. Operand 2537 states and 3905 transitions. [2020-07-10 15:33:01,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:01,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:33:01,063 INFO L74 IsIncluded]: Start isIncluded. First operand 2338 states. Second operand 2537 states. [2020-07-10 15:33:01,063 INFO L87 Difference]: Start difference. First operand 2338 states. Second operand 2537 states. [2020-07-10 15:33:01,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:01,602 INFO L93 Difference]: Finished difference Result 2537 states and 3905 transitions. [2020-07-10 15:33:01,602 INFO L276 IsEmpty]: Start isEmpty. Operand 2537 states and 3905 transitions. [2020-07-10 15:33:01,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:01,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:33:01,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:33:01,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:33:01,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2338 states. [2020-07-10 15:33:01,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2338 states to 2338 states and 3577 transitions. [2020-07-10 15:33:01,911 INFO L78 Accepts]: Start accepts. Automaton has 2338 states and 3577 transitions. Word has length 99 [2020-07-10 15:33:01,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:33:01,912 INFO L479 AbstractCegarLoop]: Abstraction has 2338 states and 3577 transitions. [2020-07-10 15:33:01,912 INFO L480 AbstractCegarLoop]: Interpolant automaton has 16 states. [2020-07-10 15:33:01,912 INFO L276 IsEmpty]: Start isEmpty. Operand 2338 states and 3577 transitions. [2020-07-10 15:33:01,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 126 [2020-07-10 15:33:01,916 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:33:01,916 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-10 15:33:02,117 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2020-07-10 15:33:02,117 INFO L427 AbstractCegarLoop]: === Iteration 13 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:33:02,118 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:33:02,118 INFO L82 PathProgramCache]: Analyzing trace with hash 83738947, now seen corresponding path program 2 times [2020-07-10 15:33:02,119 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:33:02,119 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1093291295] [2020-07-10 15:33:02,120 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:33:02,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,241 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-10 15:33:02,242 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,242 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {47646#true} {47646#true} #286#return; {47646#true} is VALID [2020-07-10 15:33:02,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,277 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-10 15:33:02,277 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,277 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {47646#true} {47646#true} #262#return; {47646#true} is VALID [2020-07-10 15:33:02,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,293 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-10 15:33:02,294 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-10 15:33:02,294 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,294 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {47646#true} {47646#true} #280#return; {47646#true} is VALID [2020-07-10 15:33:02,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,298 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~2; {47646#true} is VALID [2020-07-10 15:33:02,299 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {47646#true} is VALID [2020-07-10 15:33:02,299 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} #res := ~__retres1~2; {47646#true} is VALID [2020-07-10 15:33:02,299 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,299 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {47646#true} {47646#true} #272#return; {47646#true} is VALID [2020-07-10 15:33:02,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,371 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,371 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,371 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,371 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,372 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,372 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,376 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,376 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,376 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,377 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,377 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,377 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,377 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-10 15:33:02,378 INFO L263 TraceCheckUtils]: 1: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,378 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,378 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,378 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,378 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,379 INFO L280 TraceCheckUtils]: 6: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,379 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,379 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-10 15:33:02,379 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-10 15:33:02,380 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,380 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,380 INFO L280 TraceCheckUtils]: 12: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,380 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,380 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,381 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,381 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,381 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-10 15:33:02,381 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,381 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,383 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {47646#true} {47745#(= 0 ~q_free~0)} #266#return; {47745#(= 0 ~q_free~0)} is VALID [2020-07-10 15:33:02,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,395 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,395 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,395 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,396 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,396 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,396 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,400 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,401 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,401 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,401 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,402 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,402 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,402 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-10 15:33:02,402 INFO L263 TraceCheckUtils]: 1: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,403 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,403 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,403 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,403 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,404 INFO L280 TraceCheckUtils]: 6: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,404 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,404 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-10 15:33:02,404 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-10 15:33:02,404 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,405 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,405 INFO L280 TraceCheckUtils]: 12: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,405 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,405 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,405 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,406 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,406 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-10 15:33:02,406 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,406 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,407 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {47646#true} {47647#false} #266#return; {47647#false} is VALID [2020-07-10 15:33:02,407 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-10 15:33:02,408 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-10 15:33:02,408 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume !(0 == ~q_free~0); {47646#true} is VALID [2020-07-10 15:33:02,410 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-10 15:33:02,411 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-10 15:33:02,411 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-10 15:33:02,412 INFO L263 TraceCheckUtils]: 6: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,412 INFO L280 TraceCheckUtils]: 7: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,412 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,412 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,413 INFO L280 TraceCheckUtils]: 10: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,413 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,413 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,413 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-10 15:33:02,414 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-10 15:33:02,414 INFO L263 TraceCheckUtils]: 15: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,414 INFO L280 TraceCheckUtils]: 16: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,414 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,414 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,414 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,415 INFO L280 TraceCheckUtils]: 20: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,415 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,415 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-10 15:33:02,415 INFO L280 TraceCheckUtils]: 23: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,416 INFO L280 TraceCheckUtils]: 24: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,417 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {47646#true} {47745#(= 0 ~q_free~0)} #266#return; {47745#(= 0 ~q_free~0)} is VALID [2020-07-10 15:33:02,417 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-10 15:33:02,419 INFO L280 TraceCheckUtils]: 27: Hoare triple {47745#(= 0 ~q_free~0)} assume !false; {47745#(= 0 ~q_free~0)} is VALID [2020-07-10 15:33:02,419 INFO L280 TraceCheckUtils]: 28: Hoare triple {47745#(= 0 ~q_free~0)} assume !(0 == ~q_free~0); {47647#false} is VALID [2020-07-10 15:33:02,420 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-10 15:33:02,420 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-10 15:33:02,420 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-10 15:33:02,420 INFO L263 TraceCheckUtils]: 32: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,421 INFO L280 TraceCheckUtils]: 33: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,421 INFO L280 TraceCheckUtils]: 34: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,421 INFO L280 TraceCheckUtils]: 35: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,421 INFO L280 TraceCheckUtils]: 36: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,421 INFO L280 TraceCheckUtils]: 37: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,422 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,422 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-10 15:33:02,422 INFO L280 TraceCheckUtils]: 40: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-10 15:33:02,423 INFO L263 TraceCheckUtils]: 41: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,423 INFO L280 TraceCheckUtils]: 42: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,423 INFO L280 TraceCheckUtils]: 43: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,423 INFO L280 TraceCheckUtils]: 44: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,423 INFO L280 TraceCheckUtils]: 45: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,424 INFO L280 TraceCheckUtils]: 46: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,424 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,424 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-10 15:33:02,424 INFO L280 TraceCheckUtils]: 49: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,424 INFO L280 TraceCheckUtils]: 50: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,425 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {47646#true} {47647#false} #266#return; {47647#false} is VALID [2020-07-10 15:33:02,425 INFO L280 TraceCheckUtils]: 52: Hoare triple {47647#false} ~q_write_ev~0 := 2; {47647#false} is VALID [2020-07-10 15:33:02,425 INFO L280 TraceCheckUtils]: 53: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-10 15:33:02,425 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-10 15:33:02,425 INFO L280 TraceCheckUtils]: 55: Hoare triple {47647#false} assume true; {47647#false} is VALID [2020-07-10 15:33:02,426 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {47647#false} {47646#true} #274#return; {47647#false} is VALID [2020-07-10 15:33:02,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,445 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,446 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume 1 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-10 15:33:02,446 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {47646#true} is VALID [2020-07-10 15:33:02,446 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,446 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,446 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:02,450 INFO L280 TraceCheckUtils]: 0: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,450 INFO L280 TraceCheckUtils]: 1: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,450 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,451 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,451 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,451 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,451 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-10 15:33:02,452 INFO L263 TraceCheckUtils]: 1: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,452 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,452 INFO L280 TraceCheckUtils]: 3: Hoare triple {47646#true} assume 1 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-10 15:33:02,452 INFO L280 TraceCheckUtils]: 4: Hoare triple {47646#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {47646#true} is VALID [2020-07-10 15:33:02,452 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,452 INFO L280 TraceCheckUtils]: 6: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,453 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,453 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-10 15:33:02,453 INFO L280 TraceCheckUtils]: 9: Hoare triple {47646#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,453 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,453 INFO L280 TraceCheckUtils]: 11: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,454 INFO L280 TraceCheckUtils]: 12: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,454 INFO L280 TraceCheckUtils]: 13: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,454 INFO L280 TraceCheckUtils]: 14: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,454 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,455 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,455 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-10 15:33:02,455 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,455 INFO L280 TraceCheckUtils]: 19: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,455 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {47646#true} {47647#false} #290#return; {47647#false} is VALID [2020-07-10 15:33:02,458 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-10 15:33:02,458 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-10 15:33:02,459 INFO L280 TraceCheckUtils]: 2: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,459 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {47646#true} {47646#true} #286#return; {47646#true} is VALID [2020-07-10 15:33:02,459 INFO L263 TraceCheckUtils]: 4: Hoare triple {47646#true} call #t~ret8 := main(); {47646#true} is VALID [2020-07-10 15:33:02,459 INFO L280 TraceCheckUtils]: 5: Hoare triple {47646#true} havoc ~__retres1~3; {47646#true} is VALID [2020-07-10 15:33:02,461 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-10 15:33:02,461 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-10 15:33:02,461 INFO L280 TraceCheckUtils]: 8: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,461 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {47646#true} {47646#true} #262#return; {47646#true} is VALID [2020-07-10 15:33:02,461 INFO L263 TraceCheckUtils]: 10: Hoare triple {47646#true} call start_simulation(); {47646#true} is VALID [2020-07-10 15:33:02,462 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-10 15:33:02,463 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-10 15:33:02,463 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-10 15:33:02,463 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-10 15:33:02,463 INFO L280 TraceCheckUtils]: 15: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,464 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {47646#true} {47646#true} #280#return; {47646#true} is VALID [2020-07-10 15:33:02,464 INFO L280 TraceCheckUtils]: 17: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-10 15:33:02,464 INFO L280 TraceCheckUtils]: 18: Hoare triple {47646#true} ~kernel_st~0 := 1; {47646#true} is VALID [2020-07-10 15:33:02,464 INFO L263 TraceCheckUtils]: 19: Hoare triple {47646#true} call eval(); {47646#true} is VALID [2020-07-10 15:33:02,464 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-10 15:33:02,464 INFO L280 TraceCheckUtils]: 21: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-10 15:33:02,465 INFO L263 TraceCheckUtils]: 22: Hoare triple {47646#true} call #t~ret3 := exists_runnable_thread(); {47646#true} is VALID [2020-07-10 15:33:02,465 INFO L280 TraceCheckUtils]: 23: Hoare triple {47646#true} havoc ~__retres1~2; {47646#true} is VALID [2020-07-10 15:33:02,465 INFO L280 TraceCheckUtils]: 24: Hoare triple {47646#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {47646#true} is VALID [2020-07-10 15:33:02,465 INFO L280 TraceCheckUtils]: 25: Hoare triple {47646#true} #res := ~__retres1~2; {47646#true} is VALID [2020-07-10 15:33:02,465 INFO L280 TraceCheckUtils]: 26: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,466 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {47646#true} {47646#true} #272#return; {47646#true} is VALID [2020-07-10 15:33:02,466 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-10 15:33:02,466 INFO L280 TraceCheckUtils]: 29: Hoare triple {47646#true} assume 0 != ~tmp___1~0; {47646#true} is VALID [2020-07-10 15:33:02,466 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-10 15:33:02,466 INFO L280 TraceCheckUtils]: 31: Hoare triple {47646#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {47646#true} is VALID [2020-07-10 15:33:02,468 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-10 15:33:02,468 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-10 15:33:02,468 INFO L280 TraceCheckUtils]: 34: Hoare triple {47646#true} assume !false; {47646#true} is VALID [2020-07-10 15:33:02,468 INFO L280 TraceCheckUtils]: 35: Hoare triple {47646#true} assume !(0 == ~q_free~0); {47646#true} is VALID [2020-07-10 15:33:02,469 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-10 15:33:02,471 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-10 15:33:02,471 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-10 15:33:02,471 INFO L263 TraceCheckUtils]: 39: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,471 INFO L280 TraceCheckUtils]: 40: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,471 INFO L280 TraceCheckUtils]: 41: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,472 INFO L280 TraceCheckUtils]: 42: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,472 INFO L280 TraceCheckUtils]: 43: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,472 INFO L280 TraceCheckUtils]: 44: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,472 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,472 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-10 15:33:02,473 INFO L280 TraceCheckUtils]: 47: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-10 15:33:02,473 INFO L263 TraceCheckUtils]: 48: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,473 INFO L280 TraceCheckUtils]: 49: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,473 INFO L280 TraceCheckUtils]: 50: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,473 INFO L280 TraceCheckUtils]: 51: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,474 INFO L280 TraceCheckUtils]: 52: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,474 INFO L280 TraceCheckUtils]: 53: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,474 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,474 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-10 15:33:02,475 INFO L280 TraceCheckUtils]: 56: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,475 INFO L280 TraceCheckUtils]: 57: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,477 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {47646#true} {47745#(= 0 ~q_free~0)} #266#return; {47745#(= 0 ~q_free~0)} is VALID [2020-07-10 15:33:02,477 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-10 15:33:02,478 INFO L280 TraceCheckUtils]: 60: Hoare triple {47745#(= 0 ~q_free~0)} assume !false; {47745#(= 0 ~q_free~0)} is VALID [2020-07-10 15:33:02,479 INFO L280 TraceCheckUtils]: 61: Hoare triple {47745#(= 0 ~q_free~0)} assume !(0 == ~q_free~0); {47647#false} is VALID [2020-07-10 15:33:02,479 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-10 15:33:02,480 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-10 15:33:02,480 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-10 15:33:02,480 INFO L263 TraceCheckUtils]: 65: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,480 INFO L280 TraceCheckUtils]: 66: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,480 INFO L280 TraceCheckUtils]: 67: Hoare triple {47646#true} assume !(1 == ~p_dw_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,480 INFO L280 TraceCheckUtils]: 68: Hoare triple {47646#true} ~__retres1~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,481 INFO L280 TraceCheckUtils]: 69: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,481 INFO L280 TraceCheckUtils]: 70: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,481 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,481 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-10 15:33:02,481 INFO L280 TraceCheckUtils]: 73: Hoare triple {47646#true} assume !(0 != ~tmp~0); {47646#true} is VALID [2020-07-10 15:33:02,482 INFO L263 TraceCheckUtils]: 74: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,482 INFO L280 TraceCheckUtils]: 75: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,482 INFO L280 TraceCheckUtils]: 76: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,482 INFO L280 TraceCheckUtils]: 77: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,482 INFO L280 TraceCheckUtils]: 78: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,483 INFO L280 TraceCheckUtils]: 79: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,483 INFO L275 TraceCheckUtils]: 80: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,483 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-10 15:33:02,483 INFO L280 TraceCheckUtils]: 82: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,483 INFO L280 TraceCheckUtils]: 83: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,484 INFO L275 TraceCheckUtils]: 84: Hoare quadruple {47646#true} {47647#false} #266#return; {47647#false} is VALID [2020-07-10 15:33:02,484 INFO L280 TraceCheckUtils]: 85: Hoare triple {47647#false} ~q_write_ev~0 := 2; {47647#false} is VALID [2020-07-10 15:33:02,484 INFO L280 TraceCheckUtils]: 86: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-10 15:33:02,484 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-10 15:33:02,486 INFO L280 TraceCheckUtils]: 88: Hoare triple {47647#false} assume true; {47647#false} is VALID [2020-07-10 15:33:02,486 INFO L275 TraceCheckUtils]: 89: Hoare quadruple {47647#false} {47646#true} #274#return; {47647#false} is VALID [2020-07-10 15:33:02,486 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-10 15:33:02,486 INFO L280 TraceCheckUtils]: 91: Hoare triple {47647#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {47647#false} is VALID [2020-07-10 15:33:02,487 INFO L263 TraceCheckUtils]: 92: Hoare triple {47647#false} call do_read_c(); {47647#false} is VALID [2020-07-10 15:33:02,487 INFO L280 TraceCheckUtils]: 93: Hoare triple {47647#false} havoc ~a~0; {47647#false} is VALID [2020-07-10 15:33:02,487 INFO L280 TraceCheckUtils]: 94: Hoare triple {47647#false} assume 0 == ~c_dr_pc~0; {47647#false} is VALID [2020-07-10 15:33:02,487 INFO L280 TraceCheckUtils]: 95: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-10 15:33:02,487 INFO L280 TraceCheckUtils]: 96: Hoare triple {47647#false} assume !(1 == ~q_free~0); {47647#false} is VALID [2020-07-10 15:33:02,487 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-10 15:33:02,488 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-10 15:33:02,488 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-10 15:33:02,488 INFO L263 TraceCheckUtils]: 100: Hoare triple {47646#true} call #t~ret0 := is_do_write_p_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,488 INFO L280 TraceCheckUtils]: 101: Hoare triple {47646#true} havoc ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,488 INFO L280 TraceCheckUtils]: 102: Hoare triple {47646#true} assume 1 == ~p_dw_pc~0; {47646#true} is VALID [2020-07-10 15:33:02,489 INFO L280 TraceCheckUtils]: 103: Hoare triple {47646#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {47646#true} is VALID [2020-07-10 15:33:02,489 INFO L280 TraceCheckUtils]: 104: Hoare triple {47646#true} #res := ~__retres1~0; {47646#true} is VALID [2020-07-10 15:33:02,489 INFO L280 TraceCheckUtils]: 105: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,489 INFO L275 TraceCheckUtils]: 106: Hoare quadruple {47646#true} {47646#true} #268#return; {47646#true} is VALID [2020-07-10 15:33:02,489 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-10 15:33:02,490 INFO L280 TraceCheckUtils]: 108: Hoare triple {47646#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {47646#true} is VALID [2020-07-10 15:33:02,490 INFO L263 TraceCheckUtils]: 109: Hoare triple {47646#true} call #t~ret1 := is_do_read_c_triggered(); {47646#true} is VALID [2020-07-10 15:33:02,490 INFO L280 TraceCheckUtils]: 110: Hoare triple {47646#true} havoc ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,490 INFO L280 TraceCheckUtils]: 111: Hoare triple {47646#true} assume !(1 == ~c_dr_pc~0); {47646#true} is VALID [2020-07-10 15:33:02,490 INFO L280 TraceCheckUtils]: 112: Hoare triple {47646#true} ~__retres1~1 := 0; {47646#true} is VALID [2020-07-10 15:33:02,491 INFO L280 TraceCheckUtils]: 113: Hoare triple {47646#true} #res := ~__retres1~1; {47646#true} is VALID [2020-07-10 15:33:02,491 INFO L280 TraceCheckUtils]: 114: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,491 INFO L275 TraceCheckUtils]: 115: Hoare quadruple {47646#true} {47646#true} #270#return; {47646#true} is VALID [2020-07-10 15:33:02,491 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-10 15:33:02,491 INFO L280 TraceCheckUtils]: 117: Hoare triple {47646#true} assume !(0 != ~tmp___0~0); {47646#true} is VALID [2020-07-10 15:33:02,492 INFO L280 TraceCheckUtils]: 118: Hoare triple {47646#true} assume true; {47646#true} is VALID [2020-07-10 15:33:02,492 INFO L275 TraceCheckUtils]: 119: Hoare quadruple {47646#true} {47647#false} #290#return; {47647#false} is VALID [2020-07-10 15:33:02,492 INFO L280 TraceCheckUtils]: 120: Hoare triple {47647#false} ~q_read_ev~0 := 2; {47647#false} is VALID [2020-07-10 15:33:02,492 INFO L280 TraceCheckUtils]: 121: Hoare triple {47647#false} assume ~p_last_write~0 == ~c_last_read~0; {47647#false} is VALID [2020-07-10 15:33:02,492 INFO L280 TraceCheckUtils]: 122: Hoare triple {47647#false} assume !(~p_num_write~0 == ~c_num_read~0); {47647#false} is VALID [2020-07-10 15:33:02,492 INFO L263 TraceCheckUtils]: 123: Hoare triple {47647#false} call error(); {47647#false} is VALID [2020-07-10 15:33:02,493 INFO L280 TraceCheckUtils]: 124: Hoare triple {47647#false} assume !false; {47647#false} is VALID [2020-07-10 15:33:02,508 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-10 15:33:02,511 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1093291295] [2020-07-10 15:33:02,516 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:33:02,516 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-10 15:33:02,516 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1963617776] [2020-07-10 15:33:02,517 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 125 [2020-07-10 15:33:02,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:33:02,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 15:33:02,627 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-10 15:33:02,627 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 15:33:02,627 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:33:02,628 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 15:33:02,628 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2020-07-10 15:33:02,628 INFO L87 Difference]: Start difference. First operand 2338 states and 3577 transitions. Second operand 7 states. [2020-07-10 15:33:14,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:14,736 INFO L93 Difference]: Finished difference Result 3773 states and 6055 transitions. [2020-07-10 15:33:14,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 15:33:14,736 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 125 [2020-07-10 15:33:14,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:33:14,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:33:14,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 382 transitions. [2020-07-10 15:33:14,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:33:14,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 382 transitions. [2020-07-10 15:33:14,745 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 382 transitions. [2020-07-10 15:33:15,458 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-10 15:33:15,686 INFO L225 Difference]: With dead ends: 3773 [2020-07-10 15:33:15,686 INFO L226 Difference]: Without dead ends: 2107 [2020-07-10 15:33:15,700 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-10 15:33:15,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2107 states. [2020-07-10 15:33:24,423 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2107 to 2006. [2020-07-10 15:33:24,423 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:33:24,423 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2107 states. Second operand 2006 states. [2020-07-10 15:33:24,423 INFO L74 IsIncluded]: Start isIncluded. First operand 2107 states. Second operand 2006 states. [2020-07-10 15:33:24,423 INFO L87 Difference]: Start difference. First operand 2107 states. Second operand 2006 states. [2020-07-10 15:33:24,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:24,597 INFO L93 Difference]: Finished difference Result 2107 states and 3117 transitions. [2020-07-10 15:33:24,597 INFO L276 IsEmpty]: Start isEmpty. Operand 2107 states and 3117 transitions. [2020-07-10 15:33:24,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:24,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:33:24,608 INFO L74 IsIncluded]: Start isIncluded. First operand 2006 states. Second operand 2107 states. [2020-07-10 15:33:24,608 INFO L87 Difference]: Start difference. First operand 2006 states. Second operand 2107 states. [2020-07-10 15:33:24,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:24,808 INFO L93 Difference]: Finished difference Result 2107 states and 3117 transitions. [2020-07-10 15:33:24,808 INFO L276 IsEmpty]: Start isEmpty. Operand 2107 states and 3117 transitions. [2020-07-10 15:33:24,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:24,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:33:24,819 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:33:24,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:33:24,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2006 states. [2020-07-10 15:33:25,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2006 states to 2006 states and 2998 transitions. [2020-07-10 15:33:25,017 INFO L78 Accepts]: Start accepts. Automaton has 2006 states and 2998 transitions. Word has length 125 [2020-07-10 15:33:25,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:33:25,018 INFO L479 AbstractCegarLoop]: Abstraction has 2006 states and 2998 transitions. [2020-07-10 15:33:25,018 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 15:33:25,018 INFO L276 IsEmpty]: Start isEmpty. Operand 2006 states and 2998 transitions. [2020-07-10 15:33:25,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 173 [2020-07-10 15:33:25,023 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:33:25,024 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-10 15:33:25,024 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-10 15:33:25,024 INFO L427 AbstractCegarLoop]: === Iteration 14 === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:33:25,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:33:25,025 INFO L82 PathProgramCache]: Analyzing trace with hash 58792781, now seen corresponding path program 1 times [2020-07-10 15:33:25,025 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:33:25,025 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [836263597] [2020-07-10 15:33:25,026 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:33:25,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,194 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-10 15:33:25,194 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,194 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {59975#true} {59975#true} #286#return; {59975#true} is VALID [2020-07-10 15:33:25,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,249 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-10 15:33:25,250 INFO L280 TraceCheckUtils]: 1: Hoare triple {60114#(<= ~p_dw_pc~0 0)} assume true; {60114#(<= ~p_dw_pc~0 0)} is VALID [2020-07-10 15:33:25,251 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-10 15:33:25,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,272 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-10 15:33:25,272 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-10 15:33:25,272 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,274 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-10 15:33:25,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,376 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,376 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,377 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,377 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,377 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-10 15:33:25,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,439 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,439 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,440 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,440 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,440 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,440 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,448 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,448 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,448 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,448 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,449 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,449 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,449 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-10 15:33:25,449 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,450 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,450 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,450 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,450 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,450 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,451 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,451 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-10 15:33:25,451 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-10 15:33:25,451 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,452 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,452 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,452 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,452 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,452 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,453 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,453 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-10 15:33:25,453 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,453 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,453 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,454 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-10 15:33:25,454 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,454 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-10 15:33:25,455 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-10 15:33:25,456 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-10 15:33:25,456 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-10 15:33:25,457 INFO L263 TraceCheckUtils]: 6: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,457 INFO L280 TraceCheckUtils]: 7: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,457 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,457 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,458 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,458 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,458 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,458 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-10 15:33:25,458 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-10 15:33:25,459 INFO L263 TraceCheckUtils]: 15: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,459 INFO L280 TraceCheckUtils]: 16: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,459 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,459 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,460 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,460 INFO L280 TraceCheckUtils]: 20: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,460 INFO L275 TraceCheckUtils]: 21: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,462 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-10 15:33:25,462 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,462 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,463 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,463 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-10 15:33:25,463 INFO L280 TraceCheckUtils]: 27: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,465 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-10 15:33:25,466 INFO L280 TraceCheckUtils]: 29: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:25,467 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-10 15:33:25,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,487 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,488 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-10 15:33:25,489 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-10 15:33:25,490 INFO L280 TraceCheckUtils]: 3: Hoare triple {60193#(<= ~p_dw_st~0 0)} assume true; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:33:25,491 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-10 15:33:25,491 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-10 15:33:25,492 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,492 INFO L263 TraceCheckUtils]: 2: Hoare triple {59975#true} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,492 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,492 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,493 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,493 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,493 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-10 15:33:25,493 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-10 15:33:25,494 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume 0 != ~tmp___1~0; {59975#true} is VALID [2020-07-10 15:33:25,494 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-10 15:33:25,494 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,496 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-10 15:33:25,497 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-10 15:33:25,497 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,498 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-10 15:33:25,498 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-10 15:33:25,499 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-10 15:33:25,499 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-10 15:33:25,500 INFO L263 TraceCheckUtils]: 19: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,500 INFO L280 TraceCheckUtils]: 20: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,500 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,501 INFO L280 TraceCheckUtils]: 22: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,501 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,501 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,501 INFO L275 TraceCheckUtils]: 25: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,501 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-10 15:33:25,502 INFO L280 TraceCheckUtils]: 27: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-10 15:33:25,502 INFO L263 TraceCheckUtils]: 28: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,502 INFO L280 TraceCheckUtils]: 29: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,503 INFO L280 TraceCheckUtils]: 30: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,503 INFO L280 TraceCheckUtils]: 31: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,503 INFO L280 TraceCheckUtils]: 32: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,503 INFO L280 TraceCheckUtils]: 33: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,504 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,504 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-10 15:33:25,504 INFO L280 TraceCheckUtils]: 36: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,504 INFO L280 TraceCheckUtils]: 37: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,505 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,505 INFO L280 TraceCheckUtils]: 39: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-10 15:33:25,505 INFO L280 TraceCheckUtils]: 40: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,507 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-10 15:33:25,508 INFO L280 TraceCheckUtils]: 42: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:25,509 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-10 15:33:25,511 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-10 15:33:25,519 INFO L280 TraceCheckUtils]: 45: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !false; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:25,519 INFO L263 TraceCheckUtils]: 46: Hoare triple {60153#(<= 2 ~p_dw_st~0)} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,520 INFO L280 TraceCheckUtils]: 47: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,520 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-10 15:33:25,521 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-10 15:33:25,522 INFO L280 TraceCheckUtils]: 50: Hoare triple {60193#(<= ~p_dw_st~0 0)} assume true; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:33:25,522 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-10 15:33:25,523 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-10 15:33:25,523 INFO L280 TraceCheckUtils]: 53: Hoare triple {59976#false} assume !(0 != ~tmp___1~0); {59976#false} is VALID [2020-07-10 15:33:25,523 INFO L280 TraceCheckUtils]: 54: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:25,523 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {59976#false} {59983#(not (= 2 ~p_dw_pc~0))} #282#return; {59976#false} is VALID [2020-07-10 15:33:25,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,534 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,534 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,535 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,535 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,535 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {59975#true} {59975#true} #278#return; {59975#true} is VALID [2020-07-10 15:33:25,535 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~tmp~2;havoc ~__retres2~0; {59975#true} is VALID [2020-07-10 15:33:25,536 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret6 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,536 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,536 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,536 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,536 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,537 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {59975#true} {59975#true} #278#return; {59975#true} is VALID [2020-07-10 15:33:25,537 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-10 15:33:25,537 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume !(0 != ~tmp~2);~__retres2~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,538 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} #res := ~__retres2~0; {59975#true} is VALID [2020-07-10 15:33:25,538 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,538 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {59975#true} {59976#false} #284#return; {59976#false} is VALID [2020-07-10 15:33:25,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,542 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,542 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,542 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,543 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,543 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {59975#true} {59976#false} #272#return; {59976#false} is VALID [2020-07-10 15:33:25,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,561 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,562 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,562 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,562 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,562 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,563 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,566 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,567 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,567 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,567 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,567 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,568 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-10 15:33:25,568 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,568 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,568 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,569 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,569 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,569 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,569 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,569 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-10 15:33:25,569 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,570 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,570 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,570 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,570 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,570 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,571 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,571 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,571 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-10 15:33:25,571 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,571 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,572 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,572 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-10 15:33:25,572 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,573 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-10 15:33:25,574 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-10 15:33:25,574 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-10 15:33:25,574 INFO L263 TraceCheckUtils]: 5: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,574 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,575 INFO L280 TraceCheckUtils]: 7: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,575 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,575 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,575 INFO L280 TraceCheckUtils]: 10: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,575 INFO L275 TraceCheckUtils]: 11: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,575 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-10 15:33:25,576 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,576 INFO L263 TraceCheckUtils]: 14: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,576 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,576 INFO L280 TraceCheckUtils]: 16: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,577 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,577 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,577 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,577 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,577 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-10 15:33:25,578 INFO L280 TraceCheckUtils]: 22: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,578 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,578 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,578 INFO L280 TraceCheckUtils]: 25: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-10 15:33:25,578 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,578 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-10 15:33:25,579 INFO L280 TraceCheckUtils]: 28: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,579 INFO L275 TraceCheckUtils]: 29: Hoare quadruple {59975#true} {59976#false} #274#return; {59976#false} is VALID [2020-07-10 15:33:25,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,591 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,591 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,592 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,592 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,592 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,592 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,596 INFO L280 TraceCheckUtils]: 0: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,596 INFO L280 TraceCheckUtils]: 1: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,596 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,597 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,597 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,597 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,597 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-10 15:33:25,598 INFO L263 TraceCheckUtils]: 1: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,598 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,598 INFO L280 TraceCheckUtils]: 3: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,598 INFO L280 TraceCheckUtils]: 4: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,598 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,598 INFO L280 TraceCheckUtils]: 6: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,599 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,599 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-10 15:33:25,599 INFO L280 TraceCheckUtils]: 9: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,599 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,599 INFO L280 TraceCheckUtils]: 11: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,600 INFO L280 TraceCheckUtils]: 12: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,600 INFO L280 TraceCheckUtils]: 13: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,600 INFO L280 TraceCheckUtils]: 14: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,600 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,601 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,601 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-10 15:33:25,601 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,601 INFO L280 TraceCheckUtils]: 19: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,601 INFO L275 TraceCheckUtils]: 20: Hoare quadruple {59975#true} {59976#false} #290#return; {59976#false} is VALID [2020-07-10 15:33:25,604 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-10 15:33:25,604 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-10 15:33:25,604 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,604 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59975#true} {59975#true} #286#return; {59975#true} is VALID [2020-07-10 15:33:25,605 INFO L263 TraceCheckUtils]: 4: Hoare triple {59975#true} call #t~ret8 := main(); {59975#true} is VALID [2020-07-10 15:33:25,605 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} havoc ~__retres1~3; {59975#true} is VALID [2020-07-10 15:33:25,606 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-10 15:33:25,607 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-10 15:33:25,608 INFO L280 TraceCheckUtils]: 8: Hoare triple {60114#(<= ~p_dw_pc~0 0)} assume true; {60114#(<= ~p_dw_pc~0 0)} is VALID [2020-07-10 15:33:25,609 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-10 15:33:25,610 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-10 15:33:25,610 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-10 15:33:25,611 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-10 15:33:25,611 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-10 15:33:25,611 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-10 15:33:25,612 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,613 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-10 15:33:25,615 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-10 15:33:25,617 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-10 15:33:25,619 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-10 15:33:25,619 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-10 15:33:25,619 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,620 INFO L263 TraceCheckUtils]: 22: Hoare triple {59975#true} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,620 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,620 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,620 INFO L280 TraceCheckUtils]: 25: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,620 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,620 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-10 15:33:25,621 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-10 15:33:25,621 INFO L280 TraceCheckUtils]: 29: Hoare triple {59975#true} assume 0 != ~tmp___1~0; {59975#true} is VALID [2020-07-10 15:33:25,621 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-10 15:33:25,621 INFO L280 TraceCheckUtils]: 31: Hoare triple {59975#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,622 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-10 15:33:25,623 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-10 15:33:25,623 INFO L280 TraceCheckUtils]: 34: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,623 INFO L280 TraceCheckUtils]: 35: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-10 15:33:25,623 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-10 15:33:25,625 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-10 15:33:25,625 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-10 15:33:25,625 INFO L263 TraceCheckUtils]: 39: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,625 INFO L280 TraceCheckUtils]: 40: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,626 INFO L280 TraceCheckUtils]: 41: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,626 INFO L280 TraceCheckUtils]: 42: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,626 INFO L280 TraceCheckUtils]: 43: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,626 INFO L280 TraceCheckUtils]: 44: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,626 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,627 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-10 15:33:25,627 INFO L280 TraceCheckUtils]: 47: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-10 15:33:25,627 INFO L263 TraceCheckUtils]: 48: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,627 INFO L280 TraceCheckUtils]: 49: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,627 INFO L280 TraceCheckUtils]: 50: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,628 INFO L280 TraceCheckUtils]: 51: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,628 INFO L280 TraceCheckUtils]: 52: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,628 INFO L280 TraceCheckUtils]: 53: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,628 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,629 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-10 15:33:25,629 INFO L280 TraceCheckUtils]: 56: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,629 INFO L280 TraceCheckUtils]: 57: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,629 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,629 INFO L280 TraceCheckUtils]: 59: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-10 15:33:25,629 INFO L280 TraceCheckUtils]: 60: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,631 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-10 15:33:25,632 INFO L280 TraceCheckUtils]: 62: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:25,632 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-10 15:33:25,633 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-10 15:33:25,634 INFO L280 TraceCheckUtils]: 65: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !false; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:25,634 INFO L263 TraceCheckUtils]: 66: Hoare triple {60153#(<= 2 ~p_dw_st~0)} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,634 INFO L280 TraceCheckUtils]: 67: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,635 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-10 15:33:25,635 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-10 15:33:25,636 INFO L280 TraceCheckUtils]: 70: Hoare triple {60193#(<= ~p_dw_st~0 0)} assume true; {60193#(<= ~p_dw_st~0 0)} is VALID [2020-07-10 15:33:25,637 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-10 15:33:25,638 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-10 15:33:25,638 INFO L280 TraceCheckUtils]: 73: Hoare triple {59976#false} assume !(0 != ~tmp___1~0); {59976#false} is VALID [2020-07-10 15:33:25,638 INFO L280 TraceCheckUtils]: 74: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:25,638 INFO L275 TraceCheckUtils]: 75: Hoare quadruple {59976#false} {59983#(not (= 2 ~p_dw_pc~0))} #282#return; {59976#false} is VALID [2020-07-10 15:33:25,639 INFO L263 TraceCheckUtils]: 76: Hoare triple {59976#false} call #t~ret7 := stop_simulation(); {59975#true} is VALID [2020-07-10 15:33:25,639 INFO L280 TraceCheckUtils]: 77: Hoare triple {59975#true} havoc ~tmp~2;havoc ~__retres2~0; {59975#true} is VALID [2020-07-10 15:33:25,639 INFO L263 TraceCheckUtils]: 78: Hoare triple {59975#true} call #t~ret6 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,639 INFO L280 TraceCheckUtils]: 79: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,639 INFO L280 TraceCheckUtils]: 80: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,639 INFO L280 TraceCheckUtils]: 81: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,640 INFO L280 TraceCheckUtils]: 82: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,640 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {59975#true} {59975#true} #278#return; {59975#true} is VALID [2020-07-10 15:33:25,640 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-10 15:33:25,640 INFO L280 TraceCheckUtils]: 85: Hoare triple {59975#true} assume !(0 != ~tmp~2);~__retres2~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,641 INFO L280 TraceCheckUtils]: 86: Hoare triple {59975#true} #res := ~__retres2~0; {59975#true} is VALID [2020-07-10 15:33:25,641 INFO L280 TraceCheckUtils]: 87: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,641 INFO L275 TraceCheckUtils]: 88: Hoare quadruple {59975#true} {59976#false} #284#return; {59976#false} is VALID [2020-07-10 15:33:25,641 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-10 15:33:25,641 INFO L280 TraceCheckUtils]: 90: Hoare triple {59976#false} assume !(0 != ~tmp~3); {59976#false} is VALID [2020-07-10 15:33:25,642 INFO L280 TraceCheckUtils]: 91: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:25,642 INFO L280 TraceCheckUtils]: 92: Hoare triple {59976#false} ~kernel_st~0 := 1; {59976#false} is VALID [2020-07-10 15:33:25,642 INFO L263 TraceCheckUtils]: 93: Hoare triple {59976#false} call eval(); {59976#false} is VALID [2020-07-10 15:33:25,642 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-10 15:33:25,642 INFO L280 TraceCheckUtils]: 95: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:25,642 INFO L263 TraceCheckUtils]: 96: Hoare triple {59976#false} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:25,643 INFO L280 TraceCheckUtils]: 97: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,643 INFO L280 TraceCheckUtils]: 98: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:25,643 INFO L280 TraceCheckUtils]: 99: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:25,643 INFO L280 TraceCheckUtils]: 100: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,643 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {59975#true} {59976#false} #272#return; {59976#false} is VALID [2020-07-10 15:33:25,644 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-10 15:33:25,644 INFO L280 TraceCheckUtils]: 103: Hoare triple {59976#false} assume 0 != ~tmp___1~0; {59976#false} is VALID [2020-07-10 15:33:25,644 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-10 15:33:25,644 INFO L280 TraceCheckUtils]: 105: Hoare triple {59976#false} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59976#false} is VALID [2020-07-10 15:33:25,644 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-10 15:33:25,645 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-10 15:33:25,645 INFO L280 TraceCheckUtils]: 108: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,645 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-10 15:33:25,647 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-10 15:33:25,648 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-10 15:33:25,648 INFO L263 TraceCheckUtils]: 112: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,648 INFO L280 TraceCheckUtils]: 113: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,648 INFO L280 TraceCheckUtils]: 114: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,648 INFO L280 TraceCheckUtils]: 115: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,648 INFO L280 TraceCheckUtils]: 116: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,649 INFO L280 TraceCheckUtils]: 117: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,649 INFO L275 TraceCheckUtils]: 118: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,649 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-10 15:33:25,649 INFO L280 TraceCheckUtils]: 120: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,650 INFO L263 TraceCheckUtils]: 121: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,650 INFO L280 TraceCheckUtils]: 122: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,650 INFO L280 TraceCheckUtils]: 123: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,650 INFO L280 TraceCheckUtils]: 124: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,651 INFO L280 TraceCheckUtils]: 125: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,651 INFO L280 TraceCheckUtils]: 126: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,651 INFO L275 TraceCheckUtils]: 127: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,651 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-10 15:33:25,651 INFO L280 TraceCheckUtils]: 129: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,652 INFO L280 TraceCheckUtils]: 130: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,652 INFO L275 TraceCheckUtils]: 131: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:25,652 INFO L280 TraceCheckUtils]: 132: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-10 15:33:25,652 INFO L280 TraceCheckUtils]: 133: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:25,652 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-10 15:33:25,653 INFO L280 TraceCheckUtils]: 135: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,653 INFO L275 TraceCheckUtils]: 136: Hoare quadruple {59975#true} {59976#false} #274#return; {59976#false} is VALID [2020-07-10 15:33:25,653 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-10 15:33:25,653 INFO L280 TraceCheckUtils]: 138: Hoare triple {59976#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {59976#false} is VALID [2020-07-10 15:33:25,654 INFO L263 TraceCheckUtils]: 139: Hoare triple {59976#false} call do_read_c(); {59976#false} is VALID [2020-07-10 15:33:25,654 INFO L280 TraceCheckUtils]: 140: Hoare triple {59976#false} havoc ~a~0; {59976#false} is VALID [2020-07-10 15:33:25,654 INFO L280 TraceCheckUtils]: 141: Hoare triple {59976#false} assume 0 == ~c_dr_pc~0; {59976#false} is VALID [2020-07-10 15:33:25,654 INFO L280 TraceCheckUtils]: 142: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:25,655 INFO L280 TraceCheckUtils]: 143: Hoare triple {59976#false} assume !(1 == ~q_free~0); {59976#false} is VALID [2020-07-10 15:33:25,655 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-10 15:33:25,655 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-10 15:33:25,655 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-10 15:33:25,655 INFO L263 TraceCheckUtils]: 147: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,655 INFO L280 TraceCheckUtils]: 148: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,656 INFO L280 TraceCheckUtils]: 149: Hoare triple {59975#true} assume 1 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:25,656 INFO L280 TraceCheckUtils]: 150: Hoare triple {59975#true} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59975#true} is VALID [2020-07-10 15:33:25,656 INFO L280 TraceCheckUtils]: 151: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:25,656 INFO L280 TraceCheckUtils]: 152: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,657 INFO L275 TraceCheckUtils]: 153: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:25,657 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-10 15:33:25,657 INFO L280 TraceCheckUtils]: 155: Hoare triple {59975#true} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59975#true} is VALID [2020-07-10 15:33:25,657 INFO L263 TraceCheckUtils]: 156: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:25,657 INFO L280 TraceCheckUtils]: 157: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,658 INFO L280 TraceCheckUtils]: 158: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:25,658 INFO L280 TraceCheckUtils]: 159: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:25,658 INFO L280 TraceCheckUtils]: 160: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:25,658 INFO L280 TraceCheckUtils]: 161: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,658 INFO L275 TraceCheckUtils]: 162: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:25,659 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-10 15:33:25,659 INFO L280 TraceCheckUtils]: 164: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:25,659 INFO L280 TraceCheckUtils]: 165: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:25,659 INFO L275 TraceCheckUtils]: 166: Hoare quadruple {59975#true} {59976#false} #290#return; {59976#false} is VALID [2020-07-10 15:33:25,659 INFO L280 TraceCheckUtils]: 167: Hoare triple {59976#false} ~q_read_ev~0 := 2; {59976#false} is VALID [2020-07-10 15:33:25,660 INFO L280 TraceCheckUtils]: 168: Hoare triple {59976#false} assume ~p_last_write~0 == ~c_last_read~0; {59976#false} is VALID [2020-07-10 15:33:25,660 INFO L280 TraceCheckUtils]: 169: Hoare triple {59976#false} assume !(~p_num_write~0 == ~c_num_read~0); {59976#false} is VALID [2020-07-10 15:33:25,660 INFO L263 TraceCheckUtils]: 170: Hoare triple {59976#false} call error(); {59976#false} is VALID [2020-07-10 15:33:25,660 INFO L280 TraceCheckUtils]: 171: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:25,691 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-10 15:33:25,692 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [836263597] [2020-07-10 15:33:25,692 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [664895591] [2020-07-10 15:33:25,692 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-10 15:33:25,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,902 INFO L264 TraceCheckSpWp]: Trace formula consists of 854 conjuncts, 2 conjunts are in the unsatisfiable core [2020-07-10 15:33:25,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:33:25,962 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:33:26,183 INFO L263 TraceCheckUtils]: 0: Hoare triple {59975#true} call ULTIMATE.init(); {59975#true} is VALID [2020-07-10 15:33:26,184 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-10 15:33:26,184 INFO L280 TraceCheckUtils]: 2: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,184 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {59975#true} {59975#true} #286#return; {59975#true} is VALID [2020-07-10 15:33:26,185 INFO L263 TraceCheckUtils]: 4: Hoare triple {59975#true} call #t~ret8 := main(); {59975#true} is VALID [2020-07-10 15:33:26,185 INFO L280 TraceCheckUtils]: 5: Hoare triple {59975#true} havoc ~__retres1~3; {59975#true} is VALID [2020-07-10 15:33:26,185 INFO L263 TraceCheckUtils]: 6: Hoare triple {59975#true} call init_model(); {59975#true} is VALID [2020-07-10 15:33:26,186 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-10 15:33:26,186 INFO L280 TraceCheckUtils]: 8: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,186 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {59975#true} {59975#true} #262#return; {59975#true} is VALID [2020-07-10 15:33:26,187 INFO L263 TraceCheckUtils]: 10: Hoare triple {59975#true} call start_simulation(); {59975#true} is VALID [2020-07-10 15:33:26,187 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-10 15:33:26,187 INFO L263 TraceCheckUtils]: 12: Hoare triple {59975#true} call init_threads(); {59975#true} is VALID [2020-07-10 15:33:26,188 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-10 15:33:26,188 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-10 15:33:26,188 INFO L280 TraceCheckUtils]: 15: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,189 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {59975#true} {59975#true} #280#return; {59975#true} is VALID [2020-07-10 15:33:26,189 INFO L280 TraceCheckUtils]: 17: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:26,189 INFO L280 TraceCheckUtils]: 18: Hoare triple {59975#true} ~kernel_st~0 := 1; {59975#true} is VALID [2020-07-10 15:33:26,190 INFO L263 TraceCheckUtils]: 19: Hoare triple {59975#true} call eval(); {59975#true} is VALID [2020-07-10 15:33:26,190 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-10 15:33:26,190 INFO L280 TraceCheckUtils]: 21: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:26,191 INFO L263 TraceCheckUtils]: 22: Hoare triple {59975#true} call #t~ret3 := exists_runnable_thread(); {59975#true} is VALID [2020-07-10 15:33:26,191 INFO L280 TraceCheckUtils]: 23: Hoare triple {59975#true} havoc ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:26,191 INFO L280 TraceCheckUtils]: 24: Hoare triple {59975#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59975#true} is VALID [2020-07-10 15:33:26,192 INFO L280 TraceCheckUtils]: 25: Hoare triple {59975#true} #res := ~__retres1~2; {59975#true} is VALID [2020-07-10 15:33:26,192 INFO L280 TraceCheckUtils]: 26: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,192 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {59975#true} {59975#true} #272#return; {59975#true} is VALID [2020-07-10 15:33:26,193 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-10 15:33:26,193 INFO L280 TraceCheckUtils]: 29: Hoare triple {59975#true} assume 0 != ~tmp___1~0; {59975#true} is VALID [2020-07-10 15:33:26,193 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-10 15:33:26,194 INFO L280 TraceCheckUtils]: 31: Hoare triple {59975#true} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59975#true} is VALID [2020-07-10 15:33:26,194 INFO L263 TraceCheckUtils]: 32: Hoare triple {59975#true} call do_write_p(); {59975#true} is VALID [2020-07-10 15:33:26,194 INFO L280 TraceCheckUtils]: 33: Hoare triple {59975#true} assume 0 == ~p_dw_pc~0; {59975#true} is VALID [2020-07-10 15:33:26,195 INFO L280 TraceCheckUtils]: 34: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:26,195 INFO L280 TraceCheckUtils]: 35: Hoare triple {59975#true} assume !(0 == ~q_free~0); {59975#true} is VALID [2020-07-10 15:33:26,195 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-10 15:33:26,196 INFO L263 TraceCheckUtils]: 37: Hoare triple {59975#true} call immediate_notify_threads(); {59975#true} is VALID [2020-07-10 15:33:26,196 INFO L280 TraceCheckUtils]: 38: Hoare triple {59975#true} havoc ~tmp~0;havoc ~tmp___0~0; {59975#true} is VALID [2020-07-10 15:33:26,196 INFO L263 TraceCheckUtils]: 39: Hoare triple {59975#true} call #t~ret0 := is_do_write_p_triggered(); {59975#true} is VALID [2020-07-10 15:33:26,197 INFO L280 TraceCheckUtils]: 40: Hoare triple {59975#true} havoc ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:26,197 INFO L280 TraceCheckUtils]: 41: Hoare triple {59975#true} assume !(1 == ~p_dw_pc~0); {59975#true} is VALID [2020-07-10 15:33:26,197 INFO L280 TraceCheckUtils]: 42: Hoare triple {59975#true} ~__retres1~0 := 0; {59975#true} is VALID [2020-07-10 15:33:26,198 INFO L280 TraceCheckUtils]: 43: Hoare triple {59975#true} #res := ~__retres1~0; {59975#true} is VALID [2020-07-10 15:33:26,198 INFO L280 TraceCheckUtils]: 44: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,198 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {59975#true} {59975#true} #268#return; {59975#true} is VALID [2020-07-10 15:33:26,198 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-10 15:33:26,199 INFO L280 TraceCheckUtils]: 47: Hoare triple {59975#true} assume !(0 != ~tmp~0); {59975#true} is VALID [2020-07-10 15:33:26,199 INFO L263 TraceCheckUtils]: 48: Hoare triple {59975#true} call #t~ret1 := is_do_read_c_triggered(); {59975#true} is VALID [2020-07-10 15:33:26,199 INFO L280 TraceCheckUtils]: 49: Hoare triple {59975#true} havoc ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:26,200 INFO L280 TraceCheckUtils]: 50: Hoare triple {59975#true} assume !(1 == ~c_dr_pc~0); {59975#true} is VALID [2020-07-10 15:33:26,200 INFO L280 TraceCheckUtils]: 51: Hoare triple {59975#true} ~__retres1~1 := 0; {59975#true} is VALID [2020-07-10 15:33:26,201 INFO L280 TraceCheckUtils]: 52: Hoare triple {59975#true} #res := ~__retres1~1; {59975#true} is VALID [2020-07-10 15:33:26,201 INFO L280 TraceCheckUtils]: 53: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,201 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {59975#true} {59975#true} #270#return; {59975#true} is VALID [2020-07-10 15:33:26,202 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-10 15:33:26,202 INFO L280 TraceCheckUtils]: 56: Hoare triple {59975#true} assume !(0 != ~tmp___0~0); {59975#true} is VALID [2020-07-10 15:33:26,202 INFO L280 TraceCheckUtils]: 57: Hoare triple {59975#true} assume true; {59975#true} is VALID [2020-07-10 15:33:26,203 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {59975#true} {59975#true} #266#return; {59975#true} is VALID [2020-07-10 15:33:26,203 INFO L280 TraceCheckUtils]: 59: Hoare triple {59975#true} ~q_write_ev~0 := 2; {59975#true} is VALID [2020-07-10 15:33:26,203 INFO L280 TraceCheckUtils]: 60: Hoare triple {59975#true} assume !false; {59975#true} is VALID [2020-07-10 15:33:26,204 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-10 15:33:26,205 INFO L280 TraceCheckUtils]: 62: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume true; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:26,207 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-10 15:33:26,208 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-10 15:33:26,209 INFO L280 TraceCheckUtils]: 65: Hoare triple {60153#(<= 2 ~p_dw_st~0)} assume !false; {60153#(<= 2 ~p_dw_st~0)} is VALID [2020-07-10 15:33:26,211 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-10 15:33:26,212 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-10 15:33:26,213 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-10 15:33:26,213 INFO L280 TraceCheckUtils]: 69: Hoare triple {59976#false} #res := ~__retres1~2; {59976#false} is VALID [2020-07-10 15:33:26,213 INFO L280 TraceCheckUtils]: 70: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,214 INFO L275 TraceCheckUtils]: 71: Hoare quadruple {59976#false} {60153#(<= 2 ~p_dw_st~0)} #272#return; {59976#false} is VALID [2020-07-10 15:33:26,214 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-10 15:33:26,215 INFO L280 TraceCheckUtils]: 73: Hoare triple {59976#false} assume !(0 != ~tmp___1~0); {59976#false} is VALID [2020-07-10 15:33:26,215 INFO L280 TraceCheckUtils]: 74: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,215 INFO L275 TraceCheckUtils]: 75: Hoare quadruple {59976#false} {59975#true} #282#return; {59976#false} is VALID [2020-07-10 15:33:26,216 INFO L263 TraceCheckUtils]: 76: Hoare triple {59976#false} call #t~ret7 := stop_simulation(); {59976#false} is VALID [2020-07-10 15:33:26,216 INFO L280 TraceCheckUtils]: 77: Hoare triple {59976#false} havoc ~tmp~2;havoc ~__retres2~0; {59976#false} is VALID [2020-07-10 15:33:26,216 INFO L263 TraceCheckUtils]: 78: Hoare triple {59976#false} call #t~ret6 := exists_runnable_thread(); {59976#false} is VALID [2020-07-10 15:33:26,217 INFO L280 TraceCheckUtils]: 79: Hoare triple {59976#false} havoc ~__retres1~2; {59976#false} is VALID [2020-07-10 15:33:26,217 INFO L280 TraceCheckUtils]: 80: Hoare triple {59976#false} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59976#false} is VALID [2020-07-10 15:33:26,217 INFO L280 TraceCheckUtils]: 81: Hoare triple {59976#false} #res := ~__retres1~2; {59976#false} is VALID [2020-07-10 15:33:26,217 INFO L280 TraceCheckUtils]: 82: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,218 INFO L275 TraceCheckUtils]: 83: Hoare quadruple {59976#false} {59976#false} #278#return; {59976#false} is VALID [2020-07-10 15:33:26,218 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-10 15:33:26,218 INFO L280 TraceCheckUtils]: 85: Hoare triple {59976#false} assume !(0 != ~tmp~2);~__retres2~0 := 1; {59976#false} is VALID [2020-07-10 15:33:26,219 INFO L280 TraceCheckUtils]: 86: Hoare triple {59976#false} #res := ~__retres2~0; {59976#false} is VALID [2020-07-10 15:33:26,219 INFO L280 TraceCheckUtils]: 87: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,219 INFO L275 TraceCheckUtils]: 88: Hoare quadruple {59976#false} {59976#false} #284#return; {59976#false} is VALID [2020-07-10 15:33:26,220 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-10 15:33:26,220 INFO L280 TraceCheckUtils]: 90: Hoare triple {59976#false} assume !(0 != ~tmp~3); {59976#false} is VALID [2020-07-10 15:33:26,220 INFO L280 TraceCheckUtils]: 91: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:26,221 INFO L280 TraceCheckUtils]: 92: Hoare triple {59976#false} ~kernel_st~0 := 1; {59976#false} is VALID [2020-07-10 15:33:26,221 INFO L263 TraceCheckUtils]: 93: Hoare triple {59976#false} call eval(); {59976#false} is VALID [2020-07-10 15:33:26,222 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-10 15:33:26,222 INFO L280 TraceCheckUtils]: 95: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:26,222 INFO L263 TraceCheckUtils]: 96: Hoare triple {59976#false} call #t~ret3 := exists_runnable_thread(); {59976#false} is VALID [2020-07-10 15:33:26,223 INFO L280 TraceCheckUtils]: 97: Hoare triple {59976#false} havoc ~__retres1~2; {59976#false} is VALID [2020-07-10 15:33:26,223 INFO L280 TraceCheckUtils]: 98: Hoare triple {59976#false} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {59976#false} is VALID [2020-07-10 15:33:26,223 INFO L280 TraceCheckUtils]: 99: Hoare triple {59976#false} #res := ~__retres1~2; {59976#false} is VALID [2020-07-10 15:33:26,223 INFO L280 TraceCheckUtils]: 100: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,224 INFO L275 TraceCheckUtils]: 101: Hoare quadruple {59976#false} {59976#false} #272#return; {59976#false} is VALID [2020-07-10 15:33:26,224 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-10 15:33:26,224 INFO L280 TraceCheckUtils]: 103: Hoare triple {59976#false} assume 0 != ~tmp___1~0; {59976#false} is VALID [2020-07-10 15:33:26,225 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-10 15:33:26,225 INFO L280 TraceCheckUtils]: 105: Hoare triple {59976#false} assume 0 != ~tmp~1;~p_dw_st~0 := 1; {59976#false} is VALID [2020-07-10 15:33:26,225 INFO L263 TraceCheckUtils]: 106: Hoare triple {59976#false} call do_write_p(); {59976#false} is VALID [2020-07-10 15:33:26,226 INFO L280 TraceCheckUtils]: 107: Hoare triple {59976#false} assume !(0 == ~p_dw_pc~0); {59976#false} is VALID [2020-07-10 15:33:26,226 INFO L280 TraceCheckUtils]: 108: Hoare triple {59976#false} assume 1 == ~p_dw_pc~0; {59976#false} is VALID [2020-07-10 15:33:26,226 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-10 15:33:26,227 INFO L263 TraceCheckUtils]: 110: Hoare triple {59976#false} call immediate_notify_threads(); {59976#false} is VALID [2020-07-10 15:33:26,227 INFO L280 TraceCheckUtils]: 111: Hoare triple {59976#false} havoc ~tmp~0;havoc ~tmp___0~0; {59976#false} is VALID [2020-07-10 15:33:26,227 INFO L263 TraceCheckUtils]: 112: Hoare triple {59976#false} call #t~ret0 := is_do_write_p_triggered(); {59976#false} is VALID [2020-07-10 15:33:26,228 INFO L280 TraceCheckUtils]: 113: Hoare triple {59976#false} havoc ~__retres1~0; {59976#false} is VALID [2020-07-10 15:33:26,228 INFO L280 TraceCheckUtils]: 114: Hoare triple {59976#false} assume 1 == ~p_dw_pc~0; {59976#false} is VALID [2020-07-10 15:33:26,228 INFO L280 TraceCheckUtils]: 115: Hoare triple {59976#false} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59976#false} is VALID [2020-07-10 15:33:26,229 INFO L280 TraceCheckUtils]: 116: Hoare triple {59976#false} #res := ~__retres1~0; {59976#false} is VALID [2020-07-10 15:33:26,229 INFO L280 TraceCheckUtils]: 117: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,229 INFO L275 TraceCheckUtils]: 118: Hoare quadruple {59976#false} {59976#false} #268#return; {59976#false} is VALID [2020-07-10 15:33:26,230 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-10 15:33:26,230 INFO L280 TraceCheckUtils]: 120: Hoare triple {59976#false} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59976#false} is VALID [2020-07-10 15:33:26,230 INFO L263 TraceCheckUtils]: 121: Hoare triple {59976#false} call #t~ret1 := is_do_read_c_triggered(); {59976#false} is VALID [2020-07-10 15:33:26,231 INFO L280 TraceCheckUtils]: 122: Hoare triple {59976#false} havoc ~__retres1~1; {59976#false} is VALID [2020-07-10 15:33:26,231 INFO L280 TraceCheckUtils]: 123: Hoare triple {59976#false} assume !(1 == ~c_dr_pc~0); {59976#false} is VALID [2020-07-10 15:33:26,231 INFO L280 TraceCheckUtils]: 124: Hoare triple {59976#false} ~__retres1~1 := 0; {59976#false} is VALID [2020-07-10 15:33:26,232 INFO L280 TraceCheckUtils]: 125: Hoare triple {59976#false} #res := ~__retres1~1; {59976#false} is VALID [2020-07-10 15:33:26,232 INFO L280 TraceCheckUtils]: 126: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,232 INFO L275 TraceCheckUtils]: 127: Hoare quadruple {59976#false} {59976#false} #270#return; {59976#false} is VALID [2020-07-10 15:33:26,233 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-10 15:33:26,233 INFO L280 TraceCheckUtils]: 129: Hoare triple {59976#false} assume !(0 != ~tmp___0~0); {59976#false} is VALID [2020-07-10 15:33:26,233 INFO L280 TraceCheckUtils]: 130: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,234 INFO L275 TraceCheckUtils]: 131: Hoare quadruple {59976#false} {59976#false} #266#return; {59976#false} is VALID [2020-07-10 15:33:26,234 INFO L280 TraceCheckUtils]: 132: Hoare triple {59976#false} ~q_write_ev~0 := 2; {59976#false} is VALID [2020-07-10 15:33:26,234 INFO L280 TraceCheckUtils]: 133: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:26,235 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-10 15:33:26,235 INFO L280 TraceCheckUtils]: 135: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,235 INFO L275 TraceCheckUtils]: 136: Hoare quadruple {59976#false} {59976#false} #274#return; {59976#false} is VALID [2020-07-10 15:33:26,236 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-10 15:33:26,236 INFO L280 TraceCheckUtils]: 138: Hoare triple {59976#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 1; {59976#false} is VALID [2020-07-10 15:33:26,236 INFO L263 TraceCheckUtils]: 139: Hoare triple {59976#false} call do_read_c(); {59976#false} is VALID [2020-07-10 15:33:26,237 INFO L280 TraceCheckUtils]: 140: Hoare triple {59976#false} havoc ~a~0; {59976#false} is VALID [2020-07-10 15:33:26,237 INFO L280 TraceCheckUtils]: 141: Hoare triple {59976#false} assume 0 == ~c_dr_pc~0; {59976#false} is VALID [2020-07-10 15:33:26,237 INFO L280 TraceCheckUtils]: 142: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:26,238 INFO L280 TraceCheckUtils]: 143: Hoare triple {59976#false} assume !(1 == ~q_free~0); {59976#false} is VALID [2020-07-10 15:33:26,238 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-10 15:33:26,238 INFO L263 TraceCheckUtils]: 145: Hoare triple {59976#false} call immediate_notify_threads(); {59976#false} is VALID [2020-07-10 15:33:26,239 INFO L280 TraceCheckUtils]: 146: Hoare triple {59976#false} havoc ~tmp~0;havoc ~tmp___0~0; {59976#false} is VALID [2020-07-10 15:33:26,239 INFO L263 TraceCheckUtils]: 147: Hoare triple {59976#false} call #t~ret0 := is_do_write_p_triggered(); {59976#false} is VALID [2020-07-10 15:33:26,239 INFO L280 TraceCheckUtils]: 148: Hoare triple {59976#false} havoc ~__retres1~0; {59976#false} is VALID [2020-07-10 15:33:26,239 INFO L280 TraceCheckUtils]: 149: Hoare triple {59976#false} assume 1 == ~p_dw_pc~0; {59976#false} is VALID [2020-07-10 15:33:26,240 INFO L280 TraceCheckUtils]: 150: Hoare triple {59976#false} assume 1 == ~q_read_ev~0;~__retres1~0 := 1; {59976#false} is VALID [2020-07-10 15:33:26,240 INFO L280 TraceCheckUtils]: 151: Hoare triple {59976#false} #res := ~__retres1~0; {59976#false} is VALID [2020-07-10 15:33:26,240 INFO L280 TraceCheckUtils]: 152: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,241 INFO L275 TraceCheckUtils]: 153: Hoare quadruple {59976#false} {59976#false} #268#return; {59976#false} is VALID [2020-07-10 15:33:26,241 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-10 15:33:26,241 INFO L280 TraceCheckUtils]: 155: Hoare triple {59976#false} assume 0 != ~tmp~0;~p_dw_st~0 := 0; {59976#false} is VALID [2020-07-10 15:33:26,242 INFO L263 TraceCheckUtils]: 156: Hoare triple {59976#false} call #t~ret1 := is_do_read_c_triggered(); {59976#false} is VALID [2020-07-10 15:33:26,242 INFO L280 TraceCheckUtils]: 157: Hoare triple {59976#false} havoc ~__retres1~1; {59976#false} is VALID [2020-07-10 15:33:26,242 INFO L280 TraceCheckUtils]: 158: Hoare triple {59976#false} assume !(1 == ~c_dr_pc~0); {59976#false} is VALID [2020-07-10 15:33:26,243 INFO L280 TraceCheckUtils]: 159: Hoare triple {59976#false} ~__retres1~1 := 0; {59976#false} is VALID [2020-07-10 15:33:26,243 INFO L280 TraceCheckUtils]: 160: Hoare triple {59976#false} #res := ~__retres1~1; {59976#false} is VALID [2020-07-10 15:33:26,243 INFO L280 TraceCheckUtils]: 161: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,244 INFO L275 TraceCheckUtils]: 162: Hoare quadruple {59976#false} {59976#false} #270#return; {59976#false} is VALID [2020-07-10 15:33:26,244 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-10 15:33:26,244 INFO L280 TraceCheckUtils]: 164: Hoare triple {59976#false} assume !(0 != ~tmp___0~0); {59976#false} is VALID [2020-07-10 15:33:26,245 INFO L280 TraceCheckUtils]: 165: Hoare triple {59976#false} assume true; {59976#false} is VALID [2020-07-10 15:33:26,245 INFO L275 TraceCheckUtils]: 166: Hoare quadruple {59976#false} {59976#false} #290#return; {59976#false} is VALID [2020-07-10 15:33:26,245 INFO L280 TraceCheckUtils]: 167: Hoare triple {59976#false} ~q_read_ev~0 := 2; {59976#false} is VALID [2020-07-10 15:33:26,246 INFO L280 TraceCheckUtils]: 168: Hoare triple {59976#false} assume ~p_last_write~0 == ~c_last_read~0; {59976#false} is VALID [2020-07-10 15:33:26,246 INFO L280 TraceCheckUtils]: 169: Hoare triple {59976#false} assume !(~p_num_write~0 == ~c_num_read~0); {59976#false} is VALID [2020-07-10 15:33:26,246 INFO L263 TraceCheckUtils]: 170: Hoare triple {59976#false} call error(); {59976#false} is VALID [2020-07-10 15:33:26,247 INFO L280 TraceCheckUtils]: 171: Hoare triple {59976#false} assume !false; {59976#false} is VALID [2020-07-10 15:33:26,282 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-10 15:33:26,283 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-10 15:33:26,283 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [11] total 11 [2020-07-10 15:33:26,283 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1886899993] [2020-07-10 15:33:26,284 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 172 [2020-07-10 15:33:26,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:33:26,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-10 15:33:26,511 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-10 15:33:26,512 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-10 15:33:26,512 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:33:26,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-10 15:33:26,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2020-07-10 15:33:26,513 INFO L87 Difference]: Start difference. First operand 2006 states and 2998 transitions. Second operand 3 states. [2020-07-10 15:33:30,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:30,900 INFO L93 Difference]: Finished difference Result 2401 states and 3609 transitions. [2020-07-10 15:33:30,900 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 15:33:30,900 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 172 [2020-07-10 15:33:30,900 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:33:30,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:33:30,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 295 transitions. [2020-07-10 15:33:30,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:33:30,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 295 transitions. [2020-07-10 15:33:30,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 295 transitions. [2020-07-10 15:33:31,267 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-10 15:33:31,269 INFO L225 Difference]: With dead ends: 2401 [2020-07-10 15:33:31,269 INFO L226 Difference]: Without dead ends: 0 [2020-07-10 15:33:31,283 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 209 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2020-07-10 15:33:31,283 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-10 15:33:31,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-10 15:33:31,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:33:31,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-10 15:33:31,284 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-10 15:33:31,284 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-10 15:33:31,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:31,284 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-10 15:33:31,285 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-10 15:33:31,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:31,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:33:31,285 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-10 15:33:31,285 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-10 15:33:31,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:33:31,285 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-10 15:33:31,285 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-10 15:33:31,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:31,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:33:31,285 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:33:31,286 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:33:31,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-10 15:33:31,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-10 15:33:31,286 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 172 [2020-07-10 15:33:31,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:33:31,287 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-10 15:33:31,287 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-10 15:33:31,287 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-10 15:33:31,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:33:31,501 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2020-07-10 15:33:31,505 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-10 15:33:32,200 WARN L193 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 102 [2020-07-10 15:33:32,320 WARN L193 SmtUtils]: Spent 104.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 102 [2020-07-10 15:33:33,363 WARN L193 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 92 DAG size of output: 83 [2020-07-10 15:33:41,308 WARN L193 SmtUtils]: Spent 309.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-10 15:33:42,656 WARN L193 SmtUtils]: Spent 1.34 s on a formula simplification. DAG size of input: 123 DAG size of output: 92 [2020-07-10 15:33:44,111 WARN L193 SmtUtils]: Spent 1.34 s on a formula simplification. DAG size of input: 123 DAG size of output: 92 [2020-07-10 15:33:44,607 WARN L193 SmtUtils]: Spent 427.00 ms on a formula simplification. DAG size of input: 117 DAG size of output: 74 [2020-07-10 15:33:44,746 WARN L193 SmtUtils]: Spent 131.00 ms on a formula simplification. DAG size of input: 79 DAG size of output: 65 [2020-07-10 15:33:45,706 WARN L193 SmtUtils]: Spent 906.00 ms on a formula simplification. DAG size of input: 129 DAG size of output: 83 [2020-07-10 15:33:46,113 WARN L193 SmtUtils]: Spent 305.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-10 15:33:47,377 WARN L193 SmtUtils]: Spent 1.19 s on a formula simplification. DAG size of input: 150 DAG size of output: 77 [2020-07-10 15:33:48,248 WARN L193 SmtUtils]: Spent 801.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 66 [2020-07-10 15:33:49,034 WARN L193 SmtUtils]: Spent 721.00 ms on a formula simplification. DAG size of input: 109 DAG size of output: 78 [2020-07-10 15:33:49,399 WARN L193 SmtUtils]: Spent 309.00 ms on a formula simplification. DAG size of input: 107 DAG size of output: 36 [2020-07-10 15:33:50,686 WARN L193 SmtUtils]: Spent 1.28 s on a formula simplification. DAG size of input: 123 DAG size of output: 92 [2020-07-10 15:33:50,843 WARN L193 SmtUtils]: Spent 145.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 61 [2020-07-10 15:33:51,016 WARN L193 SmtUtils]: Spent 127.00 ms on a formula simplification. DAG size of input: 79 DAG size of output: 65 [2020-07-10 15:33:54,476 WARN L193 SmtUtils]: Spent 3.36 s on a formula simplification. DAG size of input: 214 DAG size of output: 150 [2020-07-10 15:33:54,725 WARN L193 SmtUtils]: Spent 191.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 52 [2020-07-10 15:33:55,437 WARN L193 SmtUtils]: Spent 647.00 ms on a formula simplification. DAG size of input: 96 DAG size of output: 80 [2020-07-10 15:33:56,147 WARN L193 SmtUtils]: Spent 642.00 ms on a formula simplification. DAG size of input: 95 DAG size of output: 74 [2020-07-10 15:33:56,832 WARN L193 SmtUtils]: Spent 321.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-10 15:33:57,523 WARN L193 SmtUtils]: Spent 320.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-10 15:34:01,276 WARN L193 SmtUtils]: Spent 3.62 s on a formula simplification. DAG size of input: 227 DAG size of output: 153 [2020-07-10 15:34:04,273 WARN L193 SmtUtils]: Spent 2.70 s on a formula simplification. DAG size of input: 178 DAG size of output: 127 [2020-07-10 15:34:05,299 WARN L193 SmtUtils]: Spent 976.00 ms on a formula simplification. DAG size of input: 150 DAG size of output: 89 [2020-07-10 15:34:07,132 WARN L193 SmtUtils]: Spent 1.74 s on a formula simplification. DAG size of input: 179 DAG size of output: 116 [2020-07-10 15:34:07,373 WARN L193 SmtUtils]: Spent 187.00 ms on a formula simplification. DAG size of input: 67 DAG size of output: 52 [2020-07-10 15:34:08,665 WARN L193 SmtUtils]: Spent 1.22 s on a formula simplification. DAG size of input: 181 DAG size of output: 100 [2020-07-10 15:34:12,390 WARN L193 SmtUtils]: Spent 3.61 s on a formula simplification. DAG size of input: 214 DAG size of output: 150 [2020-07-10 15:34:12,803 WARN L193 SmtUtils]: Spent 312.00 ms on a formula simplification. DAG size of input: 143 DAG size of output: 1 [2020-07-10 15:34:13,312 WARN L193 SmtUtils]: Spent 447.00 ms on a formula simplification. DAG size of input: 95 DAG size of output: 70 [2020-07-10 15:34:13,437 WARN L193 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 51 [2020-07-10 15:34:13,579 WARN L193 SmtUtils]: Spent 133.00 ms on a formula simplification. DAG size of input: 65 DAG size of output: 36 [2020-07-10 15:34:14,383 WARN L193 SmtUtils]: Spent 727.00 ms on a formula simplification. DAG size of input: 128 DAG size of output: 87 [2020-07-10 15:34:14,695 WARN L193 SmtUtils]: Spent 160.00 ms on a formula simplification. DAG size of input: 86 DAG size of output: 61 [2020-07-10 15:34:15,320 WARN L193 SmtUtils]: Spent 534.00 ms on a formula simplification. DAG size of input: 113 DAG size of output: 53 [2020-07-10 15:34:18,220 WARN L193 SmtUtils]: Spent 2.79 s on a formula simplification. DAG size of input: 214 DAG size of output: 130 [2020-07-10 15:34:19,169 WARN L193 SmtUtils]: Spent 883.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 66 [2020-07-10 15:34:20,858 WARN L193 SmtUtils]: Spent 1.63 s on a formula simplification. DAG size of input: 200 DAG size of output: 90 [2020-07-10 15:34:20,869 INFO L268 CegarLoopResult]: For program point exists_runnable_threadEXIT(lines 210 229) no Hoare annotation was computed. [2020-07-10 15:34:20,869 INFO L268 CegarLoopResult]: For program point L218(lines 218 223) no Hoare annotation was computed. [2020-07-10 15:34:20,869 INFO L268 CegarLoopResult]: For program point L214(lines 214 224) no Hoare annotation was computed. [2020-07-10 15:34:20,869 INFO L271 CegarLoopResult]: At program point exists_runnable_threadENTRY(lines 210 229) the Hoare annotation is: true [2020-07-10 15:34:20,870 INFO L271 CegarLoopResult]: At program point L226(lines 213 228) the Hoare annotation is: true [2020-07-10 15:34:20,870 INFO L268 CegarLoopResult]: For program point exists_runnable_threadFINAL(lines 210 229) no Hoare annotation was computed. [2020-07-10 15:34:20,870 INFO L268 CegarLoopResult]: For program point init_threadsEXIT(lines 192 209) no Hoare annotation was computed. [2020-07-10 15:34:20,870 INFO L268 CegarLoopResult]: For program point L201-1(lines 192 209) no Hoare annotation was computed. [2020-07-10 15:34:20,870 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-10 15:34:20,870 INFO L268 CegarLoopResult]: For program point L196-1(lines 195 208) no Hoare annotation was computed. [2020-07-10 15:34:20,870 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-10 15:34:20,871 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-10 15:34:20,871 INFO L268 CegarLoopResult]: For program point mainFINAL(lines 349 360) no Hoare annotation was computed. [2020-07-10 15:34:20,871 INFO L268 CegarLoopResult]: For program point mainEXIT(lines 349 360) no Hoare annotation was computed. [2020-07-10 15:34:20,871 INFO L268 CegarLoopResult]: For program point L355(line 355) no Hoare annotation was computed. [2020-07-10 15:34:20,871 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-10 15:34:20,872 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-10 15:34:20,872 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-10 15:34:20,873 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-10 15:34:20,873 INFO L268 CegarLoopResult]: For program point L124-1(line 124) no Hoare annotation was computed. [2020-07-10 15:34:20,873 INFO L268 CegarLoopResult]: For program point L108(lines 107 127) no Hoare annotation was computed. [2020-07-10 15:34:20,873 INFO L268 CegarLoopResult]: For program point do_write_pEXIT(lines 91 133) no Hoare annotation was computed. [2020-07-10 15:34:20,873 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-10 15:34:20,874 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-10 15:34:20,874 INFO L268 CegarLoopResult]: For program point L99(lines 99 103) no Hoare annotation was computed. [2020-07-10 15:34:20,874 INFO L268 CegarLoopResult]: For program point errorEXIT(lines 5 12) no Hoare annotation was computed. [2020-07-10 15:34:20,874 INFO L268 CegarLoopResult]: For program point errorErr0ASSERT_VIOLATIONERROR_FUNCTION(line 9) no Hoare annotation was computed. [2020-07-10 15:34:20,874 INFO L271 CegarLoopResult]: At program point errorENTRY(lines 5 12) the Hoare annotation is: true [2020-07-10 15:34:20,875 INFO L268 CegarLoopResult]: For program point errorFINAL(lines 5 12) no Hoare annotation was computed. [2020-07-10 15:34:20,875 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-10 15:34:20,875 INFO L268 CegarLoopResult]: For program point L82(lines 82 86) no Hoare annotation was computed. [2020-07-10 15:34:20,875 INFO L268 CegarLoopResult]: For program point L80(line 80) no Hoare annotation was computed. [2020-07-10 15:34:20,875 INFO L268 CegarLoopResult]: For program point L82-2(lines 66 90) no Hoare annotation was computed. [2020-07-10 15:34:20,876 INFO L268 CegarLoopResult]: For program point L74(lines 74 78) no Hoare annotation was computed. [2020-07-10 15:34:20,876 INFO L268 CegarLoopResult]: For program point immediate_notify_threadsEXIT(lines 66 90) no Hoare annotation was computed. [2020-07-10 15:34:20,876 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-10 15:34:20,877 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-10 15:34:20,877 INFO L268 CegarLoopResult]: For program point L72-1(line 72) no Hoare annotation was computed. [2020-07-10 15:34:20,877 INFO L268 CegarLoopResult]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2020-07-10 15:34:20,877 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-10 15:34:20,877 INFO L268 CegarLoopResult]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2020-07-10 15:34:20,878 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-10 15:34:20,878 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-10 15:34:20,878 INFO L268 CegarLoopResult]: For program point L242(lines 242 246) no Hoare annotation was computed. [2020-07-10 15:34:20,878 INFO L268 CegarLoopResult]: For program point L242-1(lines 237 277) no Hoare annotation was computed. [2020-07-10 15:34:20,879 INFO L268 CegarLoopResult]: For program point L240(line 240) no Hoare annotation was computed. [2020-07-10 15:34:20,879 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-10 15:34:20,880 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-10 15:34:20,880 INFO L268 CegarLoopResult]: For program point evalEXIT(lines 230 283) no Hoare annotation was computed. [2020-07-10 15:34:20,880 INFO L268 CegarLoopResult]: For program point L251(lines 251 258) no Hoare annotation was computed. [2020-07-10 15:34:20,880 INFO L268 CegarLoopResult]: For program point L247(lines 237 277) no Hoare annotation was computed. [2020-07-10 15:34:20,881 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-10 15:34:20,881 INFO L268 CegarLoopResult]: For program point L266(lines 266 273) no Hoare annotation was computed. [2020-07-10 15:34:20,881 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-10 15:34:20,881 INFO L268 CegarLoopResult]: For program point L290-1(line 290) no Hoare annotation was computed. [2020-07-10 15:34:20,882 INFO L271 CegarLoopResult]: At program point L299(lines 288 301) the Hoare annotation is: true [2020-07-10 15:34:20,882 INFO L268 CegarLoopResult]: For program point stop_simulationEXIT(lines 284 302) no Hoare annotation was computed. [2020-07-10 15:34:20,882 INFO L268 CegarLoopResult]: For program point L292(lines 292 297) no Hoare annotation was computed. [2020-07-10 15:34:20,882 INFO L271 CegarLoopResult]: At program point stop_simulationENTRY(lines 284 302) the Hoare annotation is: true [2020-07-10 15:34:20,882 INFO L271 CegarLoopResult]: At program point L290(line 290) the Hoare annotation is: true [2020-07-10 15:34:20,882 INFO L268 CegarLoopResult]: For program point stop_simulationFINAL(lines 284 302) no Hoare annotation was computed. [2020-07-10 15:34:20,882 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-10 15:34:20,882 INFO L271 CegarLoopResult]: At program point is_do_read_c_triggeredENTRY(lines 47 65) the Hoare annotation is: true [2020-07-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point L52(lines 52 57) no Hoare annotation was computed. [2020-07-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point L51(lines 51 60) no Hoare annotation was computed. [2020-07-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point L51-2(lines 51 60) no Hoare annotation was computed. [2020-07-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point is_do_read_c_triggeredFINAL(lines 47 65) no Hoare annotation was computed. [2020-07-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point is_do_read_c_triggeredEXIT(lines 47 65) no Hoare annotation was computed. [2020-07-10 15:34:20,883 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-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point L320(lines 320 324) no Hoare annotation was computed. [2020-07-10 15:34:20,883 INFO L268 CegarLoopResult]: For program point L318(line 318) no Hoare annotation was computed. [2020-07-10 15:34:20,884 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-10 15:34:20,884 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-10 15:34:20,884 INFO L268 CegarLoopResult]: For program point start_simulationEXIT(lines 303 331) no Hoare annotation was computed. [2020-07-10 15:34:20,885 INFO L268 CegarLoopResult]: For program point L314(line 314) no Hoare annotation was computed. [2020-07-10 15:34:20,885 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-10 15:34:20,885 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-10 15:34:20,885 INFO L271 CegarLoopResult]: At program point L326(lines 303 331) the Hoare annotation is: true [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2020-07-10 15:34:20,886 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-10 15:34:20,886 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point L33(lines 33 38) no Hoare annotation was computed. [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point L32(lines 32 41) no Hoare annotation was computed. [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point L32-2(lines 32 41) no Hoare annotation was computed. [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point is_do_write_p_triggeredFINAL(lines 28 46) no Hoare annotation was computed. [2020-07-10 15:34:20,886 INFO L268 CegarLoopResult]: For program point is_do_write_p_triggeredEXIT(lines 28 46) no Hoare annotation was computed. [2020-07-10 15:34:20,886 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-10 15:34:20,886 INFO L271 CegarLoopResult]: At program point is_do_write_p_triggeredENTRY(lines 28 46) the Hoare annotation is: true [2020-07-10 15:34:20,887 INFO L268 CegarLoopResult]: For program point do_read_cEXIT(lines 135 191) no Hoare annotation was computed. [2020-07-10 15:34:20,887 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-10 15:34:20,887 INFO L268 CegarLoopResult]: For program point L151(lines 150 185) no Hoare annotation was computed. [2020-07-10 15:34:20,887 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-10 15:34:20,888 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-10 15:34:20,888 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-10 15:34:20,888 INFO L268 CegarLoopResult]: For program point L172(lines 172 184) no Hoare annotation was computed. [2020-07-10 15:34:20,888 INFO L268 CegarLoopResult]: For program point L139(lines 139 147) no Hoare annotation was computed. [2020-07-10 15:34:20,888 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-10 15:34:20,888 INFO L268 CegarLoopResult]: For program point L152-1(lines 152 162) no Hoare annotation was computed. [2020-07-10 15:34:20,889 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-10 15:34:20,889 INFO L268 CegarLoopResult]: For program point L142(lines 142 146) no Hoare annotation was computed. [2020-07-10 15:34:20,889 INFO L268 CegarLoopResult]: For program point L173(lines 173 179) no Hoare annotation was computed. [2020-07-10 15:34:20,889 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-10 15:34:20,889 INFO L268 CegarLoopResult]: For program point L169-1(line 169) no Hoare annotation was computed. [2020-07-10 15:34:20,889 INFO L268 CegarLoopResult]: For program point init_modelFINAL(lines 332 348) no Hoare annotation was computed. [2020-07-10 15:34:20,889 INFO L268 CegarLoopResult]: For program point init_modelEXIT(lines 332 348) no Hoare annotation was computed. [2020-07-10 15:34:20,889 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-10 15:34:20,895 WARN L170 areAnnotationChecker]: L214 has no Hoare annotation [2020-07-10 15:34:20,895 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-10 15:34:20,895 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-10 15:34:20,900 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2020-07-10 15:34:20,900 WARN L170 areAnnotationChecker]: errorErr0ASSERT_VIOLATIONERROR_FUNCTION has no Hoare annotation [2020-07-10 15:34:20,900 WARN L170 areAnnotationChecker]: errorFINAL has no Hoare annotation [2020-07-10 15:34:20,902 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:34:20,911 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2020-07-10 15:34:20,913 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-10 15:34:20,913 WARN L170 areAnnotationChecker]: L139 has no Hoare annotation [2020-07-10 15:34:20,913 WARN L170 areAnnotationChecker]: init_modelFINAL has no Hoare annotation [2020-07-10 15:34:20,913 WARN L170 areAnnotationChecker]: L214 has no Hoare annotation [2020-07-10 15:34:20,913 WARN L170 areAnnotationChecker]: L214 has no Hoare annotation [2020-07-10 15:34:20,913 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-10 15:34:20,914 WARN L170 areAnnotationChecker]: L196-1 has no Hoare annotation [2020-07-10 15:34:20,917 WARN L170 areAnnotationChecker]: L108 has no Hoare annotation [2020-07-10 15:34:20,917 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2020-07-10 15:34:20,917 WARN L170 areAnnotationChecker]: L99 has no Hoare annotation [2020-07-10 15:34:20,918 WARN L170 areAnnotationChecker]: errorFINAL has no Hoare annotation [2020-07-10 15:34:20,918 WARN L170 areAnnotationChecker]: L72-1 has no Hoare annotation [2020-07-10 15:34:20,918 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:34:20,921 WARN L170 areAnnotationChecker]: L290-1 has no Hoare annotation [2020-07-10 15:34:20,921 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2020-07-10 15:34:20,921 WARN L170 areAnnotationChecker]: L51 has no Hoare annotation [2020-07-10 15:34:20,924 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L139 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L139 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: init_modelFINAL has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: exists_runnable_threadFINAL has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L218 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L218 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L201-1 has no Hoare annotation [2020-07-10 15:34:20,926 WARN L170 areAnnotationChecker]: L355 has no Hoare annotation [2020-07-10 15:34:20,929 WARN L170 areAnnotationChecker]: do_write_pEXIT has no Hoare annotation [2020-07-10 15:34:20,929 WARN L170 areAnnotationChecker]: L108 has no Hoare annotation [2020-07-10 15:34:20,929 WARN L170 areAnnotationChecker]: L108 has no Hoare annotation [2020-07-10 15:34:20,933 WARN L170 areAnnotationChecker]: errorEXIT has no Hoare annotation [2020-07-10 15:34:20,933 WARN L170 areAnnotationChecker]: errorEXIT has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: L72-1 has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: evalEXIT has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: L240 has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: L290-1 has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2020-07-10 15:34:20,934 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2020-07-10 15:34:20,935 WARN L170 areAnnotationChecker]: L314 has no Hoare annotation [2020-07-10 15:34:20,935 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:34:20,935 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-10 15:34:20,935 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2020-07-10 15:34:20,935 WARN L170 areAnnotationChecker]: L32-2 has no Hoare annotation [2020-07-10 15:34:20,936 WARN L170 areAnnotationChecker]: L151 has no Hoare annotation [2020-07-10 15:34:20,936 WARN L170 areAnnotationChecker]: L142 has no Hoare annotation [2020-07-10 15:34:20,936 WARN L170 areAnnotationChecker]: L142 has no Hoare annotation [2020-07-10 15:34:20,937 WARN L170 areAnnotationChecker]: init_modelEXIT has no Hoare annotation [2020-07-10 15:34:20,937 WARN L170 areAnnotationChecker]: exists_runnable_threadFINAL has no Hoare annotation [2020-07-10 15:34:20,937 WARN L170 areAnnotationChecker]: init_threadsEXIT has no Hoare annotation [2020-07-10 15:34:20,937 WARN L170 areAnnotationChecker]: L355 has no Hoare annotation [2020-07-10 15:34:20,937 WARN L170 areAnnotationChecker]: do_write_pEXIT has no Hoare annotation [2020-07-10 15:34:20,937 WARN L170 areAnnotationChecker]: L124-1 has no Hoare annotation [2020-07-10 15:34:20,939 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2020-07-10 15:34:20,939 WARN L170 areAnnotationChecker]: L74 has no Hoare annotation [2020-07-10 15:34:20,939 WARN L170 areAnnotationChecker]: evalEXIT has no Hoare annotation [2020-07-10 15:34:20,939 WARN L170 areAnnotationChecker]: L240 has no Hoare annotation [2020-07-10 15:34:20,939 WARN L170 areAnnotationChecker]: L292 has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: L292 has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: is_do_read_c_triggeredFINAL has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: start_simulationEXIT has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: L314 has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: is_do_write_p_triggeredFINAL has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: do_read_cEXIT has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: L151 has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: L151 has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: L152-1 has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: exists_runnable_threadEXIT has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: exists_runnable_threadEXIT has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:34:20,940 WARN L170 areAnnotationChecker]: L247 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: L247 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: L124-1 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: L80 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: L318 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: L242 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: L242 has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: stop_simulationFINAL has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: is_do_read_c_triggeredFINAL has no Hoare annotation [2020-07-10 15:34:20,941 WARN L170 areAnnotationChecker]: start_simulationEXIT has no Hoare annotation [2020-07-10 15:34:20,945 WARN L170 areAnnotationChecker]: is_do_write_p_triggeredFINAL has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: do_read_cEXIT has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: L152-1 has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: L266 has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: L266 has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: L80 has no Hoare annotation [2020-07-10 15:34:20,946 WARN L170 areAnnotationChecker]: L318 has no Hoare annotation [2020-07-10 15:34:20,947 WARN L170 areAnnotationChecker]: L242-1 has no Hoare annotation [2020-07-10 15:34:20,947 WARN L170 areAnnotationChecker]: L242-1 has no Hoare annotation [2020-07-10 15:34:20,947 WARN L170 areAnnotationChecker]: stop_simulationFINAL has no Hoare annotation [2020-07-10 15:34:20,947 WARN L170 areAnnotationChecker]: is_do_read_c_triggeredEXIT has no Hoare annotation [2020-07-10 15:34:20,947 WARN L170 areAnnotationChecker]: is_do_write_p_triggeredEXIT has no Hoare annotation [2020-07-10 15:34:20,947 WARN L170 areAnnotationChecker]: L169-1 has no Hoare annotation [2020-07-10 15:34:20,960 WARN L170 areAnnotationChecker]: L82 has no Hoare annotation [2020-07-10 15:34:20,960 WARN L170 areAnnotationChecker]: L82 has no Hoare annotation [2020-07-10 15:34:20,960 WARN L170 areAnnotationChecker]: L320 has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: L320 has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: L251 has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: L251 has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: stop_simulationEXIT has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: L169-1 has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: L82-2 has no Hoare annotation [2020-07-10 15:34:20,961 WARN L170 areAnnotationChecker]: L247 has no Hoare annotation [2020-07-10 15:34:20,969 WARN L170 areAnnotationChecker]: L172 has no Hoare annotation [2020-07-10 15:34:20,969 WARN L170 areAnnotationChecker]: L172 has no Hoare annotation [2020-07-10 15:34:20,969 WARN L170 areAnnotationChecker]: immediate_notify_threadsEXIT has no Hoare annotation [2020-07-10 15:34:20,969 WARN L170 areAnnotationChecker]: immediate_notify_threadsEXIT has no Hoare annotation [2020-07-10 15:34:20,969 WARN L170 areAnnotationChecker]: L173 has no Hoare annotation [2020-07-10 15:34:20,969 WARN L170 areAnnotationChecker]: L173 has no Hoare annotation [2020-07-10 15:34:20,970 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-10 15:34:21,113 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:34:21 BoogieIcfgContainer [2020-07-10 15:34:21,113 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:34:21,118 INFO L168 Benchmark]: Toolchain (without parser) took 230838.28 ms. Allocated memory was 144.7 MB in the beginning and 865.1 MB in the end (delta: 720.4 MB). Free memory was 101.0 MB in the beginning and 274.7 MB in the end (delta: -173.7 MB). Peak memory consumption was 546.7 MB. Max. memory is 7.1 GB. [2020-07-10 15:34:21,119 INFO L168 Benchmark]: CDTParser took 0.55 ms. Allocated memory is still 144.7 MB. Free memory is still 119.3 MB. There was no memory consumed. Max. memory is 7.1 GB. [2020-07-10 15:34:21,122 INFO L168 Benchmark]: CACSL2BoogieTranslator took 451.21 ms. Allocated memory is still 144.7 MB. Free memory was 100.6 MB in the beginning and 87.6 MB in the end (delta: 13.0 MB). Peak memory consumption was 13.0 MB. Max. memory is 7.1 GB. [2020-07-10 15:34:21,123 INFO L168 Benchmark]: Boogie Preprocessor took 172.29 ms. Allocated memory was 144.7 MB in the beginning and 202.9 MB in the end (delta: 58.2 MB). Free memory was 87.6 MB in the beginning and 180.4 MB in the end (delta: -92.8 MB). Peak memory consumption was 9.6 MB. Max. memory is 7.1 GB. [2020-07-10 15:34:21,126 INFO L168 Benchmark]: RCFGBuilder took 869.44 ms. Allocated memory is still 202.9 MB. Free memory was 179.4 MB in the beginning and 136.3 MB in the end (delta: 43.1 MB). Peak memory consumption was 43.1 MB. Max. memory is 7.1 GB. [2020-07-10 15:34:21,127 INFO L168 Benchmark]: TraceAbstraction took 229338.12 ms. Allocated memory was 202.9 MB in the beginning and 865.1 MB in the end (delta: 662.2 MB). Free memory was 135.3 MB in the beginning and 274.7 MB in the end (delta: -139.4 MB). Peak memory consumption was 522.8 MB. Max. memory is 7.1 GB. [2020-07-10 15:34:21,129 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 0.55 ms. Allocated memory is still 144.7 MB. Free memory is still 119.3 MB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 451.21 ms. Allocated memory is still 144.7 MB. Free memory was 100.6 MB in the beginning and 87.6 MB in the end (delta: 13.0 MB). Peak memory consumption was 13.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 172.29 ms. Allocated memory was 144.7 MB in the beginning and 202.9 MB in the end (delta: 58.2 MB). Free memory was 87.6 MB in the beginning and 180.4 MB in the end (delta: -92.8 MB). Peak memory consumption was 9.6 MB. Max. memory is 7.1 GB. * RCFGBuilder took 869.44 ms. Allocated memory is still 202.9 MB. Free memory was 179.4 MB in the beginning and 136.3 MB in the end (delta: 43.1 MB). Peak memory consumption was 43.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 229338.12 ms. Allocated memory was 202.9 MB in the beginning and 865.1 MB in the end (delta: 662.2 MB). Free memory was 135.3 MB in the beginning and 274.7 MB in the end (delta: -139.4 MB). Peak memory consumption was 522.8 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: 179.6s, OverallIterations: 14, TraceHistogramMax: 4, AutomataDifference: 128.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 49.3s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 2089 SDtfs, 5426 SDslu, 2233 SDs, 0 SdLazy, 10063 SolverSat, 2278 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 27.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 881 GetRequests, 660 SyntacticMatches, 4 SemanticMatches, 217 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1208 ImplicationChecksByTransitivity, 6.9s 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: 41.0s AutomataMinimizationTime, 14 MinimizatonAttempts, 1555 StatesRemovedByMinimization, 12 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 45 LocationsWithAnnotation, 3013 PreInvPairs, 3531 NumberOfFragments, 13008 HoareAnnotationTreeSize, 3013 FomulaSimplifications, 38236070 FormulaSimplificationTreeSizeReduction, 9.3s HoareSimplificationTime, 45 FomulaSimplificationsInter, 1290290 FormulaSimplificationTreeSizeReductionInter, 37.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.7s SatisfiabilityAnalysisTime, 6.6s 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...