./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 7889f6823684efa4d90d392ed393927ee5c2d2eb45f6dbf47b7c030213ef334f --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 19:57:30,195 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 19:57:30,197 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 19:57:30,241 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 19:57:30,242 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 19:57:30,245 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 19:57:30,246 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 19:57:30,249 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 19:57:30,251 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 19:57:30,256 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 19:57:30,257 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 19:57:30,258 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 19:57:30,258 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 19:57:30,261 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 19:57:30,262 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 19:57:30,265 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 19:57:30,266 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 19:57:30,267 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 19:57:30,269 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 19:57:30,273 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 19:57:30,275 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 19:57:30,276 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 19:57:30,277 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 19:57:30,278 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 19:57:30,281 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 19:57:30,281 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 19:57:30,282 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 19:57:30,283 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 19:57:30,283 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 19:57:30,284 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 19:57:30,284 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 19:57:30,285 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 19:57:30,286 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 19:57:30,291 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 19:57:30,292 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 19:57:30,292 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 19:57:30,293 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 19:57:30,293 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 19:57:30,293 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 19:57:30,294 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 19:57:30,295 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 19:57:30,295 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 19:57:30,329 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 19:57:30,329 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 19:57:30,329 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 19:57:30,330 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 19:57:30,330 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 19:57:30,331 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 19:57:30,331 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 19:57:30,331 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 19:57:30,331 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 19:57:30,332 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 19:57:30,332 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 19:57:30,333 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 19:57:30,333 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 19:57:30,333 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 19:57:30,333 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 19:57:30,333 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 19:57:30,334 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 19:57:30,334 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 19:57:30,334 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 19:57:30,334 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 19:57:30,334 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 19:57:30,334 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 19:57:30,335 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 19:57:30,335 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 19:57:30,335 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 19:57:30,335 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 19:57:30,335 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 19:57:30,335 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 19:57:30,336 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 19:57:30,336 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 19:57:30,336 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 19:57:30,336 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 19:57:30,336 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 19:57:30,337 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 7889f6823684efa4d90d392ed393927ee5c2d2eb45f6dbf47b7c030213ef334f [2022-02-20 19:57:30,570 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 19:57:30,591 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 19:57:30,593 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 19:57:30,594 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 19:57:30,595 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 19:57:30,596 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c [2022-02-20 19:57:30,649 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4d47941ed/3e261c70a93a424abfd3593340eec3a4/FLAG4a3f6b148 [2022-02-20 19:57:31,102 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 19:57:31,103 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c [2022-02-20 19:57:31,116 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4d47941ed/3e261c70a93a424abfd3593340eec3a4/FLAG4a3f6b148 [2022-02-20 19:57:31,133 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4d47941ed/3e261c70a93a424abfd3593340eec3a4 [2022-02-20 19:57:31,134 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 19:57:31,136 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 19:57:31,138 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 19:57:31,138 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 19:57:31,140 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 19:57:31,141 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,142 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@79653762 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31, skipping insertion in model container [2022-02-20 19:57:31,142 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,147 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 19:57:31,195 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 19:57:31,352 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c[914,927] [2022-02-20 19:57:31,418 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c[7115,7128] [2022-02-20 19:57:31,525 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 19:57:31,542 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 19:57:31,553 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c[914,927] [2022-02-20 19:57:31,589 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/combinations/pc_sfifo_2.cil-1+token_ring.08.cil-1.c[7115,7128] [2022-02-20 19:57:31,638 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 19:57:31,656 INFO L208 MainTranslator]: Completed translation [2022-02-20 19:57:31,657 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31 WrapperNode [2022-02-20 19:57:31,657 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 19:57:31,658 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 19:57:31,659 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 19:57:31,659 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 19:57:31,665 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,687 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,742 INFO L137 Inliner]: procedures = 69, calls = 81, calls flagged for inlining = 38, calls inlined = 38, statements flattened = 808 [2022-02-20 19:57:31,750 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 19:57:31,752 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 19:57:31,752 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 19:57:31,752 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 19:57:31,759 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,760 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,769 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,769 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,786 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,803 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,807 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,814 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 19:57:31,815 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 19:57:31,815 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 19:57:31,815 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 19:57:31,823 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (1/1) ... [2022-02-20 19:57:31,828 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 19:57:31,838 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 19:57:31,857 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 19:57:31,870 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 19:57:31,892 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 19:57:31,892 INFO L130 BoogieDeclarations]: Found specification of procedure immediate_notify [2022-02-20 19:57:31,893 INFO L138 BoogieDeclarations]: Found implementation of procedure immediate_notify [2022-02-20 19:57:31,893 INFO L130 BoogieDeclarations]: Found specification of procedure is_do_write_p_triggered [2022-02-20 19:57:31,893 INFO L138 BoogieDeclarations]: Found implementation of procedure is_do_write_p_triggered [2022-02-20 19:57:31,894 INFO L130 BoogieDeclarations]: Found specification of procedure exists_runnable_thread1 [2022-02-20 19:57:31,894 INFO L138 BoogieDeclarations]: Found implementation of procedure exists_runnable_thread1 [2022-02-20 19:57:31,894 INFO L130 BoogieDeclarations]: Found specification of procedure exists_runnable_thread2 [2022-02-20 19:57:31,895 INFO L138 BoogieDeclarations]: Found implementation of procedure exists_runnable_thread2 [2022-02-20 19:57:31,895 INFO L130 BoogieDeclarations]: Found specification of procedure reset_delta_events1 [2022-02-20 19:57:31,895 INFO L138 BoogieDeclarations]: Found implementation of procedure reset_delta_events1 [2022-02-20 19:57:31,895 INFO L130 BoogieDeclarations]: Found specification of procedure reset_delta_events2 [2022-02-20 19:57:31,896 INFO L138 BoogieDeclarations]: Found implementation of procedure reset_delta_events2 [2022-02-20 19:57:31,896 INFO L130 BoogieDeclarations]: Found specification of procedure activate_threads2 [2022-02-20 19:57:31,896 INFO L138 BoogieDeclarations]: Found implementation of procedure activate_threads2 [2022-02-20 19:57:31,896 INFO L130 BoogieDeclarations]: Found specification of procedure activate_threads1 [2022-02-20 19:57:31,896 INFO L138 BoogieDeclarations]: Found implementation of procedure activate_threads1 [2022-02-20 19:57:31,896 INFO L130 BoogieDeclarations]: Found specification of procedure is_do_read_c_triggered [2022-02-20 19:57:31,897 INFO L138 BoogieDeclarations]: Found implementation of procedure is_do_read_c_triggered [2022-02-20 19:57:31,897 INFO L130 BoogieDeclarations]: Found specification of procedure update_channels1 [2022-02-20 19:57:31,897 INFO L138 BoogieDeclarations]: Found implementation of procedure update_channels1 [2022-02-20 19:57:31,897 INFO L130 BoogieDeclarations]: Found specification of procedure update_channels2 [2022-02-20 19:57:31,897 INFO L138 BoogieDeclarations]: Found implementation of procedure update_channels2 [2022-02-20 19:57:31,897 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 19:57:31,898 INFO L130 BoogieDeclarations]: Found specification of procedure fire_delta_events2 [2022-02-20 19:57:31,898 INFO L138 BoogieDeclarations]: Found implementation of procedure fire_delta_events2 [2022-02-20 19:57:31,898 INFO L130 BoogieDeclarations]: Found specification of procedure fire_delta_events1 [2022-02-20 19:57:31,898 INFO L138 BoogieDeclarations]: Found implementation of procedure fire_delta_events1 [2022-02-20 19:57:31,898 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 19:57:31,898 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 19:57:31,898 INFO L130 BoogieDeclarations]: Found specification of procedure error1 [2022-02-20 19:57:31,899 INFO L138 BoogieDeclarations]: Found implementation of procedure error1 [2022-02-20 19:57:32,008 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 19:57:32,009 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 19:57:32,826 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 19:57:32,847 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 19:57:32,847 INFO L299 CfgBuilder]: Removed 15 assume(true) statements. [2022-02-20 19:57:32,849 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 07:57:32 BoogieIcfgContainer [2022-02-20 19:57:32,850 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 19:57:32,851 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 19:57:32,851 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 19:57:32,854 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 19:57:32,854 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 07:57:31" (1/3) ... [2022-02-20 19:57:32,855 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b8c8815 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 07:57:32, skipping insertion in model container [2022-02-20 19:57:32,855 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 07:57:31" (2/3) ... [2022-02-20 19:57:32,855 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b8c8815 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 07:57:32, skipping insertion in model container [2022-02-20 19:57:32,856 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 07:57:32" (3/3) ... [2022-02-20 19:57:32,857 INFO L111 eAbstractionObserver]: Analyzing ICFG pc_sfifo_2.cil-1+token_ring.08.cil-1.c [2022-02-20 19:57:32,861 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 19:57:32,861 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 2 error locations. [2022-02-20 19:57:32,905 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 19:57:32,910 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 19:57:32,910 INFO L340 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2022-02-20 19:57:32,940 INFO L276 IsEmpty]: Start isEmpty. Operand has 383 states, 330 states have (on average 1.621212121212121) internal successors, (535), 336 states have internal predecessors, (535), 36 states have call successors, (36), 14 states have call predecessors, (36), 14 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) [2022-02-20 19:57:32,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:57:32,950 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:57:32,951 INFO L514 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] [2022-02-20 19:57:32,952 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:57:32,966 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:57:32,967 INFO L85 PathProgramCache]: Analyzing trace with hash 1589538386, now seen corresponding path program 1 times [2022-02-20 19:57:32,975 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:57:32,975 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [544994529] [2022-02-20 19:57:32,975 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:57:32,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:57:33,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,247 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:57:33,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,288 INFO L290 TraceCheckUtils]: 0: Hoare triple {426#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} is VALID [2022-02-20 19:57:33,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} assume true; {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} is VALID [2022-02-20 19:57:33,290 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} {388#(= ~q_read_ev~0 2)} #1436#return; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,297 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:57:33,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {428#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; {429#(= |old(~q_read_ev~0)| 0)} is VALID [2022-02-20 19:57:33,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {429#(= |old(~q_read_ev~0)| 0)} assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; {429#(= |old(~q_read_ev~0)| 0)} is VALID [2022-02-20 19:57:33,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {429#(= |old(~q_read_ev~0)| 0)} assume true; {429#(= |old(~q_read_ev~0)| 0)} is VALID [2022-02-20 19:57:33,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {429#(= |old(~q_read_ev~0)| 0)} {388#(= ~q_read_ev~0 2)} #1438#return; {387#false} is VALID [2022-02-20 19:57:33,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:57:33,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:57:33,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,377 INFO L290 TraceCheckUtils]: 0: Hoare triple {386#true} havoc ~__retres1~0; {386#true} is VALID [2022-02-20 19:57:33,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {386#true} assume !(1 == ~p_dw_pc~0); {386#true} is VALID [2022-02-20 19:57:33,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {386#true} ~__retres1~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,378 INFO L290 TraceCheckUtils]: 3: Hoare triple {386#true} #res := ~__retres1~0; {386#true} is VALID [2022-02-20 19:57:33,378 INFO L290 TraceCheckUtils]: 4: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,378 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {386#true} {386#true} #1432#return; {386#true} is VALID [2022-02-20 19:57:33,379 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:57:33,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,385 INFO L290 TraceCheckUtils]: 0: Hoare triple {386#true} havoc ~__retres1~1; {386#true} is VALID [2022-02-20 19:57:33,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {386#true} assume 1 == ~c_dr_pc~0; {386#true} is VALID [2022-02-20 19:57:33,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {386#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {386#true} is VALID [2022-02-20 19:57:33,387 INFO L290 TraceCheckUtils]: 3: Hoare triple {386#true} #res := ~__retres1~1; {386#true} is VALID [2022-02-20 19:57:33,387 INFO L290 TraceCheckUtils]: 4: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,387 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {386#true} {386#true} #1434#return; {386#true} is VALID [2022-02-20 19:57:33,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {430#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {386#true} is VALID [2022-02-20 19:57:33,388 INFO L272 TraceCheckUtils]: 1: Hoare triple {386#true} call #t~ret8 := is_do_write_p_triggered(); {386#true} is VALID [2022-02-20 19:57:33,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {386#true} havoc ~__retres1~0; {386#true} is VALID [2022-02-20 19:57:33,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {386#true} assume !(1 == ~p_dw_pc~0); {386#true} is VALID [2022-02-20 19:57:33,390 INFO L290 TraceCheckUtils]: 4: Hoare triple {386#true} ~__retres1~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {386#true} #res := ~__retres1~0; {386#true} is VALID [2022-02-20 19:57:33,391 INFO L290 TraceCheckUtils]: 6: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,391 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {386#true} {386#true} #1432#return; {386#true} is VALID [2022-02-20 19:57:33,392 INFO L290 TraceCheckUtils]: 8: Hoare triple {386#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {386#true} is VALID [2022-02-20 19:57:33,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {386#true} assume 0 != ~tmp~1;~p_dw_st~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,392 INFO L272 TraceCheckUtils]: 10: Hoare triple {386#true} call #t~ret9 := is_do_read_c_triggered(); {386#true} is VALID [2022-02-20 19:57:33,392 INFO L290 TraceCheckUtils]: 11: Hoare triple {386#true} havoc ~__retres1~1; {386#true} is VALID [2022-02-20 19:57:33,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {386#true} assume 1 == ~c_dr_pc~0; {386#true} is VALID [2022-02-20 19:57:33,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {386#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {386#true} is VALID [2022-02-20 19:57:33,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {386#true} #res := ~__retres1~1; {386#true} is VALID [2022-02-20 19:57:33,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {386#true} {386#true} #1434#return; {386#true} is VALID [2022-02-20 19:57:33,394 INFO L290 TraceCheckUtils]: 17: Hoare triple {386#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {386#true} is VALID [2022-02-20 19:57:33,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {386#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,395 INFO L290 TraceCheckUtils]: 19: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,395 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {386#true} {387#false} #1440#return; {387#false} is VALID [2022-02-20 19:57:33,398 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:57:33,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {428#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume 1 == ~q_read_ev~0;~q_read_ev~0 := 2; {386#true} is VALID [2022-02-20 19:57:33,409 INFO L290 TraceCheckUtils]: 1: Hoare triple {386#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {386#true} is VALID [2022-02-20 19:57:33,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {386#true} {387#false} #1442#return; {387#false} is VALID [2022-02-20 19:57:33,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:57:33,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:33,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {386#true} havoc ~__retres1~2; {386#true} is VALID [2022-02-20 19:57:33,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {386#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {386#true} is VALID [2022-02-20 19:57:33,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {386#true} #res := ~__retres1~2; {386#true} is VALID [2022-02-20 19:57:33,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,431 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {386#true} {387#false} #1444#return; {387#false} is VALID [2022-02-20 19:57:33,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {386#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {386#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {386#true} is VALID [2022-02-20 19:57:33,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {386#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,435 INFO L290 TraceCheckUtils]: 3: Hoare triple {388#(= ~q_read_ev~0 2)} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {388#(= ~q_read_ev~0 2)} call update_channels1(); {426#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:57:33,437 INFO L290 TraceCheckUtils]: 5: Hoare triple {426#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} is VALID [2022-02-20 19:57:33,437 INFO L290 TraceCheckUtils]: 6: Hoare triple {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} assume true; {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} is VALID [2022-02-20 19:57:33,438 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {427#(= |old(~q_read_ev~0)| ~q_read_ev~0)} {388#(= ~q_read_ev~0 2)} #1436#return; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {388#(= ~q_read_ev~0 2)} assume { :begin_inline_init_threads1 } true; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,439 INFO L290 TraceCheckUtils]: 9: Hoare triple {388#(= ~q_read_ev~0 2)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,439 INFO L290 TraceCheckUtils]: 10: Hoare triple {388#(= ~q_read_ev~0 2)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,440 INFO L290 TraceCheckUtils]: 11: Hoare triple {388#(= ~q_read_ev~0 2)} assume { :end_inline_init_threads1 } true; {388#(= ~q_read_ev~0 2)} is VALID [2022-02-20 19:57:33,441 INFO L272 TraceCheckUtils]: 12: Hoare triple {388#(= ~q_read_ev~0 2)} call fire_delta_events1(); {428#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:33,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {428#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume 0 == ~q_read_ev~0;~q_read_ev~0 := 1; {429#(= |old(~q_read_ev~0)| 0)} is VALID [2022-02-20 19:57:33,442 INFO L290 TraceCheckUtils]: 14: Hoare triple {429#(= |old(~q_read_ev~0)| 0)} assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; {429#(= |old(~q_read_ev~0)| 0)} is VALID [2022-02-20 19:57:33,442 INFO L290 TraceCheckUtils]: 15: Hoare triple {429#(= |old(~q_read_ev~0)| 0)} assume true; {429#(= |old(~q_read_ev~0)| 0)} is VALID [2022-02-20 19:57:33,443 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {429#(= |old(~q_read_ev~0)| 0)} {388#(= ~q_read_ev~0 2)} #1438#return; {387#false} is VALID [2022-02-20 19:57:33,443 INFO L272 TraceCheckUtils]: 17: Hoare triple {387#false} call activate_threads1(); {430#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:57:33,444 INFO L290 TraceCheckUtils]: 18: Hoare triple {430#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {386#true} is VALID [2022-02-20 19:57:33,444 INFO L272 TraceCheckUtils]: 19: Hoare triple {386#true} call #t~ret8 := is_do_write_p_triggered(); {386#true} is VALID [2022-02-20 19:57:33,444 INFO L290 TraceCheckUtils]: 20: Hoare triple {386#true} havoc ~__retres1~0; {386#true} is VALID [2022-02-20 19:57:33,444 INFO L290 TraceCheckUtils]: 21: Hoare triple {386#true} assume !(1 == ~p_dw_pc~0); {386#true} is VALID [2022-02-20 19:57:33,444 INFO L290 TraceCheckUtils]: 22: Hoare triple {386#true} ~__retres1~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,445 INFO L290 TraceCheckUtils]: 23: Hoare triple {386#true} #res := ~__retres1~0; {386#true} is VALID [2022-02-20 19:57:33,445 INFO L290 TraceCheckUtils]: 24: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,445 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {386#true} {386#true} #1432#return; {386#true} is VALID [2022-02-20 19:57:33,445 INFO L290 TraceCheckUtils]: 26: Hoare triple {386#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {386#true} is VALID [2022-02-20 19:57:33,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {386#true} assume 0 != ~tmp~1;~p_dw_st~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,446 INFO L272 TraceCheckUtils]: 28: Hoare triple {386#true} call #t~ret9 := is_do_read_c_triggered(); {386#true} is VALID [2022-02-20 19:57:33,446 INFO L290 TraceCheckUtils]: 29: Hoare triple {386#true} havoc ~__retres1~1; {386#true} is VALID [2022-02-20 19:57:33,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {386#true} assume 1 == ~c_dr_pc~0; {386#true} is VALID [2022-02-20 19:57:33,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {386#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {386#true} is VALID [2022-02-20 19:57:33,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {386#true} #res := ~__retres1~1; {386#true} is VALID [2022-02-20 19:57:33,447 INFO L290 TraceCheckUtils]: 33: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,448 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {386#true} {386#true} #1434#return; {386#true} is VALID [2022-02-20 19:57:33,448 INFO L290 TraceCheckUtils]: 35: Hoare triple {386#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {386#true} is VALID [2022-02-20 19:57:33,448 INFO L290 TraceCheckUtils]: 36: Hoare triple {386#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {386#true} is VALID [2022-02-20 19:57:33,448 INFO L290 TraceCheckUtils]: 37: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,448 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {386#true} {387#false} #1440#return; {387#false} is VALID [2022-02-20 19:57:33,449 INFO L272 TraceCheckUtils]: 39: Hoare triple {387#false} call reset_delta_events1(); {428#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:33,449 INFO L290 TraceCheckUtils]: 40: Hoare triple {428#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume 1 == ~q_read_ev~0;~q_read_ev~0 := 2; {386#true} is VALID [2022-02-20 19:57:33,449 INFO L290 TraceCheckUtils]: 41: Hoare triple {386#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {386#true} is VALID [2022-02-20 19:57:33,449 INFO L290 TraceCheckUtils]: 42: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,449 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {386#true} {387#false} #1442#return; {387#false} is VALID [2022-02-20 19:57:33,450 INFO L290 TraceCheckUtils]: 44: Hoare triple {387#false} assume !false; {387#false} is VALID [2022-02-20 19:57:33,450 INFO L290 TraceCheckUtils]: 45: Hoare triple {387#false} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {387#false} is VALID [2022-02-20 19:57:33,450 INFO L290 TraceCheckUtils]: 46: Hoare triple {387#false} assume !false; {387#false} is VALID [2022-02-20 19:57:33,450 INFO L272 TraceCheckUtils]: 47: Hoare triple {387#false} call eval1_#t~ret10#1 := exists_runnable_thread1(); {386#true} is VALID [2022-02-20 19:57:33,450 INFO L290 TraceCheckUtils]: 48: Hoare triple {386#true} havoc ~__retres1~2; {386#true} is VALID [2022-02-20 19:57:33,451 INFO L290 TraceCheckUtils]: 49: Hoare triple {386#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {386#true} is VALID [2022-02-20 19:57:33,451 INFO L290 TraceCheckUtils]: 50: Hoare triple {386#true} #res := ~__retres1~2; {386#true} is VALID [2022-02-20 19:57:33,451 INFO L290 TraceCheckUtils]: 51: Hoare triple {386#true} assume true; {386#true} is VALID [2022-02-20 19:57:33,452 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {386#true} {387#false} #1444#return; {387#false} is VALID [2022-02-20 19:57:33,452 INFO L290 TraceCheckUtils]: 53: Hoare triple {387#false} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {387#false} is VALID [2022-02-20 19:57:33,452 INFO L290 TraceCheckUtils]: 54: Hoare triple {387#false} assume 0 != eval1_~tmp___1~0#1; {387#false} is VALID [2022-02-20 19:57:33,452 INFO L290 TraceCheckUtils]: 55: Hoare triple {387#false} assume !(0 == ~p_dw_st~0); {387#false} is VALID [2022-02-20 19:57:33,453 INFO L290 TraceCheckUtils]: 56: Hoare triple {387#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {387#false} is VALID [2022-02-20 19:57:33,453 INFO L290 TraceCheckUtils]: 57: Hoare triple {387#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {387#false} is VALID [2022-02-20 19:57:33,453 INFO L290 TraceCheckUtils]: 58: Hoare triple {387#false} assume 0 == ~c_dr_pc~0; {387#false} is VALID [2022-02-20 19:57:33,453 INFO L290 TraceCheckUtils]: 59: Hoare triple {387#false} assume !false; {387#false} is VALID [2022-02-20 19:57:33,453 INFO L290 TraceCheckUtils]: 60: Hoare triple {387#false} assume !(1 == ~q_free~0); {387#false} is VALID [2022-02-20 19:57:33,454 INFO L290 TraceCheckUtils]: 61: Hoare triple {387#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {387#false} is VALID [2022-02-20 19:57:33,454 INFO L290 TraceCheckUtils]: 62: Hoare triple {387#false} assume !(~p_last_write~0 == ~c_last_read~0); {387#false} is VALID [2022-02-20 19:57:33,454 INFO L272 TraceCheckUtils]: 63: Hoare triple {387#false} call error1(); {387#false} is VALID [2022-02-20 19:57:33,454 INFO L290 TraceCheckUtils]: 64: Hoare triple {387#false} assume !false; {387#false} is VALID [2022-02-20 19:57:33,455 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:57:33,456 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:57:33,456 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [544994529] [2022-02-20 19:57:33,456 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [544994529] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:57:33,457 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:57:33,457 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 19:57:33,458 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [306879254] [2022-02-20 19:57:33,459 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:57:33,463 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:57:33,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:57:33,467 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:33,533 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:33,533 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 19:57:33,534 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:57:33,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 19:57:33,559 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 19:57:33,564 INFO L87 Difference]: Start difference. First operand has 383 states, 330 states have (on average 1.621212121212121) internal successors, (535), 336 states have internal predecessors, (535), 36 states have call successors, (36), 14 states have call predecessors, (36), 14 states have return successors, (36), 35 states have call predecessors, (36), 36 states have call successors, (36) Second operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:36,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:36,845 INFO L93 Difference]: Finished difference Result 877 states and 1380 transitions. [2022-02-20 19:57:36,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 19:57:36,846 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:57:36,846 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:57:36,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:36,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 1380 transitions. [2022-02-20 19:57:36,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:36,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 1380 transitions. [2022-02-20 19:57:36,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 1380 transitions. [2022-02-20 19:57:37,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1380 edges. 1380 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:37,976 INFO L225 Difference]: With dead ends: 877 [2022-02-20 19:57:37,976 INFO L226 Difference]: Without dead ends: 508 [2022-02-20 19:57:37,982 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=79, Invalid=193, Unknown=0, NotChecked=0, Total=272 [2022-02-20 19:57:37,984 INFO L933 BasicCegarLoop]: 579 mSDtfsCounter, 1232 mSDsluCounter, 1065 mSDsCounter, 0 mSdLazyCounter, 854 mSolverCounterSat, 236 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1237 SdHoareTripleChecker+Valid, 1644 SdHoareTripleChecker+Invalid, 1090 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 236 IncrementalHoareTripleChecker+Valid, 854 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 19:57:37,985 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1237 Valid, 1644 Invalid, 1090 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [236 Valid, 854 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-02-20 19:57:38,000 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 508 states. [2022-02-20 19:57:38,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 508 to 469. [2022-02-20 19:57:38,047 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:57:38,050 INFO L82 GeneralOperation]: Start isEquivalent. First operand 508 states. Second operand has 469 states, 398 states have (on average 1.5025125628140703) internal successors, (598), 404 states have internal predecessors, (598), 47 states have call successors, (47), 21 states have call predecessors, (47), 22 states have return successors, (50), 46 states have call predecessors, (50), 45 states have call successors, (50) [2022-02-20 19:57:38,052 INFO L74 IsIncluded]: Start isIncluded. First operand 508 states. Second operand has 469 states, 398 states have (on average 1.5025125628140703) internal successors, (598), 404 states have internal predecessors, (598), 47 states have call successors, (47), 21 states have call predecessors, (47), 22 states have return successors, (50), 46 states have call predecessors, (50), 45 states have call successors, (50) [2022-02-20 19:57:38,053 INFO L87 Difference]: Start difference. First operand 508 states. Second operand has 469 states, 398 states have (on average 1.5025125628140703) internal successors, (598), 404 states have internal predecessors, (598), 47 states have call successors, (47), 21 states have call predecessors, (47), 22 states have return successors, (50), 46 states have call predecessors, (50), 45 states have call successors, (50) [2022-02-20 19:57:38,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:38,088 INFO L93 Difference]: Finished difference Result 508 states and 749 transitions. [2022-02-20 19:57:38,088 INFO L276 IsEmpty]: Start isEmpty. Operand 508 states and 749 transitions. [2022-02-20 19:57:38,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:38,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:38,095 INFO L74 IsIncluded]: Start isIncluded. First operand has 469 states, 398 states have (on average 1.5025125628140703) internal successors, (598), 404 states have internal predecessors, (598), 47 states have call successors, (47), 21 states have call predecessors, (47), 22 states have return successors, (50), 46 states have call predecessors, (50), 45 states have call successors, (50) Second operand 508 states. [2022-02-20 19:57:38,096 INFO L87 Difference]: Start difference. First operand has 469 states, 398 states have (on average 1.5025125628140703) internal successors, (598), 404 states have internal predecessors, (598), 47 states have call successors, (47), 21 states have call predecessors, (47), 22 states have return successors, (50), 46 states have call predecessors, (50), 45 states have call successors, (50) Second operand 508 states. [2022-02-20 19:57:38,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:38,127 INFO L93 Difference]: Finished difference Result 508 states and 749 transitions. [2022-02-20 19:57:38,127 INFO L276 IsEmpty]: Start isEmpty. Operand 508 states and 749 transitions. [2022-02-20 19:57:38,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:38,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:38,130 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:57:38,130 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:57:38,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 469 states, 398 states have (on average 1.5025125628140703) internal successors, (598), 404 states have internal predecessors, (598), 47 states have call successors, (47), 21 states have call predecessors, (47), 22 states have return successors, (50), 46 states have call predecessors, (50), 45 states have call successors, (50) [2022-02-20 19:57:38,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 469 states to 469 states and 695 transitions. [2022-02-20 19:57:38,158 INFO L78 Accepts]: Start accepts. Automaton has 469 states and 695 transitions. Word has length 65 [2022-02-20 19:57:38,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:57:38,158 INFO L470 AbstractCegarLoop]: Abstraction has 469 states and 695 transitions. [2022-02-20 19:57:38,159 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 5 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:38,159 INFO L276 IsEmpty]: Start isEmpty. Operand 469 states and 695 transitions. [2022-02-20 19:57:38,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:57:38,161 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:57:38,161 INFO L514 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] [2022-02-20 19:57:38,161 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 19:57:38,162 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:57:38,162 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:57:38,162 INFO L85 PathProgramCache]: Analyzing trace with hash -1026540270, now seen corresponding path program 1 times [2022-02-20 19:57:38,163 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:57:38,163 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [766984409] [2022-02-20 19:57:38,163 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:57:38,163 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:57:38,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:57:38,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {3312#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:38,224 INFO L290 TraceCheckUtils]: 1: Hoare triple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume true; {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:38,225 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} {3274#(= ~q_write_ev~0 ~q_read_ev~0)} #1436#return; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:57:38,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {3314#(and (not (= |old(~q_read_ev~0)| 0)) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:57:38,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {3314#(and (not (= |old(~q_read_ev~0)| 0)) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:57:38,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} assume true; {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:57:38,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} {3274#(= ~q_write_ev~0 ~q_read_ev~0)} #1438#return; {3273#false} is VALID [2022-02-20 19:57:38,251 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:57:38,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,260 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:57:38,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {3272#true} havoc ~__retres1~0; {3272#true} is VALID [2022-02-20 19:57:38,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {3272#true} assume !(1 == ~p_dw_pc~0); {3272#true} is VALID [2022-02-20 19:57:38,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {3272#true} ~__retres1~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,263 INFO L290 TraceCheckUtils]: 3: Hoare triple {3272#true} #res := ~__retres1~0; {3272#true} is VALID [2022-02-20 19:57:38,264 INFO L290 TraceCheckUtils]: 4: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,264 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3272#true} {3272#true} #1432#return; {3272#true} is VALID [2022-02-20 19:57:38,264 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:57:38,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,267 INFO L290 TraceCheckUtils]: 0: Hoare triple {3272#true} havoc ~__retres1~1; {3272#true} is VALID [2022-02-20 19:57:38,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {3272#true} assume 1 == ~c_dr_pc~0; {3272#true} is VALID [2022-02-20 19:57:38,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {3272#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {3272#true} is VALID [2022-02-20 19:57:38,268 INFO L290 TraceCheckUtils]: 3: Hoare triple {3272#true} #res := ~__retres1~1; {3272#true} is VALID [2022-02-20 19:57:38,268 INFO L290 TraceCheckUtils]: 4: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,268 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3272#true} {3272#true} #1434#return; {3272#true} is VALID [2022-02-20 19:57:38,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {3316#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {3272#true} is VALID [2022-02-20 19:57:38,269 INFO L272 TraceCheckUtils]: 1: Hoare triple {3272#true} call #t~ret8 := is_do_write_p_triggered(); {3272#true} is VALID [2022-02-20 19:57:38,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {3272#true} havoc ~__retres1~0; {3272#true} is VALID [2022-02-20 19:57:38,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {3272#true} assume !(1 == ~p_dw_pc~0); {3272#true} is VALID [2022-02-20 19:57:38,269 INFO L290 TraceCheckUtils]: 4: Hoare triple {3272#true} ~__retres1~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {3272#true} #res := ~__retres1~0; {3272#true} is VALID [2022-02-20 19:57:38,270 INFO L290 TraceCheckUtils]: 6: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,270 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3272#true} {3272#true} #1432#return; {3272#true} is VALID [2022-02-20 19:57:38,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {3272#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {3272#true} is VALID [2022-02-20 19:57:38,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {3272#true} assume 0 != ~tmp~1;~p_dw_st~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,270 INFO L272 TraceCheckUtils]: 10: Hoare triple {3272#true} call #t~ret9 := is_do_read_c_triggered(); {3272#true} is VALID [2022-02-20 19:57:38,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {3272#true} havoc ~__retres1~1; {3272#true} is VALID [2022-02-20 19:57:38,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {3272#true} assume 1 == ~c_dr_pc~0; {3272#true} is VALID [2022-02-20 19:57:38,271 INFO L290 TraceCheckUtils]: 13: Hoare triple {3272#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {3272#true} is VALID [2022-02-20 19:57:38,271 INFO L290 TraceCheckUtils]: 14: Hoare triple {3272#true} #res := ~__retres1~1; {3272#true} is VALID [2022-02-20 19:57:38,271 INFO L290 TraceCheckUtils]: 15: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,271 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3272#true} {3272#true} #1434#return; {3272#true} is VALID [2022-02-20 19:57:38,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {3272#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {3272#true} is VALID [2022-02-20 19:57:38,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {3272#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,272 INFO L290 TraceCheckUtils]: 19: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,272 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {3272#true} {3273#false} #1440#return; {3273#false} is VALID [2022-02-20 19:57:38,272 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:57:38,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,277 INFO L290 TraceCheckUtils]: 0: Hoare triple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {3272#true} is VALID [2022-02-20 19:57:38,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {3272#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {3272#true} is VALID [2022-02-20 19:57:38,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3272#true} {3273#false} #1442#return; {3273#false} is VALID [2022-02-20 19:57:38,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:57:38,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:38,283 INFO L290 TraceCheckUtils]: 0: Hoare triple {3272#true} havoc ~__retres1~2; {3272#true} is VALID [2022-02-20 19:57:38,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {3272#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {3272#true} is VALID [2022-02-20 19:57:38,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {3272#true} #res := ~__retres1~2; {3272#true} is VALID [2022-02-20 19:57:38,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,284 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {3272#true} {3273#false} #1444#return; {3273#false} is VALID [2022-02-20 19:57:38,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {3272#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,284 INFO L290 TraceCheckUtils]: 1: Hoare triple {3272#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {3272#true} is VALID [2022-02-20 19:57:38,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {3272#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,285 INFO L290 TraceCheckUtils]: 3: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,286 INFO L272 TraceCheckUtils]: 4: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} call update_channels1(); {3312#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:57:38,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {3312#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:38,286 INFO L290 TraceCheckUtils]: 6: Hoare triple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume true; {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:38,287 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} {3274#(= ~q_write_ev~0 ~q_read_ev~0)} #1436#return; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} assume { :begin_inline_init_threads1 } true; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,288 INFO L290 TraceCheckUtils]: 9: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,288 INFO L290 TraceCheckUtils]: 10: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,289 INFO L290 TraceCheckUtils]: 11: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} assume { :end_inline_init_threads1 } true; {3274#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:57:38,289 INFO L272 TraceCheckUtils]: 12: Hoare triple {3274#(= ~q_write_ev~0 ~q_read_ev~0)} call fire_delta_events1(); {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:38,290 INFO L290 TraceCheckUtils]: 13: Hoare triple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {3314#(and (not (= |old(~q_read_ev~0)| 0)) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:57:38,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {3314#(and (not (= |old(~q_read_ev~0)| 0)) (= ~q_write_ev~0 |old(~q_write_ev~0)|))} assume 0 == ~q_write_ev~0;~q_write_ev~0 := 1; {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:57:38,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} assume true; {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:57:38,292 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3315#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} {3274#(= ~q_write_ev~0 ~q_read_ev~0)} #1438#return; {3273#false} is VALID [2022-02-20 19:57:38,292 INFO L272 TraceCheckUtils]: 17: Hoare triple {3273#false} call activate_threads1(); {3316#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:57:38,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {3316#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {3272#true} is VALID [2022-02-20 19:57:38,292 INFO L272 TraceCheckUtils]: 19: Hoare triple {3272#true} call #t~ret8 := is_do_write_p_triggered(); {3272#true} is VALID [2022-02-20 19:57:38,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {3272#true} havoc ~__retres1~0; {3272#true} is VALID [2022-02-20 19:57:38,292 INFO L290 TraceCheckUtils]: 21: Hoare triple {3272#true} assume !(1 == ~p_dw_pc~0); {3272#true} is VALID [2022-02-20 19:57:38,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {3272#true} ~__retres1~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {3272#true} #res := ~__retres1~0; {3272#true} is VALID [2022-02-20 19:57:38,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,293 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {3272#true} {3272#true} #1432#return; {3272#true} is VALID [2022-02-20 19:57:38,293 INFO L290 TraceCheckUtils]: 26: Hoare triple {3272#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {3272#true} is VALID [2022-02-20 19:57:38,294 INFO L290 TraceCheckUtils]: 27: Hoare triple {3272#true} assume 0 != ~tmp~1;~p_dw_st~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,294 INFO L272 TraceCheckUtils]: 28: Hoare triple {3272#true} call #t~ret9 := is_do_read_c_triggered(); {3272#true} is VALID [2022-02-20 19:57:38,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {3272#true} havoc ~__retres1~1; {3272#true} is VALID [2022-02-20 19:57:38,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {3272#true} assume 1 == ~c_dr_pc~0; {3272#true} is VALID [2022-02-20 19:57:38,294 INFO L290 TraceCheckUtils]: 31: Hoare triple {3272#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {3272#true} is VALID [2022-02-20 19:57:38,294 INFO L290 TraceCheckUtils]: 32: Hoare triple {3272#true} #res := ~__retres1~1; {3272#true} is VALID [2022-02-20 19:57:38,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,295 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3272#true} {3272#true} #1434#return; {3272#true} is VALID [2022-02-20 19:57:38,295 INFO L290 TraceCheckUtils]: 35: Hoare triple {3272#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {3272#true} is VALID [2022-02-20 19:57:38,295 INFO L290 TraceCheckUtils]: 36: Hoare triple {3272#true} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {3272#true} is VALID [2022-02-20 19:57:38,295 INFO L290 TraceCheckUtils]: 37: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,296 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3272#true} {3273#false} #1440#return; {3273#false} is VALID [2022-02-20 19:57:38,296 INFO L272 TraceCheckUtils]: 39: Hoare triple {3273#false} call reset_delta_events1(); {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:38,296 INFO L290 TraceCheckUtils]: 40: Hoare triple {3313#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {3272#true} is VALID [2022-02-20 19:57:38,296 INFO L290 TraceCheckUtils]: 41: Hoare triple {3272#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {3272#true} is VALID [2022-02-20 19:57:38,296 INFO L290 TraceCheckUtils]: 42: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,296 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3272#true} {3273#false} #1442#return; {3273#false} is VALID [2022-02-20 19:57:38,297 INFO L290 TraceCheckUtils]: 44: Hoare triple {3273#false} assume !false; {3273#false} is VALID [2022-02-20 19:57:38,297 INFO L290 TraceCheckUtils]: 45: Hoare triple {3273#false} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {3273#false} is VALID [2022-02-20 19:57:38,297 INFO L290 TraceCheckUtils]: 46: Hoare triple {3273#false} assume !false; {3273#false} is VALID [2022-02-20 19:57:38,297 INFO L272 TraceCheckUtils]: 47: Hoare triple {3273#false} call eval1_#t~ret10#1 := exists_runnable_thread1(); {3272#true} is VALID [2022-02-20 19:57:38,297 INFO L290 TraceCheckUtils]: 48: Hoare triple {3272#true} havoc ~__retres1~2; {3272#true} is VALID [2022-02-20 19:57:38,298 INFO L290 TraceCheckUtils]: 49: Hoare triple {3272#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {3272#true} is VALID [2022-02-20 19:57:38,298 INFO L290 TraceCheckUtils]: 50: Hoare triple {3272#true} #res := ~__retres1~2; {3272#true} is VALID [2022-02-20 19:57:38,298 INFO L290 TraceCheckUtils]: 51: Hoare triple {3272#true} assume true; {3272#true} is VALID [2022-02-20 19:57:38,298 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3272#true} {3273#false} #1444#return; {3273#false} is VALID [2022-02-20 19:57:38,298 INFO L290 TraceCheckUtils]: 53: Hoare triple {3273#false} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {3273#false} is VALID [2022-02-20 19:57:38,298 INFO L290 TraceCheckUtils]: 54: Hoare triple {3273#false} assume 0 != eval1_~tmp___1~0#1; {3273#false} is VALID [2022-02-20 19:57:38,299 INFO L290 TraceCheckUtils]: 55: Hoare triple {3273#false} assume !(0 == ~p_dw_st~0); {3273#false} is VALID [2022-02-20 19:57:38,299 INFO L290 TraceCheckUtils]: 56: Hoare triple {3273#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {3273#false} is VALID [2022-02-20 19:57:38,299 INFO L290 TraceCheckUtils]: 57: Hoare triple {3273#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {3273#false} is VALID [2022-02-20 19:57:38,299 INFO L290 TraceCheckUtils]: 58: Hoare triple {3273#false} assume 0 == ~c_dr_pc~0; {3273#false} is VALID [2022-02-20 19:57:38,299 INFO L290 TraceCheckUtils]: 59: Hoare triple {3273#false} assume !false; {3273#false} is VALID [2022-02-20 19:57:38,300 INFO L290 TraceCheckUtils]: 60: Hoare triple {3273#false} assume !(1 == ~q_free~0); {3273#false} is VALID [2022-02-20 19:57:38,300 INFO L290 TraceCheckUtils]: 61: Hoare triple {3273#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {3273#false} is VALID [2022-02-20 19:57:38,300 INFO L290 TraceCheckUtils]: 62: Hoare triple {3273#false} assume !(~p_last_write~0 == ~c_last_read~0); {3273#false} is VALID [2022-02-20 19:57:38,300 INFO L272 TraceCheckUtils]: 63: Hoare triple {3273#false} call error1(); {3273#false} is VALID [2022-02-20 19:57:38,300 INFO L290 TraceCheckUtils]: 64: Hoare triple {3273#false} assume !false; {3273#false} is VALID [2022-02-20 19:57:38,301 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:57:38,301 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:57:38,301 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [766984409] [2022-02-20 19:57:38,301 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [766984409] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:57:38,301 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:57:38,302 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 19:57:38,302 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1183586102] [2022-02-20 19:57:38,302 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:57:38,303 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:57:38,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:57:38,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:38,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:38,345 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 19:57:38,345 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:57:38,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 19:57:38,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-02-20 19:57:38,346 INFO L87 Difference]: Start difference. First operand 469 states and 695 transitions. Second operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:41,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:41,876 INFO L93 Difference]: Finished difference Result 816 states and 1172 transitions. [2022-02-20 19:57:41,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 19:57:41,876 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:57:41,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:57:41,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:41,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 901 transitions. [2022-02-20 19:57:41,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:41,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 901 transitions. [2022-02-20 19:57:41,900 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 901 transitions. [2022-02-20 19:57:42,577 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 901 edges. 901 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:42,610 INFO L225 Difference]: With dead ends: 816 [2022-02-20 19:57:42,610 INFO L226 Difference]: Without dead ends: 639 [2022-02-20 19:57:42,614 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 58 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=92, Invalid=250, Unknown=0, NotChecked=0, Total=342 [2022-02-20 19:57:42,617 INFO L933 BasicCegarLoop]: 617 mSDtfsCounter, 1094 mSDsluCounter, 1532 mSDsCounter, 0 mSdLazyCounter, 1203 mSolverCounterSat, 130 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1122 SdHoareTripleChecker+Valid, 2149 SdHoareTripleChecker+Invalid, 1333 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 130 IncrementalHoareTripleChecker+Valid, 1203 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-02-20 19:57:42,617 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1122 Valid, 2149 Invalid, 1333 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [130 Valid, 1203 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-02-20 19:57:42,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 639 states. [2022-02-20 19:57:42,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 639 to 565. [2022-02-20 19:57:42,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:57:42,672 INFO L82 GeneralOperation]: Start isEquivalent. First operand 639 states. Second operand has 565 states, 474 states have (on average 1.481012658227848) internal successors, (702), 482 states have internal predecessors, (702), 58 states have call successors, (58), 28 states have call predecessors, (58), 31 states have return successors, (69), 58 states have call predecessors, (69), 56 states have call successors, (69) [2022-02-20 19:57:42,676 INFO L74 IsIncluded]: Start isIncluded. First operand 639 states. Second operand has 565 states, 474 states have (on average 1.481012658227848) internal successors, (702), 482 states have internal predecessors, (702), 58 states have call successors, (58), 28 states have call predecessors, (58), 31 states have return successors, (69), 58 states have call predecessors, (69), 56 states have call successors, (69) [2022-02-20 19:57:42,679 INFO L87 Difference]: Start difference. First operand 639 states. Second operand has 565 states, 474 states have (on average 1.481012658227848) internal successors, (702), 482 states have internal predecessors, (702), 58 states have call successors, (58), 28 states have call predecessors, (58), 31 states have return successors, (69), 58 states have call predecessors, (69), 56 states have call successors, (69) [2022-02-20 19:57:42,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:42,710 INFO L93 Difference]: Finished difference Result 639 states and 932 transitions. [2022-02-20 19:57:42,710 INFO L276 IsEmpty]: Start isEmpty. Operand 639 states and 932 transitions. [2022-02-20 19:57:42,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:42,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:42,716 INFO L74 IsIncluded]: Start isIncluded. First operand has 565 states, 474 states have (on average 1.481012658227848) internal successors, (702), 482 states have internal predecessors, (702), 58 states have call successors, (58), 28 states have call predecessors, (58), 31 states have return successors, (69), 58 states have call predecessors, (69), 56 states have call successors, (69) Second operand 639 states. [2022-02-20 19:57:42,717 INFO L87 Difference]: Start difference. First operand has 565 states, 474 states have (on average 1.481012658227848) internal successors, (702), 482 states have internal predecessors, (702), 58 states have call successors, (58), 28 states have call predecessors, (58), 31 states have return successors, (69), 58 states have call predecessors, (69), 56 states have call successors, (69) Second operand 639 states. [2022-02-20 19:57:42,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:42,745 INFO L93 Difference]: Finished difference Result 639 states and 932 transitions. [2022-02-20 19:57:42,746 INFO L276 IsEmpty]: Start isEmpty. Operand 639 states and 932 transitions. [2022-02-20 19:57:42,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:42,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:42,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:57:42,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:57:42,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 565 states, 474 states have (on average 1.481012658227848) internal successors, (702), 482 states have internal predecessors, (702), 58 states have call successors, (58), 28 states have call predecessors, (58), 31 states have return successors, (69), 58 states have call predecessors, (69), 56 states have call successors, (69) [2022-02-20 19:57:42,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 565 states to 565 states and 829 transitions. [2022-02-20 19:57:42,776 INFO L78 Accepts]: Start accepts. Automaton has 565 states and 829 transitions. Word has length 65 [2022-02-20 19:57:42,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:57:42,777 INFO L470 AbstractCegarLoop]: Abstraction has 565 states and 829 transitions. [2022-02-20 19:57:42,778 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:57:42,778 INFO L276 IsEmpty]: Start isEmpty. Operand 565 states and 829 transitions. [2022-02-20 19:57:42,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:57:42,779 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:57:42,779 INFO L514 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] [2022-02-20 19:57:42,780 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 19:57:42,780 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:57:42,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:57:42,780 INFO L85 PathProgramCache]: Analyzing trace with hash 1239840916, now seen corresponding path program 1 times [2022-02-20 19:57:42,781 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:57:42,781 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1939221073] [2022-02-20 19:57:42,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:57:42,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:57:42,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:42,849 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:57:42,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:42,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {6520#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {6481#true} is VALID [2022-02-20 19:57:42,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:42,854 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6481#true} {6481#true} #1436#return; {6481#true} is VALID [2022-02-20 19:57:42,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:57:42,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:42,864 INFO L290 TraceCheckUtils]: 0: Hoare triple {6521#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {6481#true} is VALID [2022-02-20 19:57:42,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume !(0 == ~q_write_ev~0); {6481#true} is VALID [2022-02-20 19:57:42,864 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:42,864 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6481#true} {6481#true} #1438#return; {6481#true} is VALID [2022-02-20 19:57:42,868 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:57:42,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:42,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:57:42,925 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:42,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {6481#true} havoc ~__retres1~0; {6481#true} is VALID [2022-02-20 19:57:42,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume !(1 == ~p_dw_pc~0); {6481#true} is VALID [2022-02-20 19:57:42,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} ~__retres1~0 := 0; {6537#(and (<= is_do_write_p_triggered_~__retres1~0 0) (<= 0 is_do_write_p_triggered_~__retres1~0))} is VALID [2022-02-20 19:57:42,966 INFO L290 TraceCheckUtils]: 3: Hoare triple {6537#(and (<= is_do_write_p_triggered_~__retres1~0 0) (<= 0 is_do_write_p_triggered_~__retres1~0))} #res := ~__retres1~0; {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} is VALID [2022-02-20 19:57:42,972 INFO L290 TraceCheckUtils]: 4: Hoare triple {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} assume true; {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} is VALID [2022-02-20 19:57:42,972 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} {6481#true} #1432#return; {6529#(and (<= 0 |activate_threads1_#t~ret8|) (<= |activate_threads1_#t~ret8| 0))} is VALID [2022-02-20 19:57:42,973 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:57:42,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:42,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {6481#true} havoc ~__retres1~1; {6481#true} is VALID [2022-02-20 19:57:42,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume 1 == ~c_dr_pc~0; {6481#true} is VALID [2022-02-20 19:57:42,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {6481#true} is VALID [2022-02-20 19:57:42,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {6481#true} #res := ~__retres1~1; {6481#true} is VALID [2022-02-20 19:57:42,985 INFO L290 TraceCheckUtils]: 4: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:42,985 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {6481#true} {6482#false} #1434#return; {6482#false} is VALID [2022-02-20 19:57:42,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {6522#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {6481#true} is VALID [2022-02-20 19:57:42,985 INFO L272 TraceCheckUtils]: 1: Hoare triple {6481#true} call #t~ret8 := is_do_write_p_triggered(); {6481#true} is VALID [2022-02-20 19:57:42,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} havoc ~__retres1~0; {6481#true} is VALID [2022-02-20 19:57:42,987 INFO L290 TraceCheckUtils]: 3: Hoare triple {6481#true} assume !(1 == ~p_dw_pc~0); {6481#true} is VALID [2022-02-20 19:57:42,987 INFO L290 TraceCheckUtils]: 4: Hoare triple {6481#true} ~__retres1~0 := 0; {6537#(and (<= is_do_write_p_triggered_~__retres1~0 0) (<= 0 is_do_write_p_triggered_~__retres1~0))} is VALID [2022-02-20 19:57:42,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {6537#(and (<= is_do_write_p_triggered_~__retres1~0 0) (<= 0 is_do_write_p_triggered_~__retres1~0))} #res := ~__retres1~0; {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} is VALID [2022-02-20 19:57:42,989 INFO L290 TraceCheckUtils]: 6: Hoare triple {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} assume true; {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} is VALID [2022-02-20 19:57:42,989 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} {6481#true} #1432#return; {6529#(and (<= 0 |activate_threads1_#t~ret8|) (<= |activate_threads1_#t~ret8| 0))} is VALID [2022-02-20 19:57:42,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {6529#(and (<= 0 |activate_threads1_#t~ret8|) (<= |activate_threads1_#t~ret8| 0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {6530#(and (<= activate_threads1_~tmp~1 0) (< 0 (+ activate_threads1_~tmp~1 1)))} is VALID [2022-02-20 19:57:42,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {6530#(and (<= activate_threads1_~tmp~1 0) (< 0 (+ activate_threads1_~tmp~1 1)))} assume 0 != ~tmp~1;~p_dw_st~0 := 0; {6482#false} is VALID [2022-02-20 19:57:42,993 INFO L272 TraceCheckUtils]: 10: Hoare triple {6482#false} call #t~ret9 := is_do_read_c_triggered(); {6481#true} is VALID [2022-02-20 19:57:42,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {6481#true} havoc ~__retres1~1; {6481#true} is VALID [2022-02-20 19:57:42,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {6481#true} assume 1 == ~c_dr_pc~0; {6481#true} is VALID [2022-02-20 19:57:42,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {6481#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {6481#true} is VALID [2022-02-20 19:57:42,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {6481#true} #res := ~__retres1~1; {6481#true} is VALID [2022-02-20 19:57:42,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:42,994 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6481#true} {6482#false} #1434#return; {6482#false} is VALID [2022-02-20 19:57:42,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {6482#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {6482#false} is VALID [2022-02-20 19:57:42,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {6482#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {6482#false} is VALID [2022-02-20 19:57:42,995 INFO L290 TraceCheckUtils]: 19: Hoare triple {6482#false} assume true; {6482#false} is VALID [2022-02-20 19:57:42,995 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {6482#false} {6481#true} #1440#return; {6482#false} is VALID [2022-02-20 19:57:42,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:57:42,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:43,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {6521#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {6481#true} is VALID [2022-02-20 19:57:43,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {6481#true} is VALID [2022-02-20 19:57:43,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6481#true} {6482#false} #1442#return; {6482#false} is VALID [2022-02-20 19:57:43,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:57:43,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:43,007 INFO L290 TraceCheckUtils]: 0: Hoare triple {6481#true} havoc ~__retres1~2; {6481#true} is VALID [2022-02-20 19:57:43,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {6481#true} is VALID [2022-02-20 19:57:43,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} #res := ~__retres1~2; {6481#true} is VALID [2022-02-20 19:57:43,007 INFO L290 TraceCheckUtils]: 3: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,008 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {6481#true} {6482#false} #1444#return; {6482#false} is VALID [2022-02-20 19:57:43,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {6481#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {6481#true} is VALID [2022-02-20 19:57:43,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {6481#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {6481#true} is VALID [2022-02-20 19:57:43,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {6481#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {6481#true} is VALID [2022-02-20 19:57:43,009 INFO L290 TraceCheckUtils]: 3: Hoare triple {6481#true} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {6481#true} is VALID [2022-02-20 19:57:43,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {6481#true} call update_channels1(); {6520#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:57:43,010 INFO L290 TraceCheckUtils]: 5: Hoare triple {6520#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {6481#true} is VALID [2022-02-20 19:57:43,010 INFO L290 TraceCheckUtils]: 6: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,010 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6481#true} {6481#true} #1436#return; {6481#true} is VALID [2022-02-20 19:57:43,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {6481#true} assume { :begin_inline_init_threads1 } true; {6481#true} is VALID [2022-02-20 19:57:43,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {6481#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {6481#true} is VALID [2022-02-20 19:57:43,010 INFO L290 TraceCheckUtils]: 10: Hoare triple {6481#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {6481#true} is VALID [2022-02-20 19:57:43,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {6481#true} assume { :end_inline_init_threads1 } true; {6481#true} is VALID [2022-02-20 19:57:43,011 INFO L272 TraceCheckUtils]: 12: Hoare triple {6481#true} call fire_delta_events1(); {6521#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:43,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {6521#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {6481#true} is VALID [2022-02-20 19:57:43,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {6481#true} assume !(0 == ~q_write_ev~0); {6481#true} is VALID [2022-02-20 19:57:43,011 INFO L290 TraceCheckUtils]: 15: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,012 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6481#true} {6481#true} #1438#return; {6481#true} is VALID [2022-02-20 19:57:43,012 INFO L272 TraceCheckUtils]: 17: Hoare triple {6481#true} call activate_threads1(); {6522#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:57:43,012 INFO L290 TraceCheckUtils]: 18: Hoare triple {6522#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {6481#true} is VALID [2022-02-20 19:57:43,012 INFO L272 TraceCheckUtils]: 19: Hoare triple {6481#true} call #t~ret8 := is_do_write_p_triggered(); {6481#true} is VALID [2022-02-20 19:57:43,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {6481#true} havoc ~__retres1~0; {6481#true} is VALID [2022-02-20 19:57:43,013 INFO L290 TraceCheckUtils]: 21: Hoare triple {6481#true} assume !(1 == ~p_dw_pc~0); {6481#true} is VALID [2022-02-20 19:57:43,013 INFO L290 TraceCheckUtils]: 22: Hoare triple {6481#true} ~__retres1~0 := 0; {6537#(and (<= is_do_write_p_triggered_~__retres1~0 0) (<= 0 is_do_write_p_triggered_~__retres1~0))} is VALID [2022-02-20 19:57:43,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {6537#(and (<= is_do_write_p_triggered_~__retres1~0 0) (<= 0 is_do_write_p_triggered_~__retres1~0))} #res := ~__retres1~0; {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} is VALID [2022-02-20 19:57:43,014 INFO L290 TraceCheckUtils]: 24: Hoare triple {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} assume true; {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} is VALID [2022-02-20 19:57:43,015 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {6538#(and (<= 0 |is_do_write_p_triggered_#res|) (<= |is_do_write_p_triggered_#res| 0))} {6481#true} #1432#return; {6529#(and (<= 0 |activate_threads1_#t~ret8|) (<= |activate_threads1_#t~ret8| 0))} is VALID [2022-02-20 19:57:43,016 INFO L290 TraceCheckUtils]: 26: Hoare triple {6529#(and (<= 0 |activate_threads1_#t~ret8|) (<= |activate_threads1_#t~ret8| 0))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {6530#(and (<= activate_threads1_~tmp~1 0) (< 0 (+ activate_threads1_~tmp~1 1)))} is VALID [2022-02-20 19:57:43,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {6530#(and (<= activate_threads1_~tmp~1 0) (< 0 (+ activate_threads1_~tmp~1 1)))} assume 0 != ~tmp~1;~p_dw_st~0 := 0; {6482#false} is VALID [2022-02-20 19:57:43,017 INFO L272 TraceCheckUtils]: 28: Hoare triple {6482#false} call #t~ret9 := is_do_read_c_triggered(); {6481#true} is VALID [2022-02-20 19:57:43,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {6481#true} havoc ~__retres1~1; {6481#true} is VALID [2022-02-20 19:57:43,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {6481#true} assume 1 == ~c_dr_pc~0; {6481#true} is VALID [2022-02-20 19:57:43,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {6481#true} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {6481#true} is VALID [2022-02-20 19:57:43,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {6481#true} #res := ~__retres1~1; {6481#true} is VALID [2022-02-20 19:57:43,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,018 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6481#true} {6482#false} #1434#return; {6482#false} is VALID [2022-02-20 19:57:43,018 INFO L290 TraceCheckUtils]: 35: Hoare triple {6482#false} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {6482#false} is VALID [2022-02-20 19:57:43,018 INFO L290 TraceCheckUtils]: 36: Hoare triple {6482#false} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {6482#false} is VALID [2022-02-20 19:57:43,018 INFO L290 TraceCheckUtils]: 37: Hoare triple {6482#false} assume true; {6482#false} is VALID [2022-02-20 19:57:43,019 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6482#false} {6481#true} #1440#return; {6482#false} is VALID [2022-02-20 19:57:43,019 INFO L272 TraceCheckUtils]: 39: Hoare triple {6482#false} call reset_delta_events1(); {6521#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:43,019 INFO L290 TraceCheckUtils]: 40: Hoare triple {6521#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {6481#true} is VALID [2022-02-20 19:57:43,019 INFO L290 TraceCheckUtils]: 41: Hoare triple {6481#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {6481#true} is VALID [2022-02-20 19:57:43,019 INFO L290 TraceCheckUtils]: 42: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,019 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6481#true} {6482#false} #1442#return; {6482#false} is VALID [2022-02-20 19:57:43,020 INFO L290 TraceCheckUtils]: 44: Hoare triple {6482#false} assume !false; {6482#false} is VALID [2022-02-20 19:57:43,020 INFO L290 TraceCheckUtils]: 45: Hoare triple {6482#false} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {6482#false} is VALID [2022-02-20 19:57:43,020 INFO L290 TraceCheckUtils]: 46: Hoare triple {6482#false} assume !false; {6482#false} is VALID [2022-02-20 19:57:43,020 INFO L272 TraceCheckUtils]: 47: Hoare triple {6482#false} call eval1_#t~ret10#1 := exists_runnable_thread1(); {6481#true} is VALID [2022-02-20 19:57:43,020 INFO L290 TraceCheckUtils]: 48: Hoare triple {6481#true} havoc ~__retres1~2; {6481#true} is VALID [2022-02-20 19:57:43,020 INFO L290 TraceCheckUtils]: 49: Hoare triple {6481#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {6481#true} is VALID [2022-02-20 19:57:43,020 INFO L290 TraceCheckUtils]: 50: Hoare triple {6481#true} #res := ~__retres1~2; {6481#true} is VALID [2022-02-20 19:57:43,021 INFO L290 TraceCheckUtils]: 51: Hoare triple {6481#true} assume true; {6481#true} is VALID [2022-02-20 19:57:43,021 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6481#true} {6482#false} #1444#return; {6482#false} is VALID [2022-02-20 19:57:43,021 INFO L290 TraceCheckUtils]: 53: Hoare triple {6482#false} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {6482#false} is VALID [2022-02-20 19:57:43,021 INFO L290 TraceCheckUtils]: 54: Hoare triple {6482#false} assume 0 != eval1_~tmp___1~0#1; {6482#false} is VALID [2022-02-20 19:57:43,022 INFO L290 TraceCheckUtils]: 55: Hoare triple {6482#false} assume !(0 == ~p_dw_st~0); {6482#false} is VALID [2022-02-20 19:57:43,022 INFO L290 TraceCheckUtils]: 56: Hoare triple {6482#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {6482#false} is VALID [2022-02-20 19:57:43,027 INFO L290 TraceCheckUtils]: 57: Hoare triple {6482#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {6482#false} is VALID [2022-02-20 19:57:43,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {6482#false} assume 0 == ~c_dr_pc~0; {6482#false} is VALID [2022-02-20 19:57:43,027 INFO L290 TraceCheckUtils]: 59: Hoare triple {6482#false} assume !false; {6482#false} is VALID [2022-02-20 19:57:43,027 INFO L290 TraceCheckUtils]: 60: Hoare triple {6482#false} assume !(1 == ~q_free~0); {6482#false} is VALID [2022-02-20 19:57:43,027 INFO L290 TraceCheckUtils]: 61: Hoare triple {6482#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {6482#false} is VALID [2022-02-20 19:57:43,028 INFO L290 TraceCheckUtils]: 62: Hoare triple {6482#false} assume !(~p_last_write~0 == ~c_last_read~0); {6482#false} is VALID [2022-02-20 19:57:43,028 INFO L272 TraceCheckUtils]: 63: Hoare triple {6482#false} call error1(); {6482#false} is VALID [2022-02-20 19:57:43,028 INFO L290 TraceCheckUtils]: 64: Hoare triple {6482#false} assume !false; {6482#false} is VALID [2022-02-20 19:57:43,029 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:57:43,030 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:57:43,030 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1939221073] [2022-02-20 19:57:43,030 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1939221073] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:57:43,031 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:57:43,031 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 19:57:43,031 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1751271209] [2022-02-20 19:57:43,031 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:57:43,032 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 19:57:43,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:57:43,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:57:43,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:43,074 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 19:57:43,074 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:57:43,074 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 19:57:43,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-02-20 19:57:43,074 INFO L87 Difference]: Start difference. First operand 565 states and 829 transitions. Second operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:57:46,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:46,494 INFO L93 Difference]: Finished difference Result 866 states and 1243 transitions. [2022-02-20 19:57:46,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 19:57:46,494 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 19:57:46,494 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:57:46,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:57:46,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 719 transitions. [2022-02-20 19:57:46,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:57:46,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 719 transitions. [2022-02-20 19:57:46,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 719 transitions. [2022-02-20 19:57:47,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 719 edges. 719 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:47,027 INFO L225 Difference]: With dead ends: 866 [2022-02-20 19:57:47,028 INFO L226 Difference]: Without dead ends: 599 [2022-02-20 19:57:47,029 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=174, Unknown=0, NotChecked=0, Total=240 [2022-02-20 19:57:47,030 INFO L933 BasicCegarLoop]: 551 mSDtfsCounter, 490 mSDsluCounter, 1891 mSDsCounter, 0 mSdLazyCounter, 1345 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 491 SdHoareTripleChecker+Valid, 2442 SdHoareTripleChecker+Invalid, 1433 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 1345 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-02-20 19:57:47,030 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [491 Valid, 2442 Invalid, 1433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 1345 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-02-20 19:57:47,031 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 599 states. [2022-02-20 19:57:47,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 599 to 570. [2022-02-20 19:57:47,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:57:47,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 599 states. Second operand has 570 states, 478 states have (on average 1.4728033472803348) internal successors, (704), 486 states have internal predecessors, (704), 58 states have call successors, (58), 28 states have call predecessors, (58), 32 states have return successors, (70), 59 states have call predecessors, (70), 56 states have call successors, (70) [2022-02-20 19:57:47,059 INFO L74 IsIncluded]: Start isIncluded. First operand 599 states. Second operand has 570 states, 478 states have (on average 1.4728033472803348) internal successors, (704), 486 states have internal predecessors, (704), 58 states have call successors, (58), 28 states have call predecessors, (58), 32 states have return successors, (70), 59 states have call predecessors, (70), 56 states have call successors, (70) [2022-02-20 19:57:47,060 INFO L87 Difference]: Start difference. First operand 599 states. Second operand has 570 states, 478 states have (on average 1.4728033472803348) internal successors, (704), 486 states have internal predecessors, (704), 58 states have call successors, (58), 28 states have call predecessors, (58), 32 states have return successors, (70), 59 states have call predecessors, (70), 56 states have call successors, (70) [2022-02-20 19:57:47,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:47,082 INFO L93 Difference]: Finished difference Result 599 states and 873 transitions. [2022-02-20 19:57:47,082 INFO L276 IsEmpty]: Start isEmpty. Operand 599 states and 873 transitions. [2022-02-20 19:57:47,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:47,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:47,086 INFO L74 IsIncluded]: Start isIncluded. First operand has 570 states, 478 states have (on average 1.4728033472803348) internal successors, (704), 486 states have internal predecessors, (704), 58 states have call successors, (58), 28 states have call predecessors, (58), 32 states have return successors, (70), 59 states have call predecessors, (70), 56 states have call successors, (70) Second operand 599 states. [2022-02-20 19:57:47,087 INFO L87 Difference]: Start difference. First operand has 570 states, 478 states have (on average 1.4728033472803348) internal successors, (704), 486 states have internal predecessors, (704), 58 states have call successors, (58), 28 states have call predecessors, (58), 32 states have return successors, (70), 59 states have call predecessors, (70), 56 states have call successors, (70) Second operand 599 states. [2022-02-20 19:57:47,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:47,110 INFO L93 Difference]: Finished difference Result 599 states and 873 transitions. [2022-02-20 19:57:47,110 INFO L276 IsEmpty]: Start isEmpty. Operand 599 states and 873 transitions. [2022-02-20 19:57:47,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:47,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:47,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:57:47,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:57:47,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 570 states, 478 states have (on average 1.4728033472803348) internal successors, (704), 486 states have internal predecessors, (704), 58 states have call successors, (58), 28 states have call predecessors, (58), 32 states have return successors, (70), 59 states have call predecessors, (70), 56 states have call successors, (70) [2022-02-20 19:57:47,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 570 states to 570 states and 832 transitions. [2022-02-20 19:57:47,138 INFO L78 Accepts]: Start accepts. Automaton has 570 states and 832 transitions. Word has length 65 [2022-02-20 19:57:47,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:57:47,139 INFO L470 AbstractCegarLoop]: Abstraction has 570 states and 832 transitions. [2022-02-20 19:57:47,139 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:57:47,139 INFO L276 IsEmpty]: Start isEmpty. Operand 570 states and 832 transitions. [2022-02-20 19:57:47,140 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:57:47,141 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:57:47,141 INFO L514 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] [2022-02-20 19:57:47,141 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 19:57:47,141 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:57:47,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:57:47,142 INFO L85 PathProgramCache]: Analyzing trace with hash 210481618, now seen corresponding path program 1 times [2022-02-20 19:57:47,142 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:57:47,142 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [956928853] [2022-02-20 19:57:47,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:57:47,142 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:57:47,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,197 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:57:47,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,201 INFO L290 TraceCheckUtils]: 0: Hoare triple {9715#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {9675#true} is VALID [2022-02-20 19:57:47,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,202 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9675#true} {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} #1436#return; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:57:47,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {9716#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {9675#true} is VALID [2022-02-20 19:57:47,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume !(0 == ~q_write_ev~0); {9675#true} is VALID [2022-02-20 19:57:47,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,217 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9675#true} {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} #1438#return; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:57:47,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,285 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:57:47,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,295 INFO L290 TraceCheckUtils]: 0: Hoare triple {9675#true} havoc ~__retres1~0; {9675#true} is VALID [2022-02-20 19:57:47,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume !(1 == ~p_dw_pc~0); {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} ~__retres1~0 := 0; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,296 INFO L290 TraceCheckUtils]: 3: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} #res := ~__retres1~0; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,297 INFO L290 TraceCheckUtils]: 4: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume true; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,297 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} {9675#true} #1432#return; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,297 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:57:47,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {9675#true} havoc ~__retres1~1; {9675#true} is VALID [2022-02-20 19:57:47,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume 1 == ~c_dr_pc~0; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,323 INFO L290 TraceCheckUtils]: 3: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} #res := ~__retres1~1; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,323 INFO L290 TraceCheckUtils]: 4: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} assume true; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,324 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} #1434#return; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {9717#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {9675#true} is VALID [2022-02-20 19:57:47,324 INFO L272 TraceCheckUtils]: 1: Hoare triple {9675#true} call #t~ret8 := is_do_write_p_triggered(); {9675#true} is VALID [2022-02-20 19:57:47,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {9675#true} havoc ~__retres1~0; {9675#true} is VALID [2022-02-20 19:57:47,325 INFO L290 TraceCheckUtils]: 3: Hoare triple {9675#true} assume !(1 == ~p_dw_pc~0); {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,325 INFO L290 TraceCheckUtils]: 4: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} ~__retres1~0 := 0; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} #res := ~__retres1~0; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,327 INFO L290 TraceCheckUtils]: 6: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume true; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,328 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} {9675#true} #1432#return; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,330 INFO L290 TraceCheckUtils]: 9: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume !(0 != ~tmp~1); {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,331 INFO L272 TraceCheckUtils]: 10: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} call #t~ret9 := is_do_read_c_triggered(); {9675#true} is VALID [2022-02-20 19:57:47,331 INFO L290 TraceCheckUtils]: 11: Hoare triple {9675#true} havoc ~__retres1~1; {9675#true} is VALID [2022-02-20 19:57:47,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {9675#true} assume 1 == ~c_dr_pc~0; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,332 INFO L290 TraceCheckUtils]: 13: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,332 INFO L290 TraceCheckUtils]: 14: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} #res := ~__retres1~1; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} assume true; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,333 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} #1434#return; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} assume true; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,336 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} #1440#return; {9676#false} is VALID [2022-02-20 19:57:47,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:57:47,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {9716#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {9675#true} is VALID [2022-02-20 19:57:47,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {9675#true} is VALID [2022-02-20 19:57:47,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9675#true} {9676#false} #1442#return; {9676#false} is VALID [2022-02-20 19:57:47,341 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:57:47,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:47,346 INFO L290 TraceCheckUtils]: 0: Hoare triple {9675#true} havoc ~__retres1~2; {9675#true} is VALID [2022-02-20 19:57:47,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {9675#true} is VALID [2022-02-20 19:57:47,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {9675#true} #res := ~__retres1~2; {9675#true} is VALID [2022-02-20 19:57:47,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,346 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {9675#true} {9676#false} #1444#return; {9676#false} is VALID [2022-02-20 19:57:47,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {9675#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {9675#true} is VALID [2022-02-20 19:57:47,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {9675#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {9675#true} is VALID [2022-02-20 19:57:47,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {9675#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,348 INFO L290 TraceCheckUtils]: 3: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} call update_channels1(); {9715#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:57:47,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {9715#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {9675#true} is VALID [2022-02-20 19:57:47,350 INFO L290 TraceCheckUtils]: 6: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,351 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {9675#true} {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} #1436#return; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} assume { :begin_inline_init_threads1 } true; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,352 INFO L290 TraceCheckUtils]: 10: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} assume { :end_inline_init_threads1 } true; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,353 INFO L272 TraceCheckUtils]: 12: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} call fire_delta_events1(); {9716#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:47,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {9716#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {9675#true} is VALID [2022-02-20 19:57:47,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {9675#true} assume !(0 == ~q_write_ev~0); {9675#true} is VALID [2022-02-20 19:57:47,353 INFO L290 TraceCheckUtils]: 15: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,353 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9675#true} {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} #1438#return; {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} is VALID [2022-02-20 19:57:47,354 INFO L272 TraceCheckUtils]: 17: Hoare triple {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} call activate_threads1(); {9717#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:57:47,354 INFO L290 TraceCheckUtils]: 18: Hoare triple {9717#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {9675#true} is VALID [2022-02-20 19:57:47,354 INFO L272 TraceCheckUtils]: 19: Hoare triple {9675#true} call #t~ret8 := is_do_write_p_triggered(); {9675#true} is VALID [2022-02-20 19:57:47,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {9675#true} havoc ~__retres1~0; {9675#true} is VALID [2022-02-20 19:57:47,355 INFO L290 TraceCheckUtils]: 21: Hoare triple {9675#true} assume !(1 == ~p_dw_pc~0); {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,355 INFO L290 TraceCheckUtils]: 22: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} ~__retres1~0 := 0; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,356 INFO L290 TraceCheckUtils]: 23: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} #res := ~__retres1~0; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,356 INFO L290 TraceCheckUtils]: 24: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume true; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,356 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} {9675#true} #1432#return; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,357 INFO L290 TraceCheckUtils]: 26: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,357 INFO L290 TraceCheckUtils]: 27: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} assume !(0 != ~tmp~1); {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} is VALID [2022-02-20 19:57:47,357 INFO L272 TraceCheckUtils]: 28: Hoare triple {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} call #t~ret9 := is_do_read_c_triggered(); {9675#true} is VALID [2022-02-20 19:57:47,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {9675#true} havoc ~__retres1~1; {9675#true} is VALID [2022-02-20 19:57:47,358 INFO L290 TraceCheckUtils]: 30: Hoare triple {9675#true} assume 1 == ~c_dr_pc~0; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,358 INFO L290 TraceCheckUtils]: 31: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} assume 1 == ~q_write_ev~0;~__retres1~1 := 1; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,358 INFO L290 TraceCheckUtils]: 32: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} #res := ~__retres1~1; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,359 INFO L290 TraceCheckUtils]: 33: Hoare triple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} assume true; {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} is VALID [2022-02-20 19:57:47,359 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9732#(and (<= 1 ~c_dr_pc~0) (<= ~c_dr_pc~0 1))} {9724#(or (<= ~p_dw_pc~0 0) (not (<= ~p_dw_pc~0 1)))} #1434#return; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,360 INFO L290 TraceCheckUtils]: 35: Hoare triple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,361 INFO L290 TraceCheckUtils]: 36: Hoare triple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,361 INFO L290 TraceCheckUtils]: 37: Hoare triple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} assume true; {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} is VALID [2022-02-20 19:57:47,362 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9731#(and (or (not (<= ~p_dw_pc~0 0)) (<= 1 ~c_dr_pc~0)) (or (<= ~p_dw_pc~0 0) (and (<= ~c_dr_pc~0 1) (not (<= ~p_dw_pc~0 1)))))} {9677#(= ~c_dr_pc~0 ~p_dw_pc~0)} #1440#return; {9676#false} is VALID [2022-02-20 19:57:47,362 INFO L272 TraceCheckUtils]: 39: Hoare triple {9676#false} call reset_delta_events1(); {9716#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:47,362 INFO L290 TraceCheckUtils]: 40: Hoare triple {9716#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {9675#true} is VALID [2022-02-20 19:57:47,362 INFO L290 TraceCheckUtils]: 41: Hoare triple {9675#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {9675#true} is VALID [2022-02-20 19:57:47,362 INFO L290 TraceCheckUtils]: 42: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,362 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9675#true} {9676#false} #1442#return; {9676#false} is VALID [2022-02-20 19:57:47,362 INFO L290 TraceCheckUtils]: 44: Hoare triple {9676#false} assume !false; {9676#false} is VALID [2022-02-20 19:57:47,363 INFO L290 TraceCheckUtils]: 45: Hoare triple {9676#false} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {9676#false} is VALID [2022-02-20 19:57:47,363 INFO L290 TraceCheckUtils]: 46: Hoare triple {9676#false} assume !false; {9676#false} is VALID [2022-02-20 19:57:47,363 INFO L272 TraceCheckUtils]: 47: Hoare triple {9676#false} call eval1_#t~ret10#1 := exists_runnable_thread1(); {9675#true} is VALID [2022-02-20 19:57:47,363 INFO L290 TraceCheckUtils]: 48: Hoare triple {9675#true} havoc ~__retres1~2; {9675#true} is VALID [2022-02-20 19:57:47,363 INFO L290 TraceCheckUtils]: 49: Hoare triple {9675#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {9675#true} is VALID [2022-02-20 19:57:47,363 INFO L290 TraceCheckUtils]: 50: Hoare triple {9675#true} #res := ~__retres1~2; {9675#true} is VALID [2022-02-20 19:57:47,363 INFO L290 TraceCheckUtils]: 51: Hoare triple {9675#true} assume true; {9675#true} is VALID [2022-02-20 19:57:47,364 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {9675#true} {9676#false} #1444#return; {9676#false} is VALID [2022-02-20 19:57:47,364 INFO L290 TraceCheckUtils]: 53: Hoare triple {9676#false} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {9676#false} is VALID [2022-02-20 19:57:47,364 INFO L290 TraceCheckUtils]: 54: Hoare triple {9676#false} assume 0 != eval1_~tmp___1~0#1; {9676#false} is VALID [2022-02-20 19:57:47,364 INFO L290 TraceCheckUtils]: 55: Hoare triple {9676#false} assume !(0 == ~p_dw_st~0); {9676#false} is VALID [2022-02-20 19:57:47,364 INFO L290 TraceCheckUtils]: 56: Hoare triple {9676#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {9676#false} is VALID [2022-02-20 19:57:47,364 INFO L290 TraceCheckUtils]: 57: Hoare triple {9676#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {9676#false} is VALID [2022-02-20 19:57:47,364 INFO L290 TraceCheckUtils]: 58: Hoare triple {9676#false} assume 0 == ~c_dr_pc~0; {9676#false} is VALID [2022-02-20 19:57:47,365 INFO L290 TraceCheckUtils]: 59: Hoare triple {9676#false} assume !false; {9676#false} is VALID [2022-02-20 19:57:47,365 INFO L290 TraceCheckUtils]: 60: Hoare triple {9676#false} assume !(1 == ~q_free~0); {9676#false} is VALID [2022-02-20 19:57:47,365 INFO L290 TraceCheckUtils]: 61: Hoare triple {9676#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {9676#false} is VALID [2022-02-20 19:57:47,365 INFO L290 TraceCheckUtils]: 62: Hoare triple {9676#false} assume !(~p_last_write~0 == ~c_last_read~0); {9676#false} is VALID [2022-02-20 19:57:47,365 INFO L272 TraceCheckUtils]: 63: Hoare triple {9676#false} call error1(); {9676#false} is VALID [2022-02-20 19:57:47,365 INFO L290 TraceCheckUtils]: 64: Hoare triple {9676#false} assume !false; {9676#false} is VALID [2022-02-20 19:57:47,366 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:57:47,366 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:57:47,366 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [956928853] [2022-02-20 19:57:47,367 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [956928853] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:57:47,367 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:57:47,367 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 19:57:47,367 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [37438548] [2022-02-20 19:57:47,367 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:57:47,368 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 65 [2022-02-20 19:57:47,368 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:57:47,368 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 19:57:47,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:47,411 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 19:57:47,411 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:57:47,412 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 19:57:47,413 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 19:57:47,413 INFO L87 Difference]: Start difference. First operand 570 states and 832 transitions. Second operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 19:57:53,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:53,807 INFO L93 Difference]: Finished difference Result 2232 states and 3104 transitions. [2022-02-20 19:57:53,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 31 states. [2022-02-20 19:57:53,808 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) Word has length 65 [2022-02-20 19:57:53,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:57:53,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 19:57:53,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 1368 transitions. [2022-02-20 19:57:53,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 19:57:53,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 1368 transitions. [2022-02-20 19:57:53,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states and 1368 transitions. [2022-02-20 19:57:54,962 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1368 edges. 1368 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:55,163 INFO L225 Difference]: With dead ends: 2232 [2022-02-20 19:57:55,163 INFO L226 Difference]: Without dead ends: 1960 [2022-02-20 19:57:55,165 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 31 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 298 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=235, Invalid=887, Unknown=0, NotChecked=0, Total=1122 [2022-02-20 19:57:55,167 INFO L933 BasicCegarLoop]: 776 mSDtfsCounter, 2418 mSDsluCounter, 1382 mSDsCounter, 0 mSdLazyCounter, 1578 mSolverCounterSat, 531 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2435 SdHoareTripleChecker+Valid, 2158 SdHoareTripleChecker+Invalid, 2109 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 531 IncrementalHoareTripleChecker+Valid, 1578 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-02-20 19:57:55,167 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2435 Valid, 2158 Invalid, 2109 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [531 Valid, 1578 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-02-20 19:57:55,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1960 states. [2022-02-20 19:57:55,817 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1960 to 1710. [2022-02-20 19:57:55,817 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:57:55,822 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1960 states. Second operand has 1710 states, 1378 states have (on average 1.3679245283018868) internal successors, (1885), 1406 states have internal predecessors, (1885), 175 states have call successors, (175), 130 states have call predecessors, (175), 155 states have return successors, (256), 177 states have call predecessors, (256), 173 states have call successors, (256) [2022-02-20 19:57:55,825 INFO L74 IsIncluded]: Start isIncluded. First operand 1960 states. Second operand has 1710 states, 1378 states have (on average 1.3679245283018868) internal successors, (1885), 1406 states have internal predecessors, (1885), 175 states have call successors, (175), 130 states have call predecessors, (175), 155 states have return successors, (256), 177 states have call predecessors, (256), 173 states have call successors, (256) [2022-02-20 19:57:55,830 INFO L87 Difference]: Start difference. First operand 1960 states. Second operand has 1710 states, 1378 states have (on average 1.3679245283018868) internal successors, (1885), 1406 states have internal predecessors, (1885), 175 states have call successors, (175), 130 states have call predecessors, (175), 155 states have return successors, (256), 177 states have call predecessors, (256), 173 states have call successors, (256) [2022-02-20 19:57:56,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:56,010 INFO L93 Difference]: Finished difference Result 1960 states and 2640 transitions. [2022-02-20 19:57:56,010 INFO L276 IsEmpty]: Start isEmpty. Operand 1960 states and 2640 transitions. [2022-02-20 19:57:56,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:56,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:56,018 INFO L74 IsIncluded]: Start isIncluded. First operand has 1710 states, 1378 states have (on average 1.3679245283018868) internal successors, (1885), 1406 states have internal predecessors, (1885), 175 states have call successors, (175), 130 states have call predecessors, (175), 155 states have return successors, (256), 177 states have call predecessors, (256), 173 states have call successors, (256) Second operand 1960 states. [2022-02-20 19:57:56,022 INFO L87 Difference]: Start difference. First operand has 1710 states, 1378 states have (on average 1.3679245283018868) internal successors, (1885), 1406 states have internal predecessors, (1885), 175 states have call successors, (175), 130 states have call predecessors, (175), 155 states have return successors, (256), 177 states have call predecessors, (256), 173 states have call successors, (256) Second operand 1960 states. [2022-02-20 19:57:56,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:57:56,204 INFO L93 Difference]: Finished difference Result 1960 states and 2640 transitions. [2022-02-20 19:57:56,205 INFO L276 IsEmpty]: Start isEmpty. Operand 1960 states and 2640 transitions. [2022-02-20 19:57:56,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:57:56,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:57:56,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:57:56,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:57:56,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1710 states, 1378 states have (on average 1.3679245283018868) internal successors, (1885), 1406 states have internal predecessors, (1885), 175 states have call successors, (175), 130 states have call predecessors, (175), 155 states have return successors, (256), 177 states have call predecessors, (256), 173 states have call successors, (256) [2022-02-20 19:57:56,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1710 states to 1710 states and 2316 transitions. [2022-02-20 19:57:56,411 INFO L78 Accepts]: Start accepts. Automaton has 1710 states and 2316 transitions. Word has length 65 [2022-02-20 19:57:56,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:57:56,412 INFO L470 AbstractCegarLoop]: Abstraction has 1710 states and 2316 transitions. [2022-02-20 19:57:56,413 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 6 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (7), 4 states have call predecessors, (7), 4 states have call successors, (7) [2022-02-20 19:57:56,413 INFO L276 IsEmpty]: Start isEmpty. Operand 1710 states and 2316 transitions. [2022-02-20 19:57:56,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:57:56,414 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:57:56,414 INFO L514 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] [2022-02-20 19:57:56,414 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 19:57:56,415 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:57:56,415 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:57:56,415 INFO L85 PathProgramCache]: Analyzing trace with hash 1261930707, now seen corresponding path program 1 times [2022-02-20 19:57:56,415 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:57:56,415 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1533030910] [2022-02-20 19:57:56,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:57:56,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:57:56,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:57:56,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {19015#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {18976#true} is VALID [2022-02-20 19:57:56,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,455 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18976#true} {18976#true} #1436#return; {18976#true} is VALID [2022-02-20 19:57:56,458 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:57:56,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {19016#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {18976#true} is VALID [2022-02-20 19:57:56,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume !(0 == ~q_write_ev~0); {18976#true} is VALID [2022-02-20 19:57:56,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18976#true} {18976#true} #1438#return; {18976#true} is VALID [2022-02-20 19:57:56,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:57:56,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,511 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:57:56,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {18976#true} havoc ~__retres1~0; {18976#true} is VALID [2022-02-20 19:57:56,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume !(1 == ~p_dw_pc~0); {18976#true} is VALID [2022-02-20 19:57:56,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} ~__retres1~0 := 0; {18976#true} is VALID [2022-02-20 19:57:56,519 INFO L290 TraceCheckUtils]: 3: Hoare triple {18976#true} #res := ~__retres1~0; {18976#true} is VALID [2022-02-20 19:57:56,519 INFO L290 TraceCheckUtils]: 4: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,519 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {18976#true} {18976#true} #1432#return; {18976#true} is VALID [2022-02-20 19:57:56,519 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:57:56,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,555 INFO L290 TraceCheckUtils]: 0: Hoare triple {18976#true} havoc ~__retres1~1; {18976#true} is VALID [2022-02-20 19:57:56,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume !(1 == ~c_dr_pc~0); {18976#true} is VALID [2022-02-20 19:57:56,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} ~__retres1~1 := 0; {19032#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} is VALID [2022-02-20 19:57:56,556 INFO L290 TraceCheckUtils]: 3: Hoare triple {19032#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} #res := ~__retres1~1; {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2022-02-20 19:57:56,557 INFO L290 TraceCheckUtils]: 4: Hoare triple {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} assume true; {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2022-02-20 19:57:56,557 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} {18976#true} #1434#return; {19030#(and (<= 0 |activate_threads1_#t~ret9|) (<= |activate_threads1_#t~ret9| 0))} is VALID [2022-02-20 19:57:56,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {19017#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {18976#true} is VALID [2022-02-20 19:57:56,558 INFO L272 TraceCheckUtils]: 1: Hoare triple {18976#true} call #t~ret8 := is_do_write_p_triggered(); {18976#true} is VALID [2022-02-20 19:57:56,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} havoc ~__retres1~0; {18976#true} is VALID [2022-02-20 19:57:56,558 INFO L290 TraceCheckUtils]: 3: Hoare triple {18976#true} assume !(1 == ~p_dw_pc~0); {18976#true} is VALID [2022-02-20 19:57:56,558 INFO L290 TraceCheckUtils]: 4: Hoare triple {18976#true} ~__retres1~0 := 0; {18976#true} is VALID [2022-02-20 19:57:56,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {18976#true} #res := ~__retres1~0; {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {18976#true} {18976#true} #1432#return; {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {18976#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {18976#true} assume !(0 != ~tmp~1); {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L272 TraceCheckUtils]: 10: Hoare triple {18976#true} call #t~ret9 := is_do_read_c_triggered(); {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L290 TraceCheckUtils]: 11: Hoare triple {18976#true} havoc ~__retres1~1; {18976#true} is VALID [2022-02-20 19:57:56,559 INFO L290 TraceCheckUtils]: 12: Hoare triple {18976#true} assume !(1 == ~c_dr_pc~0); {18976#true} is VALID [2022-02-20 19:57:56,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {18976#true} ~__retres1~1 := 0; {19032#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} is VALID [2022-02-20 19:57:56,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {19032#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} #res := ~__retres1~1; {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2022-02-20 19:57:56,561 INFO L290 TraceCheckUtils]: 15: Hoare triple {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} assume true; {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2022-02-20 19:57:56,561 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} {18976#true} #1434#return; {19030#(and (<= 0 |activate_threads1_#t~ret9|) (<= |activate_threads1_#t~ret9| 0))} is VALID [2022-02-20 19:57:56,562 INFO L290 TraceCheckUtils]: 17: Hoare triple {19030#(and (<= 0 |activate_threads1_#t~ret9|) (<= |activate_threads1_#t~ret9| 0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {19031#(and (< 0 (+ activate_threads1_~tmp___0~1 1)) (<= activate_threads1_~tmp___0~1 0))} is VALID [2022-02-20 19:57:56,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {19031#(and (< 0 (+ activate_threads1_~tmp___0~1 1)) (<= activate_threads1_~tmp___0~1 0))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {18977#false} is VALID [2022-02-20 19:57:56,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {18977#false} assume true; {18977#false} is VALID [2022-02-20 19:57:56,563 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {18977#false} {18976#true} #1440#return; {18977#false} is VALID [2022-02-20 19:57:56,564 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:57:56,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,568 INFO L290 TraceCheckUtils]: 0: Hoare triple {19016#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {18976#true} is VALID [2022-02-20 19:57:56,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {18976#true} is VALID [2022-02-20 19:57:56,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18976#true} {18977#false} #1442#return; {18977#false} is VALID [2022-02-20 19:57:56,568 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:57:56,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:57:56,571 INFO L290 TraceCheckUtils]: 0: Hoare triple {18976#true} havoc ~__retres1~2; {18976#true} is VALID [2022-02-20 19:57:56,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {18976#true} is VALID [2022-02-20 19:57:56,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} #res := ~__retres1~2; {18976#true} is VALID [2022-02-20 19:57:56,572 INFO L290 TraceCheckUtils]: 3: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,572 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {18976#true} {18977#false} #1444#return; {18977#false} is VALID [2022-02-20 19:57:56,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {18976#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {18976#true} is VALID [2022-02-20 19:57:56,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {18976#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {18976#true} is VALID [2022-02-20 19:57:56,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {18976#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {18976#true} is VALID [2022-02-20 19:57:56,573 INFO L290 TraceCheckUtils]: 3: Hoare triple {18976#true} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {18976#true} is VALID [2022-02-20 19:57:56,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {18976#true} call update_channels1(); {19015#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:57:56,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {19015#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {18976#true} is VALID [2022-02-20 19:57:56,573 INFO L290 TraceCheckUtils]: 6: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,574 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {18976#true} {18976#true} #1436#return; {18976#true} is VALID [2022-02-20 19:57:56,574 INFO L290 TraceCheckUtils]: 8: Hoare triple {18976#true} assume { :begin_inline_init_threads1 } true; {18976#true} is VALID [2022-02-20 19:57:56,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {18976#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {18976#true} is VALID [2022-02-20 19:57:56,574 INFO L290 TraceCheckUtils]: 10: Hoare triple {18976#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {18976#true} is VALID [2022-02-20 19:57:56,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {18976#true} assume { :end_inline_init_threads1 } true; {18976#true} is VALID [2022-02-20 19:57:56,575 INFO L272 TraceCheckUtils]: 12: Hoare triple {18976#true} call fire_delta_events1(); {19016#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:56,575 INFO L290 TraceCheckUtils]: 13: Hoare triple {19016#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {18976#true} is VALID [2022-02-20 19:57:56,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {18976#true} assume !(0 == ~q_write_ev~0); {18976#true} is VALID [2022-02-20 19:57:56,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,575 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18976#true} {18976#true} #1438#return; {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L272 TraceCheckUtils]: 17: Hoare triple {18976#true} call activate_threads1(); {19017#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:57:56,576 INFO L290 TraceCheckUtils]: 18: Hoare triple {19017#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L272 TraceCheckUtils]: 19: Hoare triple {18976#true} call #t~ret8 := is_do_write_p_triggered(); {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {18976#true} havoc ~__retres1~0; {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {18976#true} assume !(1 == ~p_dw_pc~0); {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L290 TraceCheckUtils]: 22: Hoare triple {18976#true} ~__retres1~0 := 0; {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L290 TraceCheckUtils]: 23: Hoare triple {18976#true} #res := ~__retres1~0; {18976#true} is VALID [2022-02-20 19:57:56,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,577 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {18976#true} {18976#true} #1432#return; {18976#true} is VALID [2022-02-20 19:57:56,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {18976#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {18976#true} is VALID [2022-02-20 19:57:56,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {18976#true} assume !(0 != ~tmp~1); {18976#true} is VALID [2022-02-20 19:57:56,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {18976#true} call #t~ret9 := is_do_read_c_triggered(); {18976#true} is VALID [2022-02-20 19:57:56,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {18976#true} havoc ~__retres1~1; {18976#true} is VALID [2022-02-20 19:57:56,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {18976#true} assume !(1 == ~c_dr_pc~0); {18976#true} is VALID [2022-02-20 19:57:56,578 INFO L290 TraceCheckUtils]: 31: Hoare triple {18976#true} ~__retres1~1 := 0; {19032#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} is VALID [2022-02-20 19:57:56,578 INFO L290 TraceCheckUtils]: 32: Hoare triple {19032#(and (<= is_do_read_c_triggered_~__retres1~1 0) (<= 0 is_do_read_c_triggered_~__retres1~1))} #res := ~__retres1~1; {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2022-02-20 19:57:56,578 INFO L290 TraceCheckUtils]: 33: Hoare triple {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} assume true; {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} is VALID [2022-02-20 19:57:56,579 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {19033#(and (<= |is_do_read_c_triggered_#res| 0) (<= 0 |is_do_read_c_triggered_#res|))} {18976#true} #1434#return; {19030#(and (<= 0 |activate_threads1_#t~ret9|) (<= |activate_threads1_#t~ret9| 0))} is VALID [2022-02-20 19:57:56,579 INFO L290 TraceCheckUtils]: 35: Hoare triple {19030#(and (<= 0 |activate_threads1_#t~ret9|) (<= |activate_threads1_#t~ret9| 0))} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {19031#(and (< 0 (+ activate_threads1_~tmp___0~1 1)) (<= activate_threads1_~tmp___0~1 0))} is VALID [2022-02-20 19:57:56,580 INFO L290 TraceCheckUtils]: 36: Hoare triple {19031#(and (< 0 (+ activate_threads1_~tmp___0~1 1)) (<= activate_threads1_~tmp___0~1 0))} assume 0 != ~tmp___0~1;~c_dr_st~0 := 0; {18977#false} is VALID [2022-02-20 19:57:56,580 INFO L290 TraceCheckUtils]: 37: Hoare triple {18977#false} assume true; {18977#false} is VALID [2022-02-20 19:57:56,580 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {18977#false} {18976#true} #1440#return; {18977#false} is VALID [2022-02-20 19:57:56,580 INFO L272 TraceCheckUtils]: 39: Hoare triple {18977#false} call reset_delta_events1(); {19016#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:57:56,580 INFO L290 TraceCheckUtils]: 40: Hoare triple {19016#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {18976#true} is VALID [2022-02-20 19:57:56,581 INFO L290 TraceCheckUtils]: 41: Hoare triple {18976#true} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {18976#true} is VALID [2022-02-20 19:57:56,581 INFO L290 TraceCheckUtils]: 42: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,581 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {18976#true} {18977#false} #1442#return; {18977#false} is VALID [2022-02-20 19:57:56,581 INFO L290 TraceCheckUtils]: 44: Hoare triple {18977#false} assume !false; {18977#false} is VALID [2022-02-20 19:57:56,581 INFO L290 TraceCheckUtils]: 45: Hoare triple {18977#false} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {18977#false} is VALID [2022-02-20 19:57:56,581 INFO L290 TraceCheckUtils]: 46: Hoare triple {18977#false} assume !false; {18977#false} is VALID [2022-02-20 19:57:56,582 INFO L272 TraceCheckUtils]: 47: Hoare triple {18977#false} call eval1_#t~ret10#1 := exists_runnable_thread1(); {18976#true} is VALID [2022-02-20 19:57:56,582 INFO L290 TraceCheckUtils]: 48: Hoare triple {18976#true} havoc ~__retres1~2; {18976#true} is VALID [2022-02-20 19:57:56,582 INFO L290 TraceCheckUtils]: 49: Hoare triple {18976#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {18976#true} is VALID [2022-02-20 19:57:56,582 INFO L290 TraceCheckUtils]: 50: Hoare triple {18976#true} #res := ~__retres1~2; {18976#true} is VALID [2022-02-20 19:57:56,582 INFO L290 TraceCheckUtils]: 51: Hoare triple {18976#true} assume true; {18976#true} is VALID [2022-02-20 19:57:56,582 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18976#true} {18977#false} #1444#return; {18977#false} is VALID [2022-02-20 19:57:56,582 INFO L290 TraceCheckUtils]: 53: Hoare triple {18977#false} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {18977#false} is VALID [2022-02-20 19:57:56,582 INFO L290 TraceCheckUtils]: 54: Hoare triple {18977#false} assume 0 != eval1_~tmp___1~0#1; {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 55: Hoare triple {18977#false} assume !(0 == ~p_dw_st~0); {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 56: Hoare triple {18977#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 57: Hoare triple {18977#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 58: Hoare triple {18977#false} assume 0 == ~c_dr_pc~0; {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 59: Hoare triple {18977#false} assume !false; {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 60: Hoare triple {18977#false} assume !(1 == ~q_free~0); {18977#false} is VALID [2022-02-20 19:57:56,583 INFO L290 TraceCheckUtils]: 61: Hoare triple {18977#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {18977#false} is VALID [2022-02-20 19:57:56,584 INFO L290 TraceCheckUtils]: 62: Hoare triple {18977#false} assume !(~p_last_write~0 == ~c_last_read~0); {18977#false} is VALID [2022-02-20 19:57:56,584 INFO L272 TraceCheckUtils]: 63: Hoare triple {18977#false} call error1(); {18977#false} is VALID [2022-02-20 19:57:56,584 INFO L290 TraceCheckUtils]: 64: Hoare triple {18977#false} assume !false; {18977#false} is VALID [2022-02-20 19:57:56,584 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:57:56,584 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:57:56,584 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1533030910] [2022-02-20 19:57:56,585 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1533030910] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:57:56,586 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:57:56,586 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 19:57:56,586 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [318945538] [2022-02-20 19:57:56,586 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:57:56,587 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 19:57:56,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:57:56,587 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:57:56,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:57:56,631 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 19:57:56,631 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:57:56,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 19:57:56,631 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-02-20 19:57:56,632 INFO L87 Difference]: Start difference. First operand 1710 states and 2316 transitions. Second operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:00,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:00,873 INFO L93 Difference]: Finished difference Result 3311 states and 4440 transitions. [2022-02-20 19:58:00,874 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 19:58:00,874 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 19:58:00,874 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:58:00,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:00,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 721 transitions. [2022-02-20 19:58:00,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:00,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 721 transitions. [2022-02-20 19:58:00,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 721 transitions. [2022-02-20 19:58:01,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 721 edges. 721 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:01,544 INFO L225 Difference]: With dead ends: 3311 [2022-02-20 19:58:01,544 INFO L226 Difference]: Without dead ends: 1899 [2022-02-20 19:58:01,547 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=72, Invalid=200, Unknown=0, NotChecked=0, Total=272 [2022-02-20 19:58:01,548 INFO L933 BasicCegarLoop]: 549 mSDtfsCounter, 488 mSDsluCounter, 1891 mSDsCounter, 0 mSdLazyCounter, 1344 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 489 SdHoareTripleChecker+Valid, 2440 SdHoareTripleChecker+Invalid, 1432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 1344 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-02-20 19:58:01,548 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [489 Valid, 2440 Invalid, 1432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 1344 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-02-20 19:58:01,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1899 states. [2022-02-20 19:58:02,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1899 to 1755. [2022-02-20 19:58:02,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:58:02,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1899 states. Second operand has 1755 states, 1414 states have (on average 1.3521923620933523) internal successors, (1912), 1442 states have internal predecessors, (1912), 175 states have call successors, (175), 130 states have call predecessors, (175), 164 states have return successors, (268), 186 states have call predecessors, (268), 173 states have call successors, (268) [2022-02-20 19:58:02,234 INFO L74 IsIncluded]: Start isIncluded. First operand 1899 states. Second operand has 1755 states, 1414 states have (on average 1.3521923620933523) internal successors, (1912), 1442 states have internal predecessors, (1912), 175 states have call successors, (175), 130 states have call predecessors, (175), 164 states have return successors, (268), 186 states have call predecessors, (268), 173 states have call successors, (268) [2022-02-20 19:58:02,237 INFO L87 Difference]: Start difference. First operand 1899 states. Second operand has 1755 states, 1414 states have (on average 1.3521923620933523) internal successors, (1912), 1442 states have internal predecessors, (1912), 175 states have call successors, (175), 130 states have call predecessors, (175), 164 states have return successors, (268), 186 states have call predecessors, (268), 173 states have call successors, (268) [2022-02-20 19:58:02,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:02,353 INFO L93 Difference]: Finished difference Result 1899 states and 2535 transitions. [2022-02-20 19:58:02,353 INFO L276 IsEmpty]: Start isEmpty. Operand 1899 states and 2535 transitions. [2022-02-20 19:58:02,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:58:02,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:58:02,361 INFO L74 IsIncluded]: Start isIncluded. First operand has 1755 states, 1414 states have (on average 1.3521923620933523) internal successors, (1912), 1442 states have internal predecessors, (1912), 175 states have call successors, (175), 130 states have call predecessors, (175), 164 states have return successors, (268), 186 states have call predecessors, (268), 173 states have call successors, (268) Second operand 1899 states. [2022-02-20 19:58:02,364 INFO L87 Difference]: Start difference. First operand has 1755 states, 1414 states have (on average 1.3521923620933523) internal successors, (1912), 1442 states have internal predecessors, (1912), 175 states have call successors, (175), 130 states have call predecessors, (175), 164 states have return successors, (268), 186 states have call predecessors, (268), 173 states have call successors, (268) Second operand 1899 states. [2022-02-20 19:58:02,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:02,496 INFO L93 Difference]: Finished difference Result 1899 states and 2535 transitions. [2022-02-20 19:58:02,496 INFO L276 IsEmpty]: Start isEmpty. Operand 1899 states and 2535 transitions. [2022-02-20 19:58:02,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:58:02,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:58:02,502 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:58:02,502 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:58:02,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1755 states, 1414 states have (on average 1.3521923620933523) internal successors, (1912), 1442 states have internal predecessors, (1912), 175 states have call successors, (175), 130 states have call predecessors, (175), 164 states have return successors, (268), 186 states have call predecessors, (268), 173 states have call successors, (268) [2022-02-20 19:58:02,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1755 states to 1755 states and 2355 transitions. [2022-02-20 19:58:02,679 INFO L78 Accepts]: Start accepts. Automaton has 1755 states and 2355 transitions. Word has length 65 [2022-02-20 19:58:02,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:58:02,679 INFO L470 AbstractCegarLoop]: Abstraction has 1755 states and 2355 transitions. [2022-02-20 19:58:02,680 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.555555555555555) internal successors, (50), 5 states have internal predecessors, (50), 2 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:02,680 INFO L276 IsEmpty]: Start isEmpty. Operand 1755 states and 2355 transitions. [2022-02-20 19:58:02,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:58:02,681 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:58:02,681 INFO L514 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] [2022-02-20 19:58:02,681 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 19:58:02,682 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:58:02,682 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:58:02,682 INFO L85 PathProgramCache]: Analyzing trace with hash -1646833195, now seen corresponding path program 1 times [2022-02-20 19:58:02,682 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:58:02,682 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60655793] [2022-02-20 19:58:02,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:58:02,683 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:58:02,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:58:02,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {29634#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume true; {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,731 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1436#return; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,731 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:58:02,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_write_ev~0); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume true; {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1438#return; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,744 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:58:02,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,751 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:58:02,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {29594#true} havoc ~__retres1~0; {29594#true} is VALID [2022-02-20 19:58:02,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {29594#true} assume !(1 == ~p_dw_pc~0); {29594#true} is VALID [2022-02-20 19:58:02,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {29594#true} ~__retres1~0 := 0; {29594#true} is VALID [2022-02-20 19:58:02,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {29594#true} #res := ~__retres1~0; {29594#true} is VALID [2022-02-20 19:58:02,754 INFO L290 TraceCheckUtils]: 4: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,754 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {29594#true} {29594#true} #1432#return; {29594#true} is VALID [2022-02-20 19:58:02,754 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:58:02,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {29594#true} havoc ~__retres1~1; {29594#true} is VALID [2022-02-20 19:58:02,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {29594#true} assume !(1 == ~c_dr_pc~0); {29594#true} is VALID [2022-02-20 19:58:02,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {29594#true} ~__retres1~1 := 0; {29594#true} is VALID [2022-02-20 19:58:02,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {29594#true} #res := ~__retres1~1; {29594#true} is VALID [2022-02-20 19:58:02,757 INFO L290 TraceCheckUtils]: 4: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,757 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {29594#true} {29594#true} #1434#return; {29594#true} is VALID [2022-02-20 19:58:02,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {29636#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L272 TraceCheckUtils]: 1: Hoare triple {29594#true} call #t~ret8 := is_do_write_p_triggered(); {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {29594#true} havoc ~__retres1~0; {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L290 TraceCheckUtils]: 3: Hoare triple {29594#true} assume !(1 == ~p_dw_pc~0); {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L290 TraceCheckUtils]: 4: Hoare triple {29594#true} ~__retres1~0 := 0; {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {29594#true} #res := ~__retres1~0; {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L290 TraceCheckUtils]: 6: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,758 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {29594#true} {29594#true} #1432#return; {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {29594#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {29594#true} assume !(0 != ~tmp~1); {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L272 TraceCheckUtils]: 10: Hoare triple {29594#true} call #t~ret9 := is_do_read_c_triggered(); {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L290 TraceCheckUtils]: 11: Hoare triple {29594#true} havoc ~__retres1~1; {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L290 TraceCheckUtils]: 12: Hoare triple {29594#true} assume !(1 == ~c_dr_pc~0); {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {29594#true} ~__retres1~1 := 0; {29594#true} is VALID [2022-02-20 19:58:02,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {29594#true} #res := ~__retres1~1; {29594#true} is VALID [2022-02-20 19:58:02,760 INFO L290 TraceCheckUtils]: 15: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,760 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {29594#true} {29594#true} #1434#return; {29594#true} is VALID [2022-02-20 19:58:02,760 INFO L290 TraceCheckUtils]: 17: Hoare triple {29594#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {29594#true} is VALID [2022-02-20 19:58:02,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {29594#true} assume !(0 != ~tmp___0~1); {29594#true} is VALID [2022-02-20 19:58:02,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,761 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {29594#true} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1440#return; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:58:02,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,784 INFO L290 TraceCheckUtils]: 0: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {29649#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (not (= |old(~q_read_ev~0)| 1)))} is VALID [2022-02-20 19:58:02,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {29649#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (not (= |old(~q_read_ev~0)| 1)))} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:58:02,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} assume true; {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:58:02,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1442#return; {29595#false} is VALID [2022-02-20 19:58:02,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:58:02,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:02,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {29594#true} havoc ~__retres1~2; {29594#true} is VALID [2022-02-20 19:58:02,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {29594#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {29594#true} is VALID [2022-02-20 19:58:02,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {29594#true} #res := ~__retres1~2; {29594#true} is VALID [2022-02-20 19:58:02,790 INFO L290 TraceCheckUtils]: 3: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,790 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {29594#true} {29595#false} #1444#return; {29595#false} is VALID [2022-02-20 19:58:02,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {29594#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {29594#true} is VALID [2022-02-20 19:58:02,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {29594#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {29594#true} is VALID [2022-02-20 19:58:02,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {29594#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,791 INFO L290 TraceCheckUtils]: 3: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,792 INFO L272 TraceCheckUtils]: 4: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} call update_channels1(); {29634#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:58:02,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {29634#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,792 INFO L290 TraceCheckUtils]: 6: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume true; {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,793 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1436#return; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} assume { :begin_inline_init_threads1 } true; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,794 INFO L290 TraceCheckUtils]: 10: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,794 INFO L290 TraceCheckUtils]: 11: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} assume { :end_inline_init_threads1 } true; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,795 INFO L272 TraceCheckUtils]: 12: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} call fire_delta_events1(); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,796 INFO L290 TraceCheckUtils]: 14: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_write_ev~0); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume true; {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,796 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1438#return; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,797 INFO L272 TraceCheckUtils]: 17: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} call activate_threads1(); {29636#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:58:02,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {29636#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {29594#true} is VALID [2022-02-20 19:58:02,797 INFO L272 TraceCheckUtils]: 19: Hoare triple {29594#true} call #t~ret8 := is_do_write_p_triggered(); {29594#true} is VALID [2022-02-20 19:58:02,797 INFO L290 TraceCheckUtils]: 20: Hoare triple {29594#true} havoc ~__retres1~0; {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L290 TraceCheckUtils]: 21: Hoare triple {29594#true} assume !(1 == ~p_dw_pc~0); {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L290 TraceCheckUtils]: 22: Hoare triple {29594#true} ~__retres1~0 := 0; {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L290 TraceCheckUtils]: 23: Hoare triple {29594#true} #res := ~__retres1~0; {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L290 TraceCheckUtils]: 24: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {29594#true} {29594#true} #1432#return; {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L290 TraceCheckUtils]: 26: Hoare triple {29594#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {29594#true} is VALID [2022-02-20 19:58:02,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {29594#true} assume !(0 != ~tmp~1); {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L272 TraceCheckUtils]: 28: Hoare triple {29594#true} call #t~ret9 := is_do_read_c_triggered(); {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L290 TraceCheckUtils]: 29: Hoare triple {29594#true} havoc ~__retres1~1; {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {29594#true} assume !(1 == ~c_dr_pc~0); {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {29594#true} ~__retres1~1 := 0; {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {29594#true} #res := ~__retres1~1; {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L290 TraceCheckUtils]: 33: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,799 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {29594#true} {29594#true} #1434#return; {29594#true} is VALID [2022-02-20 19:58:02,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {29594#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {29594#true} is VALID [2022-02-20 19:58:02,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {29594#true} assume !(0 != ~tmp___0~1); {29594#true} is VALID [2022-02-20 19:58:02,800 INFO L290 TraceCheckUtils]: 37: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,800 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {29594#true} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1440#return; {29596#(= ~q_write_ev~0 ~q_read_ev~0)} is VALID [2022-02-20 19:58:02,801 INFO L272 TraceCheckUtils]: 39: Hoare triple {29596#(= ~q_write_ev~0 ~q_read_ev~0)} call reset_delta_events1(); {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:02,801 INFO L290 TraceCheckUtils]: 40: Hoare triple {29635#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {29649#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (not (= |old(~q_read_ev~0)| 1)))} is VALID [2022-02-20 19:58:02,801 INFO L290 TraceCheckUtils]: 41: Hoare triple {29649#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (not (= |old(~q_read_ev~0)| 1)))} assume 1 == ~q_write_ev~0;~q_write_ev~0 := 2; {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:58:02,802 INFO L290 TraceCheckUtils]: 42: Hoare triple {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} assume true; {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} is VALID [2022-02-20 19:58:02,802 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {29650#(not (= |old(~q_read_ev~0)| |old(~q_write_ev~0)|))} {29596#(= ~q_write_ev~0 ~q_read_ev~0)} #1442#return; {29595#false} is VALID [2022-02-20 19:58:02,802 INFO L290 TraceCheckUtils]: 44: Hoare triple {29595#false} assume !false; {29595#false} is VALID [2022-02-20 19:58:02,803 INFO L290 TraceCheckUtils]: 45: Hoare triple {29595#false} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {29595#false} is VALID [2022-02-20 19:58:02,803 INFO L290 TraceCheckUtils]: 46: Hoare triple {29595#false} assume !false; {29595#false} is VALID [2022-02-20 19:58:02,803 INFO L272 TraceCheckUtils]: 47: Hoare triple {29595#false} call eval1_#t~ret10#1 := exists_runnable_thread1(); {29594#true} is VALID [2022-02-20 19:58:02,803 INFO L290 TraceCheckUtils]: 48: Hoare triple {29594#true} havoc ~__retres1~2; {29594#true} is VALID [2022-02-20 19:58:02,803 INFO L290 TraceCheckUtils]: 49: Hoare triple {29594#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {29594#true} is VALID [2022-02-20 19:58:02,803 INFO L290 TraceCheckUtils]: 50: Hoare triple {29594#true} #res := ~__retres1~2; {29594#true} is VALID [2022-02-20 19:58:02,803 INFO L290 TraceCheckUtils]: 51: Hoare triple {29594#true} assume true; {29594#true} is VALID [2022-02-20 19:58:02,804 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29594#true} {29595#false} #1444#return; {29595#false} is VALID [2022-02-20 19:58:02,804 INFO L290 TraceCheckUtils]: 53: Hoare triple {29595#false} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {29595#false} is VALID [2022-02-20 19:58:02,804 INFO L290 TraceCheckUtils]: 54: Hoare triple {29595#false} assume 0 != eval1_~tmp___1~0#1; {29595#false} is VALID [2022-02-20 19:58:02,804 INFO L290 TraceCheckUtils]: 55: Hoare triple {29595#false} assume !(0 == ~p_dw_st~0); {29595#false} is VALID [2022-02-20 19:58:02,804 INFO L290 TraceCheckUtils]: 56: Hoare triple {29595#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {29595#false} is VALID [2022-02-20 19:58:02,804 INFO L290 TraceCheckUtils]: 57: Hoare triple {29595#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {29595#false} is VALID [2022-02-20 19:58:02,804 INFO L290 TraceCheckUtils]: 58: Hoare triple {29595#false} assume 0 == ~c_dr_pc~0; {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L290 TraceCheckUtils]: 59: Hoare triple {29595#false} assume !false; {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L290 TraceCheckUtils]: 60: Hoare triple {29595#false} assume !(1 == ~q_free~0); {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L290 TraceCheckUtils]: 61: Hoare triple {29595#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L290 TraceCheckUtils]: 62: Hoare triple {29595#false} assume !(~p_last_write~0 == ~c_last_read~0); {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L272 TraceCheckUtils]: 63: Hoare triple {29595#false} call error1(); {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L290 TraceCheckUtils]: 64: Hoare triple {29595#false} assume !false; {29595#false} is VALID [2022-02-20 19:58:02,805 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:58:02,806 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:58:02,806 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [60655793] [2022-02-20 19:58:02,806 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [60655793] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:58:02,806 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:58:02,806 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-02-20 19:58:02,806 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [147098277] [2022-02-20 19:58:02,807 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:58:02,807 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:58:02,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:58:02,808 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:02,846 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:02,846 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 19:58:02,847 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:58:02,847 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 19:58:02,847 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-02-20 19:58:02,847 INFO L87 Difference]: Start difference. First operand 1755 states and 2355 transitions. Second operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:06,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:06,641 INFO L93 Difference]: Finished difference Result 3190 states and 4194 transitions. [2022-02-20 19:58:06,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 19:58:06,642 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:58:06,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:58:06,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:06,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 893 transitions. [2022-02-20 19:58:06,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:06,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 893 transitions. [2022-02-20 19:58:06,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 893 transitions. [2022-02-20 19:58:07,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 893 edges. 893 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:07,484 INFO L225 Difference]: With dead ends: 3190 [2022-02-20 19:58:07,484 INFO L226 Difference]: Without dead ends: 1953 [2022-02-20 19:58:07,486 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=95, Invalid=247, Unknown=0, NotChecked=0, Total=342 [2022-02-20 19:58:07,486 INFO L933 BasicCegarLoop]: 561 mSDtfsCounter, 1117 mSDsluCounter, 1317 mSDsCounter, 0 mSdLazyCounter, 1103 mSolverCounterSat, 146 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1142 SdHoareTripleChecker+Valid, 1878 SdHoareTripleChecker+Invalid, 1249 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 146 IncrementalHoareTripleChecker+Valid, 1103 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-02-20 19:58:07,487 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1142 Valid, 1878 Invalid, 1249 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [146 Valid, 1103 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-02-20 19:58:07,488 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1953 states. [2022-02-20 19:58:08,189 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1953 to 1733. [2022-02-20 19:58:08,189 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:58:08,192 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1953 states. Second operand has 1733 states, 1400 states have (on average 1.3485714285714285) internal successors, (1888), 1422 states have internal predecessors, (1888), 175 states have call successors, (175), 130 states have call predecessors, (175), 156 states have return successors, (252), 184 states have call predecessors, (252), 173 states have call successors, (252) [2022-02-20 19:58:08,194 INFO L74 IsIncluded]: Start isIncluded. First operand 1953 states. Second operand has 1733 states, 1400 states have (on average 1.3485714285714285) internal successors, (1888), 1422 states have internal predecessors, (1888), 175 states have call successors, (175), 130 states have call predecessors, (175), 156 states have return successors, (252), 184 states have call predecessors, (252), 173 states have call successors, (252) [2022-02-20 19:58:08,196 INFO L87 Difference]: Start difference. First operand 1953 states. Second operand has 1733 states, 1400 states have (on average 1.3485714285714285) internal successors, (1888), 1422 states have internal predecessors, (1888), 175 states have call successors, (175), 130 states have call predecessors, (175), 156 states have return successors, (252), 184 states have call predecessors, (252), 173 states have call successors, (252) [2022-02-20 19:58:08,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:08,324 INFO L93 Difference]: Finished difference Result 1953 states and 2582 transitions. [2022-02-20 19:58:08,324 INFO L276 IsEmpty]: Start isEmpty. Operand 1953 states and 2582 transitions. [2022-02-20 19:58:08,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:58:08,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:58:08,332 INFO L74 IsIncluded]: Start isIncluded. First operand has 1733 states, 1400 states have (on average 1.3485714285714285) internal successors, (1888), 1422 states have internal predecessors, (1888), 175 states have call successors, (175), 130 states have call predecessors, (175), 156 states have return successors, (252), 184 states have call predecessors, (252), 173 states have call successors, (252) Second operand 1953 states. [2022-02-20 19:58:08,334 INFO L87 Difference]: Start difference. First operand has 1733 states, 1400 states have (on average 1.3485714285714285) internal successors, (1888), 1422 states have internal predecessors, (1888), 175 states have call successors, (175), 130 states have call predecessors, (175), 156 states have return successors, (252), 184 states have call predecessors, (252), 173 states have call successors, (252) Second operand 1953 states. [2022-02-20 19:58:08,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:08,467 INFO L93 Difference]: Finished difference Result 1953 states and 2582 transitions. [2022-02-20 19:58:08,467 INFO L276 IsEmpty]: Start isEmpty. Operand 1953 states and 2582 transitions. [2022-02-20 19:58:08,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:58:08,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:58:08,472 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:58:08,472 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:58:08,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1733 states, 1400 states have (on average 1.3485714285714285) internal successors, (1888), 1422 states have internal predecessors, (1888), 175 states have call successors, (175), 130 states have call predecessors, (175), 156 states have return successors, (252), 184 states have call predecessors, (252), 173 states have call successors, (252) [2022-02-20 19:58:08,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1733 states to 1733 states and 2315 transitions. [2022-02-20 19:58:08,632 INFO L78 Accepts]: Start accepts. Automaton has 1733 states and 2315 transitions. Word has length 65 [2022-02-20 19:58:08,632 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:58:08,632 INFO L470 AbstractCegarLoop]: Abstraction has 1733 states and 2315 transitions. [2022-02-20 19:58:08,632 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 6 states have internal predecessors, (50), 3 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:08,633 INFO L276 IsEmpty]: Start isEmpty. Operand 1733 states and 2315 transitions. [2022-02-20 19:58:08,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 19:58:08,633 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:58:08,633 INFO L514 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] [2022-02-20 19:58:08,633 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 19:58:08,634 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:58:08,634 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:58:08,634 INFO L85 PathProgramCache]: Analyzing trace with hash -1780846701, now seen corresponding path program 1 times [2022-02-20 19:58:08,634 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:58:08,634 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [177649613] [2022-02-20 19:58:08,634 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:58:08,634 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:58:08,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:58:08,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {40165#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {40125#true} is VALID [2022-02-20 19:58:08,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,672 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40125#true} {40125#true} #1436#return; {40125#true} is VALID [2022-02-20 19:58:08,676 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:58:08,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {40166#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume !(0 == ~q_write_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40125#true} {40130#(= ~p_dw_st~0 0)} #1438#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,685 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:58:08,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:58:08,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {40125#true} havoc ~__retres1~0; {40125#true} is VALID [2022-02-20 19:58:08,716 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume !(1 == ~p_dw_pc~0); {40125#true} is VALID [2022-02-20 19:58:08,716 INFO L290 TraceCheckUtils]: 2: Hoare triple {40125#true} ~__retres1~0 := 0; {40125#true} is VALID [2022-02-20 19:58:08,716 INFO L290 TraceCheckUtils]: 3: Hoare triple {40125#true} #res := ~__retres1~0; {40125#true} is VALID [2022-02-20 19:58:08,716 INFO L290 TraceCheckUtils]: 4: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,717 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {40125#true} {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} #1432#return; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,717 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:58:08,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,721 INFO L290 TraceCheckUtils]: 0: Hoare triple {40125#true} havoc ~__retres1~1; {40125#true} is VALID [2022-02-20 19:58:08,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume !(1 == ~c_dr_pc~0); {40125#true} is VALID [2022-02-20 19:58:08,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {40125#true} ~__retres1~1 := 0; {40125#true} is VALID [2022-02-20 19:58:08,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {40125#true} #res := ~__retres1~1; {40125#true} is VALID [2022-02-20 19:58:08,735 INFO L290 TraceCheckUtils]: 4: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,736 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {40125#true} {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} #1434#return; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {40167#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,736 INFO L272 TraceCheckUtils]: 1: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} call #t~ret8 := is_do_write_p_triggered(); {40125#true} is VALID [2022-02-20 19:58:08,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {40125#true} havoc ~__retres1~0; {40125#true} is VALID [2022-02-20 19:58:08,737 INFO L290 TraceCheckUtils]: 3: Hoare triple {40125#true} assume !(1 == ~p_dw_pc~0); {40125#true} is VALID [2022-02-20 19:58:08,737 INFO L290 TraceCheckUtils]: 4: Hoare triple {40125#true} ~__retres1~0 := 0; {40125#true} is VALID [2022-02-20 19:58:08,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {40125#true} #res := ~__retres1~0; {40125#true} is VALID [2022-02-20 19:58:08,737 INFO L290 TraceCheckUtils]: 6: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,738 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {40125#true} {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} #1432#return; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume !(0 != ~tmp~1); {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,739 INFO L272 TraceCheckUtils]: 10: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} call #t~ret9 := is_do_read_c_triggered(); {40125#true} is VALID [2022-02-20 19:58:08,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {40125#true} havoc ~__retres1~1; {40125#true} is VALID [2022-02-20 19:58:08,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {40125#true} assume !(1 == ~c_dr_pc~0); {40125#true} is VALID [2022-02-20 19:58:08,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {40125#true} ~__retres1~1 := 0; {40125#true} is VALID [2022-02-20 19:58:08,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {40125#true} #res := ~__retres1~1; {40125#true} is VALID [2022-02-20 19:58:08,739 INFO L290 TraceCheckUtils]: 15: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,740 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {40125#true} {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} #1434#return; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,741 INFO L290 TraceCheckUtils]: 18: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume !(0 != ~tmp___0~1); {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,741 INFO L290 TraceCheckUtils]: 19: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume true; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,741 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} {40130#(= ~p_dw_st~0 0)} #1440#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,742 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:58:08,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,746 INFO L290 TraceCheckUtils]: 0: Hoare triple {40166#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume !(1 == ~q_write_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40125#true} {40130#(= ~p_dw_st~0 0)} #1442#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,746 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:58:08,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:08,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {40125#true} havoc ~__retres1~2; {40125#true} is VALID [2022-02-20 19:58:08,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,754 INFO L290 TraceCheckUtils]: 2: Hoare triple {40130#(= ~p_dw_st~0 0)} #res := ~__retres1~2; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {40130#(= ~p_dw_st~0 0)} assume true; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,755 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {40130#(= ~p_dw_st~0 0)} {40130#(= ~p_dw_st~0 0)} #1444#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,755 INFO L290 TraceCheckUtils]: 0: Hoare triple {40125#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {40125#true} is VALID [2022-02-20 19:58:08,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {40125#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {40125#true} is VALID [2022-02-20 19:58:08,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {40125#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {40125#true} is VALID [2022-02-20 19:58:08,756 INFO L290 TraceCheckUtils]: 3: Hoare triple {40125#true} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {40125#true} is VALID [2022-02-20 19:58:08,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {40125#true} call update_channels1(); {40165#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:58:08,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {40165#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {40125#true} is VALID [2022-02-20 19:58:08,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,756 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {40125#true} {40125#true} #1436#return; {40125#true} is VALID [2022-02-20 19:58:08,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {40125#true} assume { :begin_inline_init_threads1 } true; {40125#true} is VALID [2022-02-20 19:58:08,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {40125#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {40130#(= ~p_dw_st~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {40130#(= ~p_dw_st~0 0)} assume { :end_inline_init_threads1 } true; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,758 INFO L272 TraceCheckUtils]: 12: Hoare triple {40130#(= ~p_dw_st~0 0)} call fire_delta_events1(); {40166#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:08,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {40166#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,758 INFO L290 TraceCheckUtils]: 14: Hoare triple {40125#true} assume !(0 == ~q_write_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,759 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {40125#true} {40130#(= ~p_dw_st~0 0)} #1438#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,759 INFO L272 TraceCheckUtils]: 17: Hoare triple {40130#(= ~p_dw_st~0 0)} call activate_threads1(); {40167#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:58:08,760 INFO L290 TraceCheckUtils]: 18: Hoare triple {40167#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,760 INFO L272 TraceCheckUtils]: 19: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} call #t~ret8 := is_do_write_p_triggered(); {40125#true} is VALID [2022-02-20 19:58:08,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {40125#true} havoc ~__retres1~0; {40125#true} is VALID [2022-02-20 19:58:08,760 INFO L290 TraceCheckUtils]: 21: Hoare triple {40125#true} assume !(1 == ~p_dw_pc~0); {40125#true} is VALID [2022-02-20 19:58:08,760 INFO L290 TraceCheckUtils]: 22: Hoare triple {40125#true} ~__retres1~0 := 0; {40125#true} is VALID [2022-02-20 19:58:08,760 INFO L290 TraceCheckUtils]: 23: Hoare triple {40125#true} #res := ~__retres1~0; {40125#true} is VALID [2022-02-20 19:58:08,760 INFO L290 TraceCheckUtils]: 24: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,761 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {40125#true} {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} #1432#return; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,761 INFO L290 TraceCheckUtils]: 26: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,762 INFO L290 TraceCheckUtils]: 27: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume !(0 != ~tmp~1); {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,762 INFO L272 TraceCheckUtils]: 28: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} call #t~ret9 := is_do_read_c_triggered(); {40125#true} is VALID [2022-02-20 19:58:08,763 INFO L290 TraceCheckUtils]: 29: Hoare triple {40125#true} havoc ~__retres1~1; {40125#true} is VALID [2022-02-20 19:58:08,763 INFO L290 TraceCheckUtils]: 30: Hoare triple {40125#true} assume !(1 == ~c_dr_pc~0); {40125#true} is VALID [2022-02-20 19:58:08,763 INFO L290 TraceCheckUtils]: 31: Hoare triple {40125#true} ~__retres1~1 := 0; {40125#true} is VALID [2022-02-20 19:58:08,763 INFO L290 TraceCheckUtils]: 32: Hoare triple {40125#true} #res := ~__retres1~1; {40125#true} is VALID [2022-02-20 19:58:08,763 INFO L290 TraceCheckUtils]: 33: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,764 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {40125#true} {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} #1434#return; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,765 INFO L290 TraceCheckUtils]: 36: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume !(0 != ~tmp___0~1); {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,765 INFO L290 TraceCheckUtils]: 37: Hoare triple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} assume true; {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} is VALID [2022-02-20 19:58:08,766 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {40168#(= |old(~p_dw_st~0)| ~p_dw_st~0)} {40130#(= ~p_dw_st~0 0)} #1440#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,766 INFO L272 TraceCheckUtils]: 39: Hoare triple {40130#(= ~p_dw_st~0 0)} call reset_delta_events1(); {40166#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:08,766 INFO L290 TraceCheckUtils]: 40: Hoare triple {40166#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,767 INFO L290 TraceCheckUtils]: 41: Hoare triple {40125#true} assume !(1 == ~q_write_ev~0); {40125#true} is VALID [2022-02-20 19:58:08,767 INFO L290 TraceCheckUtils]: 42: Hoare triple {40125#true} assume true; {40125#true} is VALID [2022-02-20 19:58:08,767 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {40125#true} {40130#(= ~p_dw_st~0 0)} #1442#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,768 INFO L290 TraceCheckUtils]: 44: Hoare triple {40130#(= ~p_dw_st~0 0)} assume !false; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,768 INFO L290 TraceCheckUtils]: 45: Hoare triple {40130#(= ~p_dw_st~0 0)} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,768 INFO L290 TraceCheckUtils]: 46: Hoare triple {40130#(= ~p_dw_st~0 0)} assume !false; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,768 INFO L272 TraceCheckUtils]: 47: Hoare triple {40130#(= ~p_dw_st~0 0)} call eval1_#t~ret10#1 := exists_runnable_thread1(); {40125#true} is VALID [2022-02-20 19:58:08,768 INFO L290 TraceCheckUtils]: 48: Hoare triple {40125#true} havoc ~__retres1~2; {40125#true} is VALID [2022-02-20 19:58:08,769 INFO L290 TraceCheckUtils]: 49: Hoare triple {40125#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,769 INFO L290 TraceCheckUtils]: 50: Hoare triple {40130#(= ~p_dw_st~0 0)} #res := ~__retres1~2; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,769 INFO L290 TraceCheckUtils]: 51: Hoare triple {40130#(= ~p_dw_st~0 0)} assume true; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,770 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {40130#(= ~p_dw_st~0 0)} {40130#(= ~p_dw_st~0 0)} #1444#return; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,770 INFO L290 TraceCheckUtils]: 53: Hoare triple {40130#(= ~p_dw_st~0 0)} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,770 INFO L290 TraceCheckUtils]: 54: Hoare triple {40130#(= ~p_dw_st~0 0)} assume 0 != eval1_~tmp___1~0#1; {40130#(= ~p_dw_st~0 0)} is VALID [2022-02-20 19:58:08,771 INFO L290 TraceCheckUtils]: 55: Hoare triple {40130#(= ~p_dw_st~0 0)} assume !(0 == ~p_dw_st~0); {40126#false} is VALID [2022-02-20 19:58:08,771 INFO L290 TraceCheckUtils]: 56: Hoare triple {40126#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {40126#false} is VALID [2022-02-20 19:58:08,771 INFO L290 TraceCheckUtils]: 57: Hoare triple {40126#false} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {40126#false} is VALID [2022-02-20 19:58:08,771 INFO L290 TraceCheckUtils]: 58: Hoare triple {40126#false} assume 0 == ~c_dr_pc~0; {40126#false} is VALID [2022-02-20 19:58:08,771 INFO L290 TraceCheckUtils]: 59: Hoare triple {40126#false} assume !false; {40126#false} is VALID [2022-02-20 19:58:08,771 INFO L290 TraceCheckUtils]: 60: Hoare triple {40126#false} assume !(1 == ~q_free~0); {40126#false} is VALID [2022-02-20 19:58:08,772 INFO L290 TraceCheckUtils]: 61: Hoare triple {40126#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {40126#false} is VALID [2022-02-20 19:58:08,775 INFO L290 TraceCheckUtils]: 62: Hoare triple {40126#false} assume !(~p_last_write~0 == ~c_last_read~0); {40126#false} is VALID [2022-02-20 19:58:08,775 INFO L272 TraceCheckUtils]: 63: Hoare triple {40126#false} call error1(); {40126#false} is VALID [2022-02-20 19:58:08,775 INFO L290 TraceCheckUtils]: 64: Hoare triple {40126#false} assume !false; {40126#false} is VALID [2022-02-20 19:58:08,776 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:58:08,776 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:58:08,776 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [177649613] [2022-02-20 19:58:08,776 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [177649613] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:58:08,776 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:58:08,776 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 19:58:08,777 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [417364089] [2022-02-20 19:58:08,777 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:58:08,778 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:58:08,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:58:08,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:08,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:08,818 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 19:58:08,818 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:58:08,819 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 19:58:08,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 19:58:08,820 INFO L87 Difference]: Start difference. First operand 1733 states and 2315 transitions. Second operand has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:12,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:12,465 INFO L93 Difference]: Finished difference Result 4808 states and 6294 transitions. [2022-02-20 19:58:12,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 19:58:12,466 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 65 [2022-02-20 19:58:12,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:58:12,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:12,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 842 transitions. [2022-02-20 19:58:12,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:12,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 842 transitions. [2022-02-20 19:58:12,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 842 transitions. [2022-02-20 19:58:13,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 842 edges. 842 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:13,563 INFO L225 Difference]: With dead ends: 4808 [2022-02-20 19:58:13,563 INFO L226 Difference]: Without dead ends: 3376 [2022-02-20 19:58:13,566 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=71, Invalid=139, Unknown=0, NotChecked=0, Total=210 [2022-02-20 19:58:13,567 INFO L933 BasicCegarLoop]: 532 mSDtfsCounter, 1634 mSDsluCounter, 559 mSDsCounter, 0 mSdLazyCounter, 256 mSolverCounterSat, 239 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1665 SdHoareTripleChecker+Valid, 1091 SdHoareTripleChecker+Invalid, 495 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 239 IncrementalHoareTripleChecker+Valid, 256 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 19:58:13,567 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1665 Valid, 1091 Invalid, 495 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [239 Valid, 256 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 19:58:13,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 3376 states. [2022-02-20 19:58:14,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 3376 to 3104. [2022-02-20 19:58:14,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 19:58:14,779 INFO L82 GeneralOperation]: Start isEquivalent. First operand 3376 states. Second operand has 3104 states, 2466 states have (on average 1.2996755879967559) internal successors, (3205), 2509 states have internal predecessors, (3205), 327 states have call successors, (327), 253 states have call predecessors, (327), 309 states have return successors, (524), 348 states have call predecessors, (524), 325 states have call successors, (524) [2022-02-20 19:58:14,783 INFO L74 IsIncluded]: Start isIncluded. First operand 3376 states. Second operand has 3104 states, 2466 states have (on average 1.2996755879967559) internal successors, (3205), 2509 states have internal predecessors, (3205), 327 states have call successors, (327), 253 states have call predecessors, (327), 309 states have return successors, (524), 348 states have call predecessors, (524), 325 states have call successors, (524) [2022-02-20 19:58:14,787 INFO L87 Difference]: Start difference. First operand 3376 states. Second operand has 3104 states, 2466 states have (on average 1.2996755879967559) internal successors, (3205), 2509 states have internal predecessors, (3205), 327 states have call successors, (327), 253 states have call predecessors, (327), 309 states have return successors, (524), 348 states have call predecessors, (524), 325 states have call successors, (524) [2022-02-20 19:58:15,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:15,283 INFO L93 Difference]: Finished difference Result 3376 states and 4382 transitions. [2022-02-20 19:58:15,283 INFO L276 IsEmpty]: Start isEmpty. Operand 3376 states and 4382 transitions. [2022-02-20 19:58:15,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:58:15,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:58:15,296 INFO L74 IsIncluded]: Start isIncluded. First operand has 3104 states, 2466 states have (on average 1.2996755879967559) internal successors, (3205), 2509 states have internal predecessors, (3205), 327 states have call successors, (327), 253 states have call predecessors, (327), 309 states have return successors, (524), 348 states have call predecessors, (524), 325 states have call successors, (524) Second operand 3376 states. [2022-02-20 19:58:15,299 INFO L87 Difference]: Start difference. First operand has 3104 states, 2466 states have (on average 1.2996755879967559) internal successors, (3205), 2509 states have internal predecessors, (3205), 327 states have call successors, (327), 253 states have call predecessors, (327), 309 states have return successors, (524), 348 states have call predecessors, (524), 325 states have call successors, (524) Second operand 3376 states. [2022-02-20 19:58:15,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:15,833 INFO L93 Difference]: Finished difference Result 3376 states and 4382 transitions. [2022-02-20 19:58:15,834 INFO L276 IsEmpty]: Start isEmpty. Operand 3376 states and 4382 transitions. [2022-02-20 19:58:15,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 19:58:15,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 19:58:15,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 19:58:15,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 19:58:15,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3104 states, 2466 states have (on average 1.2996755879967559) internal successors, (3205), 2509 states have internal predecessors, (3205), 327 states have call successors, (327), 253 states have call predecessors, (327), 309 states have return successors, (524), 348 states have call predecessors, (524), 325 states have call successors, (524) [2022-02-20 19:58:16,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3104 states to 3104 states and 4056 transitions. [2022-02-20 19:58:16,361 INFO L78 Accepts]: Start accepts. Automaton has 3104 states and 4056 transitions. Word has length 65 [2022-02-20 19:58:16,362 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 19:58:16,362 INFO L470 AbstractCegarLoop]: Abstraction has 3104 states and 4056 transitions. [2022-02-20 19:58:16,362 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 7.142857142857143) internal successors, (50), 4 states have internal predecessors, (50), 4 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-02-20 19:58:16,362 INFO L276 IsEmpty]: Start isEmpty. Operand 3104 states and 4056 transitions. [2022-02-20 19:58:16,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-02-20 19:58:16,363 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 19:58:16,364 INFO L514 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] [2022-02-20 19:58:16,364 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 19:58:16,364 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting error1Err0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION, error1Err0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 19:58:16,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 19:58:16,365 INFO L85 PathProgramCache]: Analyzing trace with hash 1311152709, now seen corresponding path program 1 times [2022-02-20 19:58:16,365 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 19:58:16,365 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1127021006] [2022-02-20 19:58:16,365 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 19:58:16,365 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 19:58:16,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 4 [2022-02-20 19:58:16,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {57561#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {57521#true} is VALID [2022-02-20 19:58:16,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,415 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1436#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-02-20 19:58:16,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,422 INFO L290 TraceCheckUtils]: 0: Hoare triple {57562#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume !(0 == ~q_write_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,423 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1438#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-02-20 19:58:16,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,434 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-02-20 19:58:16,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,436 INFO L290 TraceCheckUtils]: 0: Hoare triple {57521#true} havoc ~__retres1~0; {57521#true} is VALID [2022-02-20 19:58:16,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume !(1 == ~p_dw_pc~0); {57521#true} is VALID [2022-02-20 19:58:16,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} ~__retres1~0 := 0; {57521#true} is VALID [2022-02-20 19:58:16,437 INFO L290 TraceCheckUtils]: 3: Hoare triple {57521#true} #res := ~__retres1~0; {57521#true} is VALID [2022-02-20 19:58:16,437 INFO L290 TraceCheckUtils]: 4: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,437 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {57521#true} {57521#true} #1432#return; {57521#true} is VALID [2022-02-20 19:58:16,437 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-02-20 19:58:16,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {57521#true} havoc ~__retres1~1; {57521#true} is VALID [2022-02-20 19:58:16,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume !(1 == ~c_dr_pc~0); {57521#true} is VALID [2022-02-20 19:58:16,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} ~__retres1~1 := 0; {57521#true} is VALID [2022-02-20 19:58:16,440 INFO L290 TraceCheckUtils]: 3: Hoare triple {57521#true} #res := ~__retres1~1; {57521#true} is VALID [2022-02-20 19:58:16,440 INFO L290 TraceCheckUtils]: 4: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,440 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {57521#true} {57521#true} #1434#return; {57521#true} is VALID [2022-02-20 19:58:16,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {57563#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L272 TraceCheckUtils]: 1: Hoare triple {57521#true} call #t~ret8 := is_do_write_p_triggered(); {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} havoc ~__retres1~0; {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L290 TraceCheckUtils]: 3: Hoare triple {57521#true} assume !(1 == ~p_dw_pc~0); {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L290 TraceCheckUtils]: 4: Hoare triple {57521#true} ~__retres1~0 := 0; {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {57521#true} #res := ~__retres1~0; {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,441 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57521#true} {57521#true} #1432#return; {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {57521#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {57521#true} assume !(0 != ~tmp~1); {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L272 TraceCheckUtils]: 10: Hoare triple {57521#true} call #t~ret9 := is_do_read_c_triggered(); {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L290 TraceCheckUtils]: 11: Hoare triple {57521#true} havoc ~__retres1~1; {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L290 TraceCheckUtils]: 12: Hoare triple {57521#true} assume !(1 == ~c_dr_pc~0); {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L290 TraceCheckUtils]: 13: Hoare triple {57521#true} ~__retres1~1 := 0; {57521#true} is VALID [2022-02-20 19:58:16,442 INFO L290 TraceCheckUtils]: 14: Hoare triple {57521#true} #res := ~__retres1~1; {57521#true} is VALID [2022-02-20 19:58:16,443 INFO L290 TraceCheckUtils]: 15: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,443 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {57521#true} {57521#true} #1434#return; {57521#true} is VALID [2022-02-20 19:58:16,443 INFO L290 TraceCheckUtils]: 17: Hoare triple {57521#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {57521#true} is VALID [2022-02-20 19:58:16,443 INFO L290 TraceCheckUtils]: 18: Hoare triple {57521#true} assume !(0 != ~tmp___0~1); {57521#true} is VALID [2022-02-20 19:58:16,443 INFO L290 TraceCheckUtils]: 19: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,444 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1440#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-02-20 19:58:16,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {57562#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume !(1 == ~q_write_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1442#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,448 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 19:58:16,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 19:58:16,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {57521#true} havoc ~__retres1~2; {57521#true} is VALID [2022-02-20 19:58:16,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {57521#true} is VALID [2022-02-20 19:58:16,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} #res := ~__retres1~2; {57521#true} is VALID [2022-02-20 19:58:16,451 INFO L290 TraceCheckUtils]: 3: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,452 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1444#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {57521#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3);~q_buf_0~0 := 0;~q_free~0 := 0;~q_read_ev~0 := 0;~q_write_ev~0 := 0;~q_req_up~0 := 0;~q_ev~0 := 0;~p_num_write~0 := 0;~p_last_write~0 := 0;~p_dw_st~0 := 0;~p_dw_pc~0 := 0;~p_dw_i~0 := 0;~c_num_read~0 := 0;~c_last_read~0 := 0;~c_dr_st~0 := 0;~c_dr_pc~0 := 0;~c_dr_i~0 := 0;~a_t~0 := 0;~m_pc~0 := 0;~t1_pc~0 := 0;~t2_pc~0 := 0;~t3_pc~0 := 0;~t4_pc~0 := 0;~t5_pc~0 := 0;~t6_pc~0 := 0;~t7_pc~0 := 0;~t8_pc~0 := 0;~m_st~0 := 0;~t1_st~0 := 0;~t2_st~0 := 0;~t3_st~0 := 0;~t4_st~0 := 0;~t5_st~0 := 0;~t6_st~0 := 0;~t7_st~0 := 0;~t8_st~0 := 0;~m_i~0 := 0;~t1_i~0 := 0;~t2_i~0 := 0;~t3_i~0 := 0;~t4_i~0 := 0;~t5_i~0 := 0;~t6_i~0 := 0;~t7_i~0 := 0;~t8_i~0 := 0;~M_E~0 := 2;~T1_E~0 := 2;~T2_E~0 := 2;~T3_E~0 := 2;~T4_E~0 := 2;~T5_E~0 := 2;~T6_E~0 := 2;~T7_E~0 := 2;~T8_E~0 := 2;~E_M~0 := 2;~E_1~0 := 2;~E_2~0 := 2;~E_3~0 := 2;~E_4~0 := 2;~E_5~0 := 2;~E_6~0 := 2;~E_7~0 := 2;~E_8~0 := 2;~token~0 := 0;~local~0 := 0; {57521#true} is VALID [2022-02-20 19:58:16,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {57521#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet42#1, main_#t~ret43#1, main_#t~ret44#1;assume -2147483648 <= main_#t~nondet42#1 && main_#t~nondet42#1 <= 2147483647; {57521#true} is VALID [2022-02-20 19:58:16,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {57521#true} assume 0 != main_#t~nondet42#1;havoc main_#t~nondet42#1;assume { :begin_inline_main1 } true;havoc main1_#res#1;havoc main1_~__retres1~3#1;havoc main1_~__retres1~3#1;assume { :begin_inline_init_model1 } 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; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {57523#(= ~q_free~0 1)} assume { :end_inline_init_model1 } true;assume { :begin_inline_start_simulation1 } true;havoc start_simulation1_#t~ret14#1, start_simulation1_~kernel_st~0#1, start_simulation1_~tmp~4#1;havoc start_simulation1_~kernel_st~0#1;havoc start_simulation1_~tmp~4#1;start_simulation1_~kernel_st~0#1 := 0; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {57523#(= ~q_free~0 1)} call update_channels1(); {57561#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} is VALID [2022-02-20 19:58:16,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {57561#(and (= ~q_ev~0 |old(~q_ev~0)|) (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0) (= ~q_req_up~0 |old(~q_req_up~0)|))} assume !(1 == ~q_req_up~0); {57521#true} is VALID [2022-02-20 19:58:16,454 INFO L290 TraceCheckUtils]: 6: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,454 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1436#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {57523#(= ~q_free~0 1)} assume { :begin_inline_init_threads1 } true; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {57523#(= ~q_free~0 1)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {57523#(= ~q_free~0 1)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {57523#(= ~q_free~0 1)} assume { :end_inline_init_threads1 } true; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,456 INFO L272 TraceCheckUtils]: 12: Hoare triple {57523#(= ~q_free~0 1)} call fire_delta_events1(); {57562#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:16,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {57562#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(0 == ~q_read_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {57521#true} assume !(0 == ~q_write_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,457 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1438#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,457 INFO L272 TraceCheckUtils]: 17: Hoare triple {57523#(= ~q_free~0 1)} call activate_threads1(); {57563#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 19:58:16,457 INFO L290 TraceCheckUtils]: 18: Hoare triple {57563#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~1;havoc ~tmp___0~1; {57521#true} is VALID [2022-02-20 19:58:16,457 INFO L272 TraceCheckUtils]: 19: Hoare triple {57521#true} call #t~ret8 := is_do_write_p_triggered(); {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {57521#true} havoc ~__retres1~0; {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L290 TraceCheckUtils]: 21: Hoare triple {57521#true} assume !(1 == ~p_dw_pc~0); {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L290 TraceCheckUtils]: 22: Hoare triple {57521#true} ~__retres1~0 := 0; {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L290 TraceCheckUtils]: 23: Hoare triple {57521#true} #res := ~__retres1~0; {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L290 TraceCheckUtils]: 24: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {57521#true} {57521#true} #1432#return; {57521#true} is VALID [2022-02-20 19:58:16,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {57521#true} assume -2147483648 <= #t~ret8 && #t~ret8 <= 2147483647;~tmp~1 := #t~ret8;havoc #t~ret8; {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L290 TraceCheckUtils]: 27: Hoare triple {57521#true} assume !(0 != ~tmp~1); {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L272 TraceCheckUtils]: 28: Hoare triple {57521#true} call #t~ret9 := is_do_read_c_triggered(); {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {57521#true} havoc ~__retres1~1; {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L290 TraceCheckUtils]: 30: Hoare triple {57521#true} assume !(1 == ~c_dr_pc~0); {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L290 TraceCheckUtils]: 31: Hoare triple {57521#true} ~__retres1~1 := 0; {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L290 TraceCheckUtils]: 32: Hoare triple {57521#true} #res := ~__retres1~1; {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L290 TraceCheckUtils]: 33: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,459 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {57521#true} {57521#true} #1434#return; {57521#true} is VALID [2022-02-20 19:58:16,460 INFO L290 TraceCheckUtils]: 35: Hoare triple {57521#true} assume -2147483648 <= #t~ret9 && #t~ret9 <= 2147483647;~tmp___0~1 := #t~ret9;havoc #t~ret9; {57521#true} is VALID [2022-02-20 19:58:16,460 INFO L290 TraceCheckUtils]: 36: Hoare triple {57521#true} assume !(0 != ~tmp___0~1); {57521#true} is VALID [2022-02-20 19:58:16,460 INFO L290 TraceCheckUtils]: 37: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,460 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1440#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,461 INFO L272 TraceCheckUtils]: 39: Hoare triple {57523#(= ~q_free~0 1)} call reset_delta_events1(); {57562#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} is VALID [2022-02-20 19:58:16,461 INFO L290 TraceCheckUtils]: 40: Hoare triple {57562#(and (= ~q_write_ev~0 |old(~q_write_ev~0)|) (= |old(~q_read_ev~0)| ~q_read_ev~0))} assume !(1 == ~q_read_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,461 INFO L290 TraceCheckUtils]: 41: Hoare triple {57521#true} assume !(1 == ~q_write_ev~0); {57521#true} is VALID [2022-02-20 19:58:16,461 INFO L290 TraceCheckUtils]: 42: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,462 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1442#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,462 INFO L290 TraceCheckUtils]: 44: Hoare triple {57523#(= ~q_free~0 1)} assume !false; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,462 INFO L290 TraceCheckUtils]: 45: Hoare triple {57523#(= ~q_free~0 1)} start_simulation1_~kernel_st~0#1 := 1;assume { :begin_inline_eval1 } true;havoc eval1_#t~ret10#1, eval1_#t~nondet11#1, eval1_#t~nondet12#1, eval1_~tmp~2#1, eval1_~tmp___0~2#1, eval1_~tmp___1~0#1;havoc eval1_~tmp~2#1;havoc eval1_~tmp___0~2#1;havoc eval1_~tmp___1~0#1; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,463 INFO L290 TraceCheckUtils]: 46: Hoare triple {57523#(= ~q_free~0 1)} assume !false; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,463 INFO L272 TraceCheckUtils]: 47: Hoare triple {57523#(= ~q_free~0 1)} call eval1_#t~ret10#1 := exists_runnable_thread1(); {57521#true} is VALID [2022-02-20 19:58:16,463 INFO L290 TraceCheckUtils]: 48: Hoare triple {57521#true} havoc ~__retres1~2; {57521#true} is VALID [2022-02-20 19:58:16,463 INFO L290 TraceCheckUtils]: 49: Hoare triple {57521#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {57521#true} is VALID [2022-02-20 19:58:16,463 INFO L290 TraceCheckUtils]: 50: Hoare triple {57521#true} #res := ~__retres1~2; {57521#true} is VALID [2022-02-20 19:58:16,463 INFO L290 TraceCheckUtils]: 51: Hoare triple {57521#true} assume true; {57521#true} is VALID [2022-02-20 19:58:16,464 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {57521#true} {57523#(= ~q_free~0 1)} #1444#return; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,464 INFO L290 TraceCheckUtils]: 53: Hoare triple {57523#(= ~q_free~0 1)} assume -2147483648 <= eval1_#t~ret10#1 && eval1_#t~ret10#1 <= 2147483647;eval1_~tmp___1~0#1 := eval1_#t~ret10#1;havoc eval1_#t~ret10#1; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,464 INFO L290 TraceCheckUtils]: 54: Hoare triple {57523#(= ~q_free~0 1)} assume 0 != eval1_~tmp___1~0#1; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,465 INFO L290 TraceCheckUtils]: 55: Hoare triple {57523#(= ~q_free~0 1)} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval1_#t~nondet11#1 && eval1_#t~nondet11#1 <= 2147483647;eval1_~tmp~2#1 := eval1_#t~nondet11#1;havoc eval1_#t~nondet11#1; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,465 INFO L290 TraceCheckUtils]: 56: Hoare triple {57523#(= ~q_free~0 1)} assume !(0 != eval1_~tmp~2#1); {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,466 INFO L290 TraceCheckUtils]: 57: Hoare triple {57523#(= ~q_free~0 1)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval1_#t~nondet12#1 && eval1_#t~nondet12#1 <= 2147483647;eval1_~tmp___0~2#1 := eval1_#t~nondet12#1;havoc eval1_#t~nondet12#1; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,466 INFO L290 TraceCheckUtils]: 58: Hoare triple {57523#(= ~q_free~0 1)} assume 0 != eval1_~tmp___0~2#1;~c_dr_st~0 := 1;assume { :begin_inline_do_read_c } true;havoc do_read_c_~a~0#1;havoc do_read_c_~a~0#1; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,466 INFO L290 TraceCheckUtils]: 59: Hoare triple {57523#(= ~q_free~0 1)} assume 0 == ~c_dr_pc~0; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,466 INFO L290 TraceCheckUtils]: 60: Hoare triple {57523#(= ~q_free~0 1)} assume !false; {57523#(= ~q_free~0 1)} is VALID [2022-02-20 19:58:16,467 INFO L290 TraceCheckUtils]: 61: Hoare triple {57523#(= ~q_free~0 1)} assume !(1 == ~q_free~0); {57522#false} is VALID [2022-02-20 19:58:16,467 INFO L290 TraceCheckUtils]: 62: Hoare triple {57522#false} do_read_c_~a~0#1 := ~q_buf_0~0;~c_last_read~0 := do_read_c_~a~0#1;~c_num_read~0 := 1 + ~c_num_read~0;~q_free~0 := 1;~q_req_up~0 := 1; {57522#false} is VALID [2022-02-20 19:58:16,467 INFO L290 TraceCheckUtils]: 63: Hoare triple {57522#false} assume !(~p_last_write~0 == ~c_last_read~0); {57522#false} is VALID [2022-02-20 19:58:16,467 INFO L272 TraceCheckUtils]: 64: Hoare triple {57522#false} call error1(); {57522#false} is VALID [2022-02-20 19:58:16,467 INFO L290 TraceCheckUtils]: 65: Hoare triple {57522#false} assume !false; {57522#false} is VALID [2022-02-20 19:58:16,468 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 19:58:16,468 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 19:58:16,468 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1127021006] [2022-02-20 19:58:16,477 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1127021006] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 19:58:16,477 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 19:58:16,478 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 19:58:16,478 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1798626158] [2022-02-20 19:58:16,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 19:58:16,478 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 8.5) internal successors, (51), 3 states have internal predecessors, (51), 3 states have call successors, (8), 5 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 66 [2022-02-20 19:58:16,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 19:58:16,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 8.5) internal successors, (51), 3 states have internal predecessors, (51), 3 states have call successors, (8), 5 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:16,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:16,522 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 19:58:16,522 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 19:58:16,522 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 19:58:16,523 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 19:58:16,523 INFO L87 Difference]: Start difference. First operand 3104 states and 4056 transitions. Second operand has 6 states, 6 states have (on average 8.5) internal successors, (51), 3 states have internal predecessors, (51), 3 states have call successors, (8), 5 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:22,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 19:58:22,497 INFO L93 Difference]: Finished difference Result 8122 states and 10570 transitions. [2022-02-20 19:58:22,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 19:58:22,497 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 8.5) internal successors, (51), 3 states have internal predecessors, (51), 3 states have call successors, (8), 5 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 66 [2022-02-20 19:58:22,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 19:58:22,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 8.5) internal successors, (51), 3 states have internal predecessors, (51), 3 states have call successors, (8), 5 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:22,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 842 transitions. [2022-02-20 19:58:22,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 8.5) internal successors, (51), 3 states have internal predecessors, (51), 3 states have call successors, (8), 5 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 19:58:22,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 842 transitions. [2022-02-20 19:58:22,509 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 842 transitions. [2022-02-20 19:58:23,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 842 edges. 842 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 19:58:24,184 INFO L225 Difference]: With dead ends: 8122 [2022-02-20 19:58:24,185 INFO L226 Difference]: Without dead ends: 5298 [2022-02-20 19:58:24,190 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=39, Invalid=71, Unknown=0, NotChecked=0, Total=110 [2022-02-20 19:58:24,190 INFO L933 BasicCegarLoop]: 565 mSDtfsCounter, 659 mSDsluCounter, 1028 mSDsCounter, 0 mSdLazyCounter, 505 mSolverCounterSat, 123 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 667 SdHoareTripleChecker+Valid, 1593 SdHoareTripleChecker+Invalid, 628 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 123 IncrementalHoareTripleChecker+Valid, 505 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 19:58:24,191 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [667 Valid, 1593 Invalid, 628 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [123 Valid, 505 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 19:58:24,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5298 states.