./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/systemc/pc_sfifo_1.cil-2.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/systemc/pc_sfifo_1.cil-2.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 1924d97c04cfa5367e34b409aac63a4fd986c243eb4aa0af30578d8598fbdf71 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 18:18:39,891 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 18:18:39,894 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 18:18:39,937 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 18:18:39,937 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 18:18:39,940 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 18:18:39,941 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 18:18:39,944 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 18:18:39,945 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 18:18:39,949 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 18:18:39,950 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 18:18:39,951 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 18:18:39,952 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 18:18:39,954 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 18:18:39,955 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 18:18:39,958 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 18:18:39,959 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 18:18:39,960 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 18:18:39,963 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 18:18:39,968 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 18:18:39,970 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 18:18:39,971 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 18:18:39,972 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 18:18:39,973 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 18:18:39,979 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 18:18:39,979 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 18:18:39,979 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 18:18:39,981 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 18:18:39,981 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 18:18:39,982 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 18:18:39,982 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 18:18:39,983 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 18:18:39,985 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 18:18:39,986 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 18:18:39,987 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 18:18:39,987 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 18:18:39,988 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 18:18:39,988 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 18:18:39,988 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 18:18:39,989 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 18:18:39,989 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 18:18:39,990 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 18:18:40,020 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 18:18:40,021 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 18:18:40,021 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 18:18:40,021 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 18:18:40,022 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 18:18:40,022 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 18:18:40,023 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 18:18:40,023 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 18:18:40,023 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 18:18:40,023 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 18:18:40,024 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 18:18:40,024 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 18:18:40,024 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 18:18:40,025 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 18:18:40,025 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 18:18:40,025 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 18:18:40,025 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 18:18:40,025 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 18:18:40,025 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 18:18:40,026 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 18:18:40,026 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 18:18:40,026 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 18:18:40,026 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 18:18:40,026 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 18:18:40,027 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:18:40,027 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 18:18:40,027 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 18:18:40,028 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 18:18:40,028 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 18:18:40,028 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 18:18:40,029 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 18:18:40,029 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 18:18:40,029 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 18:18:40,029 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 -> 1924d97c04cfa5367e34b409aac63a4fd986c243eb4aa0af30578d8598fbdf71 [2022-02-20 18:18:40,214 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 18:18:40,230 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 18:18:40,233 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 18:18:40,234 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 18:18:40,239 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 18:18:40,241 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/systemc/pc_sfifo_1.cil-2.c [2022-02-20 18:18:40,295 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/95c7802d8/837102955f604c82adc9da0099332dfd/FLAGecc8381da [2022-02-20 18:18:40,599 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 18:18:40,600 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/systemc/pc_sfifo_1.cil-2.c [2022-02-20 18:18:40,608 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/95c7802d8/837102955f604c82adc9da0099332dfd/FLAGecc8381da [2022-02-20 18:18:41,019 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/95c7802d8/837102955f604c82adc9da0099332dfd [2022-02-20 18:18:41,021 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 18:18:41,022 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 18:18:41,023 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 18:18:41,024 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 18:18:41,028 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 18:18:41,029 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,030 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@217a741e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41, skipping insertion in model container [2022-02-20 18:18:41,032 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,038 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 18:18:41,068 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 18:18:41,193 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/systemc/pc_sfifo_1.cil-2.c[642,655] [2022-02-20 18:18:41,232 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:41,241 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 18:18:41,250 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/systemc/pc_sfifo_1.cil-2.c[642,655] [2022-02-20 18:18:41,271 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 18:18:41,290 INFO L208 MainTranslator]: Completed translation [2022-02-20 18:18:41,290 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41 WrapperNode [2022-02-20 18:18:41,291 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 18:18:41,292 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 18:18:41,292 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 18:18:41,292 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 18:18:41,297 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,303 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,332 INFO L137 Inliner]: procedures = 24, calls = 22, calls flagged for inlining = 11, calls inlined = 11, statements flattened = 202 [2022-02-20 18:18:41,333 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 18:18:41,334 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 18:18:41,334 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 18:18:41,334 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 18:18:41,342 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,342 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,344 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,345 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,353 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,364 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,370 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,379 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 18:18:41,380 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 18:18:41,383 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 18:18:41,383 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 18:18:41,385 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (1/1) ... [2022-02-20 18:18:41,391 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 18:18:41,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:41,416 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 18:18:41,429 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 18:18:41,457 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 18:18:41,459 INFO L130 BoogieDeclarations]: Found specification of procedure exists_runnable_thread [2022-02-20 18:18:41,459 INFO L138 BoogieDeclarations]: Found implementation of procedure exists_runnable_thread [2022-02-20 18:18:41,460 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 18:18:41,460 INFO L130 BoogieDeclarations]: Found specification of procedure error [2022-02-20 18:18:41,460 INFO L138 BoogieDeclarations]: Found implementation of procedure error [2022-02-20 18:18:41,460 INFO L130 BoogieDeclarations]: Found specification of procedure immediate_notify_threads [2022-02-20 18:18:41,460 INFO L138 BoogieDeclarations]: Found implementation of procedure immediate_notify_threads [2022-02-20 18:18:41,461 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 18:18:41,461 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 18:18:41,552 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 18:18:41,554 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 18:18:41,842 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 18:18:41,848 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 18:18:41,849 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 18:18:41,850 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:41 BoogieIcfgContainer [2022-02-20 18:18:41,850 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 18:18:41,852 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 18:18:41,852 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 18:18:41,855 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 18:18:41,855 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 06:18:41" (1/3) ... [2022-02-20 18:18:41,855 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7943a82 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:18:41, skipping insertion in model container [2022-02-20 18:18:41,856 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 06:18:41" (2/3) ... [2022-02-20 18:18:41,856 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7943a82 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 06:18:41, skipping insertion in model container [2022-02-20 18:18:41,856 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:41" (3/3) ... [2022-02-20 18:18:41,857 INFO L111 eAbstractionObserver]: Analyzing ICFG pc_sfifo_1.cil-2.c [2022-02-20 18:18:41,861 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 18:18:41,861 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 18:18:41,898 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 18:18:41,904 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 18:18:41,904 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 18:18:41,923 INFO L276 IsEmpty]: Start isEmpty. Operand has 74 states, 63 states have (on average 1.5396825396825398) internal successors, (97), 66 states have internal predecessors, (97), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 18:18:41,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 18:18:41,929 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:41,930 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] [2022-02-20 18:18:41,930 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:41,934 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:41,935 INFO L85 PathProgramCache]: Analyzing trace with hash -21131724, now seen corresponding path program 1 times [2022-02-20 18:18:41,942 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:41,943 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [76105105] [2022-02-20 18:18:41,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:41,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:42,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:42,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:42,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:42,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {77#true} havoc ~__retres1~2; {77#true} is VALID [2022-02-20 18:18:42,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {77#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {79#(= ~p_dw_st~0 0)} #res := ~__retres1~2; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {79#(= ~p_dw_st~0 0)} assume true; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,214 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79#(= ~p_dw_st~0 0)} {79#(= ~p_dw_st~0 0)} #251#return; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-02-20 18:18:42,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:42,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {77#true} is VALID [2022-02-20 18:18:42,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {77#true} assume 1 == ~p_dw_pc~0; {77#true} is VALID [2022-02-20 18:18:42,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {77#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {77#true} is VALID [2022-02-20 18:18:42,264 INFO L290 TraceCheckUtils]: 3: Hoare triple {77#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {77#true} is VALID [2022-02-20 18:18:42,264 INFO L290 TraceCheckUtils]: 4: Hoare triple {77#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {77#true} is VALID [2022-02-20 18:18:42,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {77#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {77#true} is VALID [2022-02-20 18:18:42,265 INFO L290 TraceCheckUtils]: 6: Hoare triple {77#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {77#true} is VALID [2022-02-20 18:18:42,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {77#true} assume !(1 == ~c_dr_pc~0); {77#true} is VALID [2022-02-20 18:18:42,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {77#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {77#true} is VALID [2022-02-20 18:18:42,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {77#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {77#true} is VALID [2022-02-20 18:18:42,266 INFO L290 TraceCheckUtils]: 10: Hoare triple {77#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {77#true} is VALID [2022-02-20 18:18:42,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {77#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {77#true} is VALID [2022-02-20 18:18:42,267 INFO L290 TraceCheckUtils]: 12: Hoare triple {77#true} assume true; {77#true} is VALID [2022-02-20 18:18:42,267 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {77#true} {78#false} #255#return; {78#false} is VALID [2022-02-20 18:18:42,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {77#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;~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; {77#true} is VALID [2022-02-20 18:18:42,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {77#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {77#true} is VALID [2022-02-20 18:18:42,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {77#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {77#true} is VALID [2022-02-20 18:18:42,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {77#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,270 INFO L290 TraceCheckUtils]: 4: Hoare triple {79#(= ~p_dw_st~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {79#(= ~p_dw_st~0 0)} assume { :end_inline_init_threads } true; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {79#(= ~p_dw_st~0 0)} assume !false; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {79#(= ~p_dw_st~0 0)} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {79#(= ~p_dw_st~0 0)} assume !false; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,274 INFO L272 TraceCheckUtils]: 9: Hoare triple {79#(= ~p_dw_st~0 0)} call eval_#t~ret7#1 := exists_runnable_thread(); {77#true} is VALID [2022-02-20 18:18:42,274 INFO L290 TraceCheckUtils]: 10: Hoare triple {77#true} havoc ~__retres1~2; {77#true} is VALID [2022-02-20 18:18:42,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {77#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,275 INFO L290 TraceCheckUtils]: 12: Hoare triple {79#(= ~p_dw_st~0 0)} #res := ~__retres1~2; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {79#(= ~p_dw_st~0 0)} assume true; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,276 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {79#(= ~p_dw_st~0 0)} {79#(= ~p_dw_st~0 0)} #251#return; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {79#(= ~p_dw_st~0 0)} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,279 INFO L290 TraceCheckUtils]: 16: Hoare triple {79#(= ~p_dw_st~0 0)} assume 0 != eval_~tmp___1~0#1; {79#(= ~p_dw_st~0 0)} is VALID [2022-02-20 18:18:42,280 INFO L290 TraceCheckUtils]: 17: Hoare triple {79#(= ~p_dw_st~0 0)} assume !(0 == ~p_dw_st~0); {78#false} is VALID [2022-02-20 18:18:42,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {78#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {78#false} is VALID [2022-02-20 18:18:42,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {78#false} assume 0 != eval_~tmp___0~1#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; {78#false} is VALID [2022-02-20 18:18:42,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {78#false} assume 0 == ~c_dr_pc~0; {78#false} is VALID [2022-02-20 18:18:42,281 INFO L290 TraceCheckUtils]: 21: Hoare triple {78#false} assume !false; {78#false} is VALID [2022-02-20 18:18:42,281 INFO L290 TraceCheckUtils]: 22: Hoare triple {78#false} assume !(1 == ~q_free~0); {78#false} is VALID [2022-02-20 18:18:42,281 INFO L290 TraceCheckUtils]: 23: Hoare triple {78#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_read_ev~0 := 1; {78#false} is VALID [2022-02-20 18:18:42,282 INFO L272 TraceCheckUtils]: 24: Hoare triple {78#false} call immediate_notify_threads(); {99#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:42,282 INFO L290 TraceCheckUtils]: 25: Hoare triple {99#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {77#true} is VALID [2022-02-20 18:18:42,282 INFO L290 TraceCheckUtils]: 26: Hoare triple {77#true} assume 1 == ~p_dw_pc~0; {77#true} is VALID [2022-02-20 18:18:42,283 INFO L290 TraceCheckUtils]: 27: Hoare triple {77#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {77#true} is VALID [2022-02-20 18:18:42,283 INFO L290 TraceCheckUtils]: 28: Hoare triple {77#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {77#true} is VALID [2022-02-20 18:18:42,284 INFO L290 TraceCheckUtils]: 29: Hoare triple {77#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {77#true} is VALID [2022-02-20 18:18:42,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {77#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {77#true} is VALID [2022-02-20 18:18:42,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {77#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {77#true} is VALID [2022-02-20 18:18:42,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {77#true} assume !(1 == ~c_dr_pc~0); {77#true} is VALID [2022-02-20 18:18:42,288 INFO L290 TraceCheckUtils]: 33: Hoare triple {77#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {77#true} is VALID [2022-02-20 18:18:42,288 INFO L290 TraceCheckUtils]: 34: Hoare triple {77#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {77#true} is VALID [2022-02-20 18:18:42,288 INFO L290 TraceCheckUtils]: 35: Hoare triple {77#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {77#true} is VALID [2022-02-20 18:18:42,289 INFO L290 TraceCheckUtils]: 36: Hoare triple {77#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {77#true} is VALID [2022-02-20 18:18:42,289 INFO L290 TraceCheckUtils]: 37: Hoare triple {77#true} assume true; {77#true} is VALID [2022-02-20 18:18:42,289 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {77#true} {78#false} #255#return; {78#false} is VALID [2022-02-20 18:18:42,291 INFO L290 TraceCheckUtils]: 39: Hoare triple {78#false} ~q_read_ev~0 := 2; {78#false} is VALID [2022-02-20 18:18:42,291 INFO L290 TraceCheckUtils]: 40: Hoare triple {78#false} assume !(~p_last_write~0 == ~c_last_read~0); {78#false} is VALID [2022-02-20 18:18:42,292 INFO L272 TraceCheckUtils]: 41: Hoare triple {78#false} call error(); {78#false} is VALID [2022-02-20 18:18:42,292 INFO L290 TraceCheckUtils]: 42: Hoare triple {78#false} assume !false; {78#false} is VALID [2022-02-20 18:18:42,293 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 18:18:42,293 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:42,293 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [76105105] [2022-02-20 18:18:42,294 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [76105105] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:42,295 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:42,296 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 18:18:42,299 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [270632096] [2022-02-20 18:18:42,300 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:42,307 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-02-20 18:18:42,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:42,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:42,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:42,369 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 18:18:42,370 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:42,390 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 18:18:42,391 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 18:18:42,394 INFO L87 Difference]: Start difference. First operand has 74 states, 63 states have (on average 1.5396825396825398) internal successors, (97), 66 states have internal predecessors, (97), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:42,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:42,773 INFO L93 Difference]: Finished difference Result 214 states and 325 transitions. [2022-02-20 18:18:42,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:18:42,774 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 43 [2022-02-20 18:18:42,774 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:42,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:42,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 325 transitions. [2022-02-20 18:18:42,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:42,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 325 transitions. [2022-02-20 18:18:42,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 325 transitions. [2022-02-20 18:18:43,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 325 edges. 325 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:43,096 INFO L225 Difference]: With dead ends: 214 [2022-02-20 18:18:43,097 INFO L226 Difference]: Without dead ends: 138 [2022-02-20 18:18:43,099 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:43,102 INFO L933 BasicCegarLoop]: 132 mSDtfsCounter, 104 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 267 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:43,103 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [105 Valid, 267 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:18:43,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-02-20 18:18:43,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 132. [2022-02-20 18:18:43,138 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:43,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 132 states, 116 states have (on average 1.3793103448275863) internal successors, (160), 118 states have internal predecessors, (160), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:18:43,141 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 132 states, 116 states have (on average 1.3793103448275863) internal successors, (160), 118 states have internal predecessors, (160), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:18:43,142 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 132 states, 116 states have (on average 1.3793103448275863) internal successors, (160), 118 states have internal predecessors, (160), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:18:43,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:43,154 INFO L93 Difference]: Finished difference Result 138 states and 190 transitions. [2022-02-20 18:18:43,154 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 190 transitions. [2022-02-20 18:18:43,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:43,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:43,157 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 116 states have (on average 1.3793103448275863) internal successors, (160), 118 states have internal predecessors, (160), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 138 states. [2022-02-20 18:18:43,158 INFO L87 Difference]: Start difference. First operand has 132 states, 116 states have (on average 1.3793103448275863) internal successors, (160), 118 states have internal predecessors, (160), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) Second operand 138 states. [2022-02-20 18:18:43,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:43,166 INFO L93 Difference]: Finished difference Result 138 states and 190 transitions. [2022-02-20 18:18:43,166 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 190 transitions. [2022-02-20 18:18:43,168 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:43,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:43,168 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:43,168 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:43,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 116 states have (on average 1.3793103448275863) internal successors, (160), 118 states have internal predecessors, (160), 10 states have call successors, (10), 5 states have call predecessors, (10), 5 states have return successors, (14), 8 states have call predecessors, (14), 8 states have call successors, (14) [2022-02-20 18:18:43,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 184 transitions. [2022-02-20 18:18:43,183 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 184 transitions. Word has length 43 [2022-02-20 18:18:43,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:43,183 INFO L470 AbstractCegarLoop]: Abstraction has 132 states and 184 transitions. [2022-02-20 18:18:43,184 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.5) internal successors, (38), 3 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:43,184 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 184 transitions. [2022-02-20 18:18:43,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-02-20 18:18:43,187 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:43,187 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] [2022-02-20 18:18:43,187 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 18:18:43,187 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:43,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:43,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1928738726, now seen corresponding path program 1 times [2022-02-20 18:18:43,188 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:43,189 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1234210119] [2022-02-20 18:18:43,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:43,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:43,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:43,241 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:43,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:43,248 INFO L290 TraceCheckUtils]: 0: Hoare triple {863#true} havoc ~__retres1~2; {863#true} is VALID [2022-02-20 18:18:43,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {863#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {863#true} is VALID [2022-02-20 18:18:43,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {863#true} #res := ~__retres1~2; {863#true} is VALID [2022-02-20 18:18:43,248 INFO L290 TraceCheckUtils]: 3: Hoare triple {863#true} assume true; {863#true} is VALID [2022-02-20 18:18:43,249 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {863#true} {865#(= ~q_free~0 1)} #251#return; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-02-20 18:18:43,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:43,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {885#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {863#true} is VALID [2022-02-20 18:18:43,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {863#true} assume 1 == ~p_dw_pc~0; {863#true} is VALID [2022-02-20 18:18:43,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {863#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {863#true} is VALID [2022-02-20 18:18:43,266 INFO L290 TraceCheckUtils]: 3: Hoare triple {863#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {863#true} is VALID [2022-02-20 18:18:43,266 INFO L290 TraceCheckUtils]: 4: Hoare triple {863#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {863#true} is VALID [2022-02-20 18:18:43,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {863#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {863#true} is VALID [2022-02-20 18:18:43,267 INFO L290 TraceCheckUtils]: 6: Hoare triple {863#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {863#true} is VALID [2022-02-20 18:18:43,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {863#true} assume !(1 == ~c_dr_pc~0); {863#true} is VALID [2022-02-20 18:18:43,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {863#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {863#true} is VALID [2022-02-20 18:18:43,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {863#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {863#true} is VALID [2022-02-20 18:18:43,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {863#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {863#true} is VALID [2022-02-20 18:18:43,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {863#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {863#true} is VALID [2022-02-20 18:18:43,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {863#true} assume true; {863#true} is VALID [2022-02-20 18:18:43,269 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {863#true} {864#false} #255#return; {864#false} is VALID [2022-02-20 18:18:43,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {863#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;~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; {863#true} is VALID [2022-02-20 18:18:43,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {863#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {865#(= ~q_free~0 1)} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,270 INFO L290 TraceCheckUtils]: 3: Hoare triple {865#(= ~q_free~0 1)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,271 INFO L290 TraceCheckUtils]: 4: Hoare triple {865#(= ~q_free~0 1)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,271 INFO L290 TraceCheckUtils]: 5: Hoare triple {865#(= ~q_free~0 1)} assume { :end_inline_init_threads } true; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,272 INFO L290 TraceCheckUtils]: 6: Hoare triple {865#(= ~q_free~0 1)} assume !false; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {865#(= ~q_free~0 1)} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {865#(= ~q_free~0 1)} assume !false; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,273 INFO L272 TraceCheckUtils]: 9: Hoare triple {865#(= ~q_free~0 1)} call eval_#t~ret7#1 := exists_runnable_thread(); {863#true} is VALID [2022-02-20 18:18:43,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {863#true} havoc ~__retres1~2; {863#true} is VALID [2022-02-20 18:18:43,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {863#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {863#true} is VALID [2022-02-20 18:18:43,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {863#true} #res := ~__retres1~2; {863#true} is VALID [2022-02-20 18:18:43,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {863#true} assume true; {863#true} is VALID [2022-02-20 18:18:43,274 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {863#true} {865#(= ~q_free~0 1)} #251#return; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {865#(= ~q_free~0 1)} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {865#(= ~q_free~0 1)} assume 0 != eval_~tmp___1~0#1; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,276 INFO L290 TraceCheckUtils]: 17: Hoare triple {865#(= ~q_free~0 1)} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {865#(= ~q_free~0 1)} assume !(0 != eval_~tmp~1#1); {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {865#(= ~q_free~0 1)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {865#(= ~q_free~0 1)} assume 0 != eval_~tmp___0~1#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; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,278 INFO L290 TraceCheckUtils]: 21: Hoare triple {865#(= ~q_free~0 1)} assume 0 == ~c_dr_pc~0; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,278 INFO L290 TraceCheckUtils]: 22: Hoare triple {865#(= ~q_free~0 1)} assume !false; {865#(= ~q_free~0 1)} is VALID [2022-02-20 18:18:43,278 INFO L290 TraceCheckUtils]: 23: Hoare triple {865#(= ~q_free~0 1)} assume !(1 == ~q_free~0); {864#false} is VALID [2022-02-20 18:18:43,279 INFO L290 TraceCheckUtils]: 24: Hoare triple {864#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_read_ev~0 := 1; {864#false} is VALID [2022-02-20 18:18:43,279 INFO L272 TraceCheckUtils]: 25: Hoare triple {864#false} call immediate_notify_threads(); {885#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:43,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {885#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {863#true} is VALID [2022-02-20 18:18:43,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {863#true} assume 1 == ~p_dw_pc~0; {863#true} is VALID [2022-02-20 18:18:43,280 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {863#true} is VALID [2022-02-20 18:18:43,280 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {863#true} is VALID [2022-02-20 18:18:43,280 INFO L290 TraceCheckUtils]: 30: Hoare triple {863#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {863#true} is VALID [2022-02-20 18:18:43,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {863#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {863#true} is VALID [2022-02-20 18:18:43,280 INFO L290 TraceCheckUtils]: 32: Hoare triple {863#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {863#true} is VALID [2022-02-20 18:18:43,281 INFO L290 TraceCheckUtils]: 33: Hoare triple {863#true} assume !(1 == ~c_dr_pc~0); {863#true} is VALID [2022-02-20 18:18:43,281 INFO L290 TraceCheckUtils]: 34: Hoare triple {863#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {863#true} is VALID [2022-02-20 18:18:43,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {863#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {863#true} is VALID [2022-02-20 18:18:43,281 INFO L290 TraceCheckUtils]: 36: Hoare triple {863#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {863#true} is VALID [2022-02-20 18:18:43,282 INFO L290 TraceCheckUtils]: 37: Hoare triple {863#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {863#true} is VALID [2022-02-20 18:18:43,282 INFO L290 TraceCheckUtils]: 38: Hoare triple {863#true} assume true; {863#true} is VALID [2022-02-20 18:18:43,282 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {863#true} {864#false} #255#return; {864#false} is VALID [2022-02-20 18:18:43,282 INFO L290 TraceCheckUtils]: 40: Hoare triple {864#false} ~q_read_ev~0 := 2; {864#false} is VALID [2022-02-20 18:18:43,282 INFO L290 TraceCheckUtils]: 41: Hoare triple {864#false} assume !(~p_last_write~0 == ~c_last_read~0); {864#false} is VALID [2022-02-20 18:18:43,283 INFO L272 TraceCheckUtils]: 42: Hoare triple {864#false} call error(); {864#false} is VALID [2022-02-20 18:18:43,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {864#false} assume !false; {864#false} is VALID [2022-02-20 18:18:43,283 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 18:18:43,284 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:43,284 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1234210119] [2022-02-20 18:18:43,284 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1234210119] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:43,284 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:43,284 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 18:18:43,285 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [562929971] [2022-02-20 18:18:43,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:43,286 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 44 [2022-02-20 18:18:43,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:43,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:43,317 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:43,318 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 18:18:43,318 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:43,319 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 18:18:43,319 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 18:18:43,319 INFO L87 Difference]: Start difference. First operand 132 states and 184 transitions. Second operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:43,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:43,630 INFO L93 Difference]: Finished difference Result 380 states and 524 transitions. [2022-02-20 18:18:43,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:18:43,631 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 44 [2022-02-20 18:18:43,631 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:43,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:43,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 272 transitions. [2022-02-20 18:18:43,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:43,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 272 transitions. [2022-02-20 18:18:43,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 272 transitions. [2022-02-20 18:18:43,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:43,865 INFO L225 Difference]: With dead ends: 380 [2022-02-20 18:18:43,865 INFO L226 Difference]: Without dead ends: 256 [2022-02-20 18:18:43,866 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:43,867 INFO L933 BasicCegarLoop]: 140 mSDtfsCounter, 100 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 279 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:43,867 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 279 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:43,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 256 states. [2022-02-20 18:18:43,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 256 to 199. [2022-02-20 18:18:43,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:43,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 256 states. Second operand has 199 states, 177 states have (on average 1.3785310734463276) internal successors, (244), 179 states have internal predecessors, (244), 13 states have call successors, (13), 8 states have call predecessors, (13), 8 states have return successors, (17), 11 states have call predecessors, (17), 11 states have call successors, (17) [2022-02-20 18:18:43,911 INFO L74 IsIncluded]: Start isIncluded. First operand 256 states. Second operand has 199 states, 177 states have (on average 1.3785310734463276) internal successors, (244), 179 states have internal predecessors, (244), 13 states have call successors, (13), 8 states have call predecessors, (13), 8 states have return successors, (17), 11 states have call predecessors, (17), 11 states have call successors, (17) [2022-02-20 18:18:43,912 INFO L87 Difference]: Start difference. First operand 256 states. Second operand has 199 states, 177 states have (on average 1.3785310734463276) internal successors, (244), 179 states have internal predecessors, (244), 13 states have call successors, (13), 8 states have call predecessors, (13), 8 states have return successors, (17), 11 states have call predecessors, (17), 11 states have call successors, (17) [2022-02-20 18:18:43,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:43,940 INFO L93 Difference]: Finished difference Result 256 states and 348 transitions. [2022-02-20 18:18:43,940 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 348 transitions. [2022-02-20 18:18:43,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:43,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:43,943 INFO L74 IsIncluded]: Start isIncluded. First operand has 199 states, 177 states have (on average 1.3785310734463276) internal successors, (244), 179 states have internal predecessors, (244), 13 states have call successors, (13), 8 states have call predecessors, (13), 8 states have return successors, (17), 11 states have call predecessors, (17), 11 states have call successors, (17) Second operand 256 states. [2022-02-20 18:18:43,944 INFO L87 Difference]: Start difference. First operand has 199 states, 177 states have (on average 1.3785310734463276) internal successors, (244), 179 states have internal predecessors, (244), 13 states have call successors, (13), 8 states have call predecessors, (13), 8 states have return successors, (17), 11 states have call predecessors, (17), 11 states have call successors, (17) Second operand 256 states. [2022-02-20 18:18:43,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:43,958 INFO L93 Difference]: Finished difference Result 256 states and 348 transitions. [2022-02-20 18:18:43,958 INFO L276 IsEmpty]: Start isEmpty. Operand 256 states and 348 transitions. [2022-02-20 18:18:43,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:43,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:43,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:43,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:43,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 199 states, 177 states have (on average 1.3785310734463276) internal successors, (244), 179 states have internal predecessors, (244), 13 states have call successors, (13), 8 states have call predecessors, (13), 8 states have return successors, (17), 11 states have call predecessors, (17), 11 states have call successors, (17) [2022-02-20 18:18:43,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 274 transitions. [2022-02-20 18:18:43,979 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 274 transitions. Word has length 44 [2022-02-20 18:18:43,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:43,980 INFO L470 AbstractCegarLoop]: Abstraction has 199 states and 274 transitions. [2022-02-20 18:18:43,981 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:43,981 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 274 transitions. [2022-02-20 18:18:43,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-02-20 18:18:43,985 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:43,985 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] [2022-02-20 18:18:43,985 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 18:18:43,986 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:43,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:43,986 INFO L85 PathProgramCache]: Analyzing trace with hash 1081871109, now seen corresponding path program 1 times [2022-02-20 18:18:43,987 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:43,987 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [369836819] [2022-02-20 18:18:43,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:43,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:44,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:44,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {2195#true} havoc ~__retres1~2; {2195#true} is VALID [2022-02-20 18:18:44,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {2195#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {2195#true} is VALID [2022-02-20 18:18:44,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {2195#true} #res := ~__retres1~2; {2195#true} is VALID [2022-02-20 18:18:44,049 INFO L290 TraceCheckUtils]: 3: Hoare triple {2195#true} assume true; {2195#true} is VALID [2022-02-20 18:18:44,049 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {2195#true} {2197#(= ~c_dr_pc~0 0)} #251#return; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 25 [2022-02-20 18:18:44,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {2217#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {2195#true} is VALID [2022-02-20 18:18:44,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {2195#true} assume 1 == ~p_dw_pc~0; {2195#true} is VALID [2022-02-20 18:18:44,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {2195#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {2195#true} is VALID [2022-02-20 18:18:44,077 INFO L290 TraceCheckUtils]: 3: Hoare triple {2195#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {2195#true} is VALID [2022-02-20 18:18:44,077 INFO L290 TraceCheckUtils]: 4: Hoare triple {2195#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {2195#true} is VALID [2022-02-20 18:18:44,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {2195#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {2195#true} is VALID [2022-02-20 18:18:44,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {2195#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {2195#true} is VALID [2022-02-20 18:18:44,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {2195#true} assume !(1 == ~c_dr_pc~0); {2195#true} is VALID [2022-02-20 18:18:44,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {2195#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {2195#true} is VALID [2022-02-20 18:18:44,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {2195#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {2195#true} is VALID [2022-02-20 18:18:44,078 INFO L290 TraceCheckUtils]: 10: Hoare triple {2195#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {2195#true} is VALID [2022-02-20 18:18:44,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {2195#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {2195#true} is VALID [2022-02-20 18:18:44,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {2195#true} assume true; {2195#true} is VALID [2022-02-20 18:18:44,079 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {2195#true} {2196#false} #255#return; {2196#false} is VALID [2022-02-20 18:18:44,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {2195#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;~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; {2195#true} is VALID [2022-02-20 18:18:44,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {2195#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,081 INFO L290 TraceCheckUtils]: 3: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,081 INFO L290 TraceCheckUtils]: 4: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,082 INFO L290 TraceCheckUtils]: 5: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume { :end_inline_init_threads } true; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,082 INFO L290 TraceCheckUtils]: 6: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume !false; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,082 INFO L290 TraceCheckUtils]: 7: Hoare triple {2197#(= ~c_dr_pc~0 0)} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume !false; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,083 INFO L272 TraceCheckUtils]: 9: Hoare triple {2197#(= ~c_dr_pc~0 0)} call eval_#t~ret7#1 := exists_runnable_thread(); {2195#true} is VALID [2022-02-20 18:18:44,083 INFO L290 TraceCheckUtils]: 10: Hoare triple {2195#true} havoc ~__retres1~2; {2195#true} is VALID [2022-02-20 18:18:44,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {2195#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {2195#true} is VALID [2022-02-20 18:18:44,084 INFO L290 TraceCheckUtils]: 12: Hoare triple {2195#true} #res := ~__retres1~2; {2195#true} is VALID [2022-02-20 18:18:44,084 INFO L290 TraceCheckUtils]: 13: Hoare triple {2195#true} assume true; {2195#true} is VALID [2022-02-20 18:18:44,085 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2195#true} {2197#(= ~c_dr_pc~0 0)} #251#return; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume 0 != eval_~tmp___1~0#1; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,086 INFO L290 TraceCheckUtils]: 17: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,086 INFO L290 TraceCheckUtils]: 18: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume !(0 != eval_~tmp~1#1); {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume 0 != eval_~tmp___0~1#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; {2197#(= ~c_dr_pc~0 0)} is VALID [2022-02-20 18:18:44,087 INFO L290 TraceCheckUtils]: 21: Hoare triple {2197#(= ~c_dr_pc~0 0)} assume !(0 == ~c_dr_pc~0); {2196#false} is VALID [2022-02-20 18:18:44,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {2196#false} assume 1 == ~c_dr_pc~0; {2196#false} is VALID [2022-02-20 18:18:44,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {2196#false} do_read_c_~a~0#1 := ~a_t~0; {2196#false} is VALID [2022-02-20 18:18:44,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {2196#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_read_ev~0 := 1; {2196#false} is VALID [2022-02-20 18:18:44,088 INFO L272 TraceCheckUtils]: 25: Hoare triple {2196#false} call immediate_notify_threads(); {2217#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:44,089 INFO L290 TraceCheckUtils]: 26: Hoare triple {2217#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {2195#true} is VALID [2022-02-20 18:18:44,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {2195#true} assume 1 == ~p_dw_pc~0; {2195#true} is VALID [2022-02-20 18:18:44,089 INFO L290 TraceCheckUtils]: 28: Hoare triple {2195#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {2195#true} is VALID [2022-02-20 18:18:44,103 INFO L290 TraceCheckUtils]: 29: Hoare triple {2195#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {2195#true} is VALID [2022-02-20 18:18:44,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {2195#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {2195#true} is VALID [2022-02-20 18:18:44,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {2195#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {2195#true} is VALID [2022-02-20 18:18:44,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {2195#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {2195#true} is VALID [2022-02-20 18:18:44,104 INFO L290 TraceCheckUtils]: 33: Hoare triple {2195#true} assume !(1 == ~c_dr_pc~0); {2195#true} is VALID [2022-02-20 18:18:44,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {2195#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {2195#true} is VALID [2022-02-20 18:18:44,105 INFO L290 TraceCheckUtils]: 35: Hoare triple {2195#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {2195#true} is VALID [2022-02-20 18:18:44,105 INFO L290 TraceCheckUtils]: 36: Hoare triple {2195#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {2195#true} is VALID [2022-02-20 18:18:44,105 INFO L290 TraceCheckUtils]: 37: Hoare triple {2195#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {2195#true} is VALID [2022-02-20 18:18:44,105 INFO L290 TraceCheckUtils]: 38: Hoare triple {2195#true} assume true; {2195#true} is VALID [2022-02-20 18:18:44,106 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2195#true} {2196#false} #255#return; {2196#false} is VALID [2022-02-20 18:18:44,106 INFO L290 TraceCheckUtils]: 40: Hoare triple {2196#false} ~q_read_ev~0 := 2; {2196#false} is VALID [2022-02-20 18:18:44,106 INFO L290 TraceCheckUtils]: 41: Hoare triple {2196#false} assume !(~p_last_write~0 == ~c_last_read~0); {2196#false} is VALID [2022-02-20 18:18:44,106 INFO L272 TraceCheckUtils]: 42: Hoare triple {2196#false} call error(); {2196#false} is VALID [2022-02-20 18:18:44,106 INFO L290 TraceCheckUtils]: 43: Hoare triple {2196#false} assume !false; {2196#false} is VALID [2022-02-20 18:18:44,107 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 18:18:44,107 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:44,107 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [369836819] [2022-02-20 18:18:44,107 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [369836819] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:44,108 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:44,108 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 18:18:44,108 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1129366675] [2022-02-20 18:18:44,108 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:44,120 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 44 [2022-02-20 18:18:44,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:44,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:44,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:44,152 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 18:18:44,152 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:44,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 18:18:44,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 18:18:44,154 INFO L87 Difference]: Start difference. First operand 199 states and 274 transitions. Second operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:44,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:44,447 INFO L93 Difference]: Finished difference Result 607 states and 833 transitions. [2022-02-20 18:18:44,448 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:18:44,448 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 44 [2022-02-20 18:18:44,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:44,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:44,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 283 transitions. [2022-02-20 18:18:44,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:44,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 283 transitions. [2022-02-20 18:18:44,456 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 283 transitions. [2022-02-20 18:18:44,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 283 edges. 283 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:44,666 INFO L225 Difference]: With dead ends: 607 [2022-02-20 18:18:44,666 INFO L226 Difference]: Without dead ends: 416 [2022-02-20 18:18:44,668 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:44,669 INFO L933 BasicCegarLoop]: 115 mSDtfsCounter, 117 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 63 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:44,670 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 253 Invalid, 63 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:44,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 416 states. [2022-02-20 18:18:44,695 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 416 to 364. [2022-02-20 18:18:44,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:44,697 INFO L82 GeneralOperation]: Start isEquivalent. First operand 416 states. Second operand has 364 states, 323 states have (on average 1.3436532507739938) internal successors, (434), 328 states have internal predecessors, (434), 24 states have call successors, (24), 15 states have call predecessors, (24), 16 states have return successors, (34), 20 states have call predecessors, (34), 22 states have call successors, (34) [2022-02-20 18:18:44,698 INFO L74 IsIncluded]: Start isIncluded. First operand 416 states. Second operand has 364 states, 323 states have (on average 1.3436532507739938) internal successors, (434), 328 states have internal predecessors, (434), 24 states have call successors, (24), 15 states have call predecessors, (24), 16 states have return successors, (34), 20 states have call predecessors, (34), 22 states have call successors, (34) [2022-02-20 18:18:44,699 INFO L87 Difference]: Start difference. First operand 416 states. Second operand has 364 states, 323 states have (on average 1.3436532507739938) internal successors, (434), 328 states have internal predecessors, (434), 24 states have call successors, (24), 15 states have call predecessors, (24), 16 states have return successors, (34), 20 states have call predecessors, (34), 22 states have call successors, (34) [2022-02-20 18:18:44,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:44,715 INFO L93 Difference]: Finished difference Result 416 states and 555 transitions. [2022-02-20 18:18:44,715 INFO L276 IsEmpty]: Start isEmpty. Operand 416 states and 555 transitions. [2022-02-20 18:18:44,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:44,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:44,718 INFO L74 IsIncluded]: Start isIncluded. First operand has 364 states, 323 states have (on average 1.3436532507739938) internal successors, (434), 328 states have internal predecessors, (434), 24 states have call successors, (24), 15 states have call predecessors, (24), 16 states have return successors, (34), 20 states have call predecessors, (34), 22 states have call successors, (34) Second operand 416 states. [2022-02-20 18:18:44,719 INFO L87 Difference]: Start difference. First operand has 364 states, 323 states have (on average 1.3436532507739938) internal successors, (434), 328 states have internal predecessors, (434), 24 states have call successors, (24), 15 states have call predecessors, (24), 16 states have return successors, (34), 20 states have call predecessors, (34), 22 states have call successors, (34) Second operand 416 states. [2022-02-20 18:18:44,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:44,743 INFO L93 Difference]: Finished difference Result 416 states and 555 transitions. [2022-02-20 18:18:44,743 INFO L276 IsEmpty]: Start isEmpty. Operand 416 states and 555 transitions. [2022-02-20 18:18:44,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:44,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:44,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:44,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:44,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 364 states, 323 states have (on average 1.3436532507739938) internal successors, (434), 328 states have internal predecessors, (434), 24 states have call successors, (24), 15 states have call predecessors, (24), 16 states have return successors, (34), 20 states have call predecessors, (34), 22 states have call successors, (34) [2022-02-20 18:18:44,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 364 states to 364 states and 492 transitions. [2022-02-20 18:18:44,761 INFO L78 Accepts]: Start accepts. Automaton has 364 states and 492 transitions. Word has length 44 [2022-02-20 18:18:44,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:44,761 INFO L470 AbstractCegarLoop]: Abstraction has 364 states and 492 transitions. [2022-02-20 18:18:44,762 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 9.75) internal successors, (39), 3 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 18:18:44,762 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 492 transitions. [2022-02-20 18:18:44,763 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-02-20 18:18:44,763 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:44,763 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:44,764 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 18:18:44,764 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:44,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:44,764 INFO L85 PathProgramCache]: Analyzing trace with hash -1162995804, now seen corresponding path program 1 times [2022-02-20 18:18:44,765 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:44,765 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1555112196] [2022-02-20 18:18:44,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:44,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:44,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:44,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {4382#true} havoc ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {4382#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {4382#true} is VALID [2022-02-20 18:18:44,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {4382#true} #res := ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,831 INFO L290 TraceCheckUtils]: 3: Hoare triple {4382#true} assume true; {4382#true} is VALID [2022-02-20 18:18:44,831 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4382#true} {4382#true} #251#return; {4382#true} is VALID [2022-02-20 18:18:44,831 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 26 [2022-02-20 18:18:44,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,840 INFO L290 TraceCheckUtils]: 0: Hoare triple {4382#true} havoc ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {4382#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {4382#true} is VALID [2022-02-20 18:18:44,840 INFO L290 TraceCheckUtils]: 2: Hoare triple {4382#true} #res := ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,841 INFO L290 TraceCheckUtils]: 3: Hoare triple {4382#true} assume true; {4382#true} is VALID [2022-02-20 18:18:44,841 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4382#true} {4389#(= ~c_dr_st~0 2)} #251#return; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,845 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-02-20 18:18:44,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:44,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {4409#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {4382#true} is VALID [2022-02-20 18:18:44,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {4382#true} assume 1 == ~p_dw_pc~0; {4382#true} is VALID [2022-02-20 18:18:44,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {4382#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {4382#true} is VALID [2022-02-20 18:18:44,855 INFO L290 TraceCheckUtils]: 3: Hoare triple {4382#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {4382#true} is VALID [2022-02-20 18:18:44,855 INFO L290 TraceCheckUtils]: 4: Hoare triple {4382#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {4382#true} is VALID [2022-02-20 18:18:44,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {4382#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {4382#true} is VALID [2022-02-20 18:18:44,855 INFO L290 TraceCheckUtils]: 6: Hoare triple {4382#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {4382#true} is VALID [2022-02-20 18:18:44,856 INFO L290 TraceCheckUtils]: 7: Hoare triple {4382#true} assume !(1 == ~c_dr_pc~0); {4382#true} is VALID [2022-02-20 18:18:44,856 INFO L290 TraceCheckUtils]: 8: Hoare triple {4382#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {4382#true} is VALID [2022-02-20 18:18:44,856 INFO L290 TraceCheckUtils]: 9: Hoare triple {4382#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {4382#true} is VALID [2022-02-20 18:18:44,856 INFO L290 TraceCheckUtils]: 10: Hoare triple {4382#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {4382#true} is VALID [2022-02-20 18:18:44,856 INFO L290 TraceCheckUtils]: 11: Hoare triple {4382#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {4382#true} is VALID [2022-02-20 18:18:44,857 INFO L290 TraceCheckUtils]: 12: Hoare triple {4382#true} assume true; {4382#true} is VALID [2022-02-20 18:18:44,857 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {4382#true} {4383#false} #255#return; {4383#false} is VALID [2022-02-20 18:18:44,857 INFO L290 TraceCheckUtils]: 0: Hoare triple {4382#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;~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; {4382#true} is VALID [2022-02-20 18:18:44,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {4382#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {4382#true} is VALID [2022-02-20 18:18:44,857 INFO L290 TraceCheckUtils]: 2: Hoare triple {4382#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {4382#true} is VALID [2022-02-20 18:18:44,858 INFO L290 TraceCheckUtils]: 3: Hoare triple {4382#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {4382#true} is VALID [2022-02-20 18:18:44,858 INFO L290 TraceCheckUtils]: 4: Hoare triple {4382#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {4382#true} is VALID [2022-02-20 18:18:44,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {4382#true} assume { :end_inline_init_threads } true; {4382#true} is VALID [2022-02-20 18:18:44,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {4382#true} assume !false; {4382#true} is VALID [2022-02-20 18:18:44,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {4382#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {4382#true} is VALID [2022-02-20 18:18:44,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {4382#true} assume !false; {4382#true} is VALID [2022-02-20 18:18:44,859 INFO L272 TraceCheckUtils]: 9: Hoare triple {4382#true} call eval_#t~ret7#1 := exists_runnable_thread(); {4382#true} is VALID [2022-02-20 18:18:44,859 INFO L290 TraceCheckUtils]: 10: Hoare triple {4382#true} havoc ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,859 INFO L290 TraceCheckUtils]: 11: Hoare triple {4382#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {4382#true} is VALID [2022-02-20 18:18:44,859 INFO L290 TraceCheckUtils]: 12: Hoare triple {4382#true} #res := ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {4382#true} assume true; {4382#true} is VALID [2022-02-20 18:18:44,860 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {4382#true} {4382#true} #251#return; {4382#true} is VALID [2022-02-20 18:18:44,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {4382#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {4382#true} is VALID [2022-02-20 18:18:44,860 INFO L290 TraceCheckUtils]: 16: Hoare triple {4382#true} assume 0 != eval_~tmp___1~0#1; {4382#true} is VALID [2022-02-20 18:18:44,860 INFO L290 TraceCheckUtils]: 17: Hoare triple {4382#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {4382#true} is VALID [2022-02-20 18:18:44,861 INFO L290 TraceCheckUtils]: 18: Hoare triple {4382#true} assume !(0 != eval_~tmp~1#1); {4382#true} is VALID [2022-02-20 18:18:44,861 INFO L290 TraceCheckUtils]: 19: Hoare triple {4382#true} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {4382#true} is VALID [2022-02-20 18:18:44,861 INFO L290 TraceCheckUtils]: 20: Hoare triple {4382#true} assume 0 != eval_~tmp___0~1#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; {4382#true} is VALID [2022-02-20 18:18:44,861 INFO L290 TraceCheckUtils]: 21: Hoare triple {4382#true} assume 0 == ~c_dr_pc~0; {4382#true} is VALID [2022-02-20 18:18:44,861 INFO L290 TraceCheckUtils]: 22: Hoare triple {4382#true} assume !false; {4382#true} is VALID [2022-02-20 18:18:44,862 INFO L290 TraceCheckUtils]: 23: Hoare triple {4382#true} assume 1 == ~q_free~0;~c_dr_st~0 := 2;~c_dr_pc~0 := 1;~a_t~0 := do_read_c_~a~0#1; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,862 INFO L290 TraceCheckUtils]: 24: Hoare triple {4389#(= ~c_dr_st~0 2)} assume { :end_inline_do_read_c } true; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,863 INFO L290 TraceCheckUtils]: 25: Hoare triple {4389#(= ~c_dr_st~0 2)} assume !false; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,863 INFO L272 TraceCheckUtils]: 26: Hoare triple {4389#(= ~c_dr_st~0 2)} call eval_#t~ret7#1 := exists_runnable_thread(); {4382#true} is VALID [2022-02-20 18:18:44,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {4382#true} havoc ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {4382#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {4382#true} is VALID [2022-02-20 18:18:44,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {4382#true} #res := ~__retres1~2; {4382#true} is VALID [2022-02-20 18:18:44,864 INFO L290 TraceCheckUtils]: 30: Hoare triple {4382#true} assume true; {4382#true} is VALID [2022-02-20 18:18:44,864 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {4382#true} {4389#(= ~c_dr_st~0 2)} #251#return; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,865 INFO L290 TraceCheckUtils]: 32: Hoare triple {4389#(= ~c_dr_st~0 2)} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {4389#(= ~c_dr_st~0 2)} assume 0 != eval_~tmp___1~0#1; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {4389#(= ~c_dr_st~0 2)} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,866 INFO L290 TraceCheckUtils]: 35: Hoare triple {4389#(= ~c_dr_st~0 2)} assume !(0 != eval_~tmp~1#1); {4389#(= ~c_dr_st~0 2)} is VALID [2022-02-20 18:18:44,866 INFO L290 TraceCheckUtils]: 36: Hoare triple {4389#(= ~c_dr_st~0 2)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {4383#false} is VALID [2022-02-20 18:18:44,866 INFO L290 TraceCheckUtils]: 37: Hoare triple {4383#false} assume 0 != eval_~tmp___0~1#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; {4383#false} is VALID [2022-02-20 18:18:44,867 INFO L290 TraceCheckUtils]: 38: Hoare triple {4383#false} assume !(0 == ~c_dr_pc~0); {4383#false} is VALID [2022-02-20 18:18:44,867 INFO L290 TraceCheckUtils]: 39: Hoare triple {4383#false} assume 1 == ~c_dr_pc~0; {4383#false} is VALID [2022-02-20 18:18:44,867 INFO L290 TraceCheckUtils]: 40: Hoare triple {4383#false} do_read_c_~a~0#1 := ~a_t~0; {4383#false} is VALID [2022-02-20 18:18:44,867 INFO L290 TraceCheckUtils]: 41: Hoare triple {4383#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_read_ev~0 := 1; {4383#false} is VALID [2022-02-20 18:18:44,867 INFO L272 TraceCheckUtils]: 42: Hoare triple {4383#false} call immediate_notify_threads(); {4409#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:44,868 INFO L290 TraceCheckUtils]: 43: Hoare triple {4409#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {4382#true} is VALID [2022-02-20 18:18:44,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {4382#true} assume 1 == ~p_dw_pc~0; {4382#true} is VALID [2022-02-20 18:18:44,868 INFO L290 TraceCheckUtils]: 45: Hoare triple {4382#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {4382#true} is VALID [2022-02-20 18:18:44,868 INFO L290 TraceCheckUtils]: 46: Hoare triple {4382#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {4382#true} is VALID [2022-02-20 18:18:44,868 INFO L290 TraceCheckUtils]: 47: Hoare triple {4382#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {4382#true} is VALID [2022-02-20 18:18:44,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {4382#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {4382#true} is VALID [2022-02-20 18:18:44,869 INFO L290 TraceCheckUtils]: 49: Hoare triple {4382#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {4382#true} is VALID [2022-02-20 18:18:44,869 INFO L290 TraceCheckUtils]: 50: Hoare triple {4382#true} assume !(1 == ~c_dr_pc~0); {4382#true} is VALID [2022-02-20 18:18:44,869 INFO L290 TraceCheckUtils]: 51: Hoare triple {4382#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {4382#true} is VALID [2022-02-20 18:18:44,869 INFO L290 TraceCheckUtils]: 52: Hoare triple {4382#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {4382#true} is VALID [2022-02-20 18:18:44,870 INFO L290 TraceCheckUtils]: 53: Hoare triple {4382#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {4382#true} is VALID [2022-02-20 18:18:44,870 INFO L290 TraceCheckUtils]: 54: Hoare triple {4382#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {4382#true} is VALID [2022-02-20 18:18:44,870 INFO L290 TraceCheckUtils]: 55: Hoare triple {4382#true} assume true; {4382#true} is VALID [2022-02-20 18:18:44,870 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4382#true} {4383#false} #255#return; {4383#false} is VALID [2022-02-20 18:18:44,870 INFO L290 TraceCheckUtils]: 57: Hoare triple {4383#false} ~q_read_ev~0 := 2; {4383#false} is VALID [2022-02-20 18:18:44,871 INFO L290 TraceCheckUtils]: 58: Hoare triple {4383#false} assume !(~p_last_write~0 == ~c_last_read~0); {4383#false} is VALID [2022-02-20 18:18:44,871 INFO L272 TraceCheckUtils]: 59: Hoare triple {4383#false} call error(); {4383#false} is VALID [2022-02-20 18:18:44,871 INFO L290 TraceCheckUtils]: 60: Hoare triple {4383#false} assume !false; {4383#false} is VALID [2022-02-20 18:18:44,871 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 18:18:44,872 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:44,872 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1555112196] [2022-02-20 18:18:44,872 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1555112196] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:44,872 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:44,872 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 18:18:44,873 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1935400904] [2022-02-20 18:18:44,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:44,873 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 61 [2022-02-20 18:18:44,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:44,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:44,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:44,908 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 18:18:44,908 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:44,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 18:18:44,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 18:18:44,909 INFO L87 Difference]: Start difference. First operand 364 states and 492 transitions. Second operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:45,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:45,248 INFO L93 Difference]: Finished difference Result 948 states and 1277 transitions. [2022-02-20 18:18:45,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:18:45,249 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 61 [2022-02-20 18:18:45,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:45,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:45,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 270 transitions. [2022-02-20 18:18:45,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:45,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 270 transitions. [2022-02-20 18:18:45,279 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 270 transitions. [2022-02-20 18:18:45,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 270 edges. 270 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:45,490 INFO L225 Difference]: With dead ends: 948 [2022-02-20 18:18:45,490 INFO L226 Difference]: Without dead ends: 592 [2022-02-20 18:18:45,491 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:45,492 INFO L933 BasicCegarLoop]: 164 mSDtfsCounter, 84 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 334 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:45,493 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 334 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 18:18:45,494 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 592 states. [2022-02-20 18:18:45,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 592 to 554. [2022-02-20 18:18:45,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:45,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 592 states. Second operand has 554 states, 489 states have (on average 1.296523517382413) internal successors, (634), 496 states have internal predecessors, (634), 38 states have call successors, (38), 23 states have call predecessors, (38), 26 states have return successors, (58), 34 states have call predecessors, (58), 36 states have call successors, (58) [2022-02-20 18:18:45,523 INFO L74 IsIncluded]: Start isIncluded. First operand 592 states. Second operand has 554 states, 489 states have (on average 1.296523517382413) internal successors, (634), 496 states have internal predecessors, (634), 38 states have call successors, (38), 23 states have call predecessors, (38), 26 states have return successors, (58), 34 states have call predecessors, (58), 36 states have call successors, (58) [2022-02-20 18:18:45,525 INFO L87 Difference]: Start difference. First operand 592 states. Second operand has 554 states, 489 states have (on average 1.296523517382413) internal successors, (634), 496 states have internal predecessors, (634), 38 states have call successors, (38), 23 states have call predecessors, (38), 26 states have return successors, (58), 34 states have call predecessors, (58), 36 states have call successors, (58) [2022-02-20 18:18:45,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:45,547 INFO L93 Difference]: Finished difference Result 592 states and 776 transitions. [2022-02-20 18:18:45,547 INFO L276 IsEmpty]: Start isEmpty. Operand 592 states and 776 transitions. [2022-02-20 18:18:45,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:45,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:45,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 554 states, 489 states have (on average 1.296523517382413) internal successors, (634), 496 states have internal predecessors, (634), 38 states have call successors, (38), 23 states have call predecessors, (38), 26 states have return successors, (58), 34 states have call predecessors, (58), 36 states have call successors, (58) Second operand 592 states. [2022-02-20 18:18:45,552 INFO L87 Difference]: Start difference. First operand has 554 states, 489 states have (on average 1.296523517382413) internal successors, (634), 496 states have internal predecessors, (634), 38 states have call successors, (38), 23 states have call predecessors, (38), 26 states have return successors, (58), 34 states have call predecessors, (58), 36 states have call successors, (58) Second operand 592 states. [2022-02-20 18:18:45,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:45,573 INFO L93 Difference]: Finished difference Result 592 states and 776 transitions. [2022-02-20 18:18:45,574 INFO L276 IsEmpty]: Start isEmpty. Operand 592 states and 776 transitions. [2022-02-20 18:18:45,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:45,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:45,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:45,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:45,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 554 states, 489 states have (on average 1.296523517382413) internal successors, (634), 496 states have internal predecessors, (634), 38 states have call successors, (38), 23 states have call predecessors, (38), 26 states have return successors, (58), 34 states have call predecessors, (58), 36 states have call successors, (58) [2022-02-20 18:18:45,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 554 states to 554 states and 730 transitions. [2022-02-20 18:18:45,600 INFO L78 Accepts]: Start accepts. Automaton has 554 states and 730 transitions. Word has length 61 [2022-02-20 18:18:45,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:45,601 INFO L470 AbstractCegarLoop]: Abstraction has 554 states and 730 transitions. [2022-02-20 18:18:45,601 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.5) internal successors, (50), 3 states have internal predecessors, (50), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:45,601 INFO L276 IsEmpty]: Start isEmpty. Operand 554 states and 730 transitions. [2022-02-20 18:18:45,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-02-20 18:18:45,603 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:45,603 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:45,603 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 18:18:45,603 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:45,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:45,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1047893343, now seen corresponding path program 1 times [2022-02-20 18:18:45,604 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:45,604 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2111851501] [2022-02-20 18:18:45,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:45,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:45,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:45,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:45,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:45,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {7672#true} havoc ~__retres1~2; {7672#true} is VALID [2022-02-20 18:18:45,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {7672#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {7672#true} is VALID [2022-02-20 18:18:45,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {7672#true} #res := ~__retres1~2; {7672#true} is VALID [2022-02-20 18:18:45,646 INFO L290 TraceCheckUtils]: 3: Hoare triple {7672#true} assume true; {7672#true} is VALID [2022-02-20 18:18:45,647 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7672#true} {7674#(= ~p_dw_pc~0 0)} #251#return; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,651 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-02-20 18:18:45,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:45,659 INFO L290 TraceCheckUtils]: 0: Hoare triple {7708#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {7672#true} assume 1 == ~p_dw_pc~0; {7672#true} is VALID [2022-02-20 18:18:45,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {7672#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {7672#true} is VALID [2022-02-20 18:18:45,659 INFO L290 TraceCheckUtils]: 3: Hoare triple {7672#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,660 INFO L290 TraceCheckUtils]: 4: Hoare triple {7672#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {7672#true} is VALID [2022-02-20 18:18:45,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {7672#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,660 INFO L290 TraceCheckUtils]: 6: Hoare triple {7672#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {7672#true} assume !(1 == ~c_dr_pc~0); {7672#true} is VALID [2022-02-20 18:18:45,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {7672#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {7672#true} is VALID [2022-02-20 18:18:45,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {7672#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,661 INFO L290 TraceCheckUtils]: 10: Hoare triple {7672#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {7672#true} is VALID [2022-02-20 18:18:45,661 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,661 INFO L290 TraceCheckUtils]: 12: Hoare triple {7672#true} assume true; {7672#true} is VALID [2022-02-20 18:18:45,661 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {7672#true} {7673#false} #253#return; {7673#false} is VALID [2022-02-20 18:18:45,662 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-02-20 18:18:45,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:45,670 INFO L290 TraceCheckUtils]: 0: Hoare triple {7708#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {7672#true} assume 1 == ~p_dw_pc~0; {7672#true} is VALID [2022-02-20 18:18:45,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {7672#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {7672#true} is VALID [2022-02-20 18:18:45,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {7672#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {7672#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {7672#true} is VALID [2022-02-20 18:18:45,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {7672#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,671 INFO L290 TraceCheckUtils]: 6: Hoare triple {7672#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {7672#true} assume !(1 == ~c_dr_pc~0); {7672#true} is VALID [2022-02-20 18:18:45,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {7672#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {7672#true} is VALID [2022-02-20 18:18:45,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {7672#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,672 INFO L290 TraceCheckUtils]: 10: Hoare triple {7672#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {7672#true} is VALID [2022-02-20 18:18:45,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,672 INFO L290 TraceCheckUtils]: 12: Hoare triple {7672#true} assume true; {7672#true} is VALID [2022-02-20 18:18:45,672 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {7672#true} {7673#false} #255#return; {7673#false} is VALID [2022-02-20 18:18:45,673 INFO L290 TraceCheckUtils]: 0: Hoare triple {7672#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;~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; {7672#true} is VALID [2022-02-20 18:18:45,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {7672#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,674 INFO L290 TraceCheckUtils]: 3: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,674 INFO L290 TraceCheckUtils]: 4: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume { :end_inline_init_threads } true; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume !false; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {7674#(= ~p_dw_pc~0 0)} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume !false; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,676 INFO L272 TraceCheckUtils]: 9: Hoare triple {7674#(= ~p_dw_pc~0 0)} call eval_#t~ret7#1 := exists_runnable_thread(); {7672#true} is VALID [2022-02-20 18:18:45,676 INFO L290 TraceCheckUtils]: 10: Hoare triple {7672#true} havoc ~__retres1~2; {7672#true} is VALID [2022-02-20 18:18:45,676 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {7672#true} is VALID [2022-02-20 18:18:45,677 INFO L290 TraceCheckUtils]: 12: Hoare triple {7672#true} #res := ~__retres1~2; {7672#true} is VALID [2022-02-20 18:18:45,677 INFO L290 TraceCheckUtils]: 13: Hoare triple {7672#true} assume true; {7672#true} is VALID [2022-02-20 18:18:45,677 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {7672#true} {7674#(= ~p_dw_pc~0 0)} #251#return; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,678 INFO L290 TraceCheckUtils]: 16: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume 0 != eval_~tmp___1~0#1; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,678 INFO L290 TraceCheckUtils]: 17: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {7674#(= ~p_dw_pc~0 0)} is VALID [2022-02-20 18:18:45,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {7674#(= ~p_dw_pc~0 0)} assume !(0 == ~p_dw_pc~0); {7673#false} is VALID [2022-02-20 18:18:45,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {7673#false} assume 1 == ~p_dw_pc~0; {7673#false} is VALID [2022-02-20 18:18:45,680 INFO L290 TraceCheckUtils]: 21: Hoare triple {7673#false} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {7673#false} is VALID [2022-02-20 18:18:45,680 INFO L272 TraceCheckUtils]: 22: Hoare triple {7673#false} call immediate_notify_threads(); {7708#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:45,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {7708#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,680 INFO L290 TraceCheckUtils]: 24: Hoare triple {7672#true} assume 1 == ~p_dw_pc~0; {7672#true} is VALID [2022-02-20 18:18:45,680 INFO L290 TraceCheckUtils]: 25: Hoare triple {7672#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {7672#true} is VALID [2022-02-20 18:18:45,681 INFO L290 TraceCheckUtils]: 26: Hoare triple {7672#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,681 INFO L290 TraceCheckUtils]: 27: Hoare triple {7672#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {7672#true} is VALID [2022-02-20 18:18:45,681 INFO L290 TraceCheckUtils]: 28: Hoare triple {7672#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,681 INFO L290 TraceCheckUtils]: 29: Hoare triple {7672#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,681 INFO L290 TraceCheckUtils]: 30: Hoare triple {7672#true} assume !(1 == ~c_dr_pc~0); {7672#true} is VALID [2022-02-20 18:18:45,682 INFO L290 TraceCheckUtils]: 31: Hoare triple {7672#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {7672#true} is VALID [2022-02-20 18:18:45,682 INFO L290 TraceCheckUtils]: 32: Hoare triple {7672#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,682 INFO L290 TraceCheckUtils]: 33: Hoare triple {7672#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {7672#true} is VALID [2022-02-20 18:18:45,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {7672#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {7672#true} assume true; {7672#true} is VALID [2022-02-20 18:18:45,682 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7672#true} {7673#false} #253#return; {7673#false} is VALID [2022-02-20 18:18:45,683 INFO L290 TraceCheckUtils]: 37: Hoare triple {7673#false} ~q_write_ev~0 := 2; {7673#false} is VALID [2022-02-20 18:18:45,683 INFO L290 TraceCheckUtils]: 38: Hoare triple {7673#false} assume !false; {7673#false} is VALID [2022-02-20 18:18:45,683 INFO L290 TraceCheckUtils]: 39: Hoare triple {7673#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {7673#false} is VALID [2022-02-20 18:18:45,683 INFO L290 TraceCheckUtils]: 40: Hoare triple {7673#false} assume { :end_inline_do_write_p } true; {7673#false} is VALID [2022-02-20 18:18:45,683 INFO L290 TraceCheckUtils]: 41: Hoare triple {7673#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {7673#false} is VALID [2022-02-20 18:18:45,684 INFO L290 TraceCheckUtils]: 42: Hoare triple {7673#false} assume 0 != eval_~tmp___0~1#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; {7673#false} is VALID [2022-02-20 18:18:45,684 INFO L290 TraceCheckUtils]: 43: Hoare triple {7673#false} assume 0 == ~c_dr_pc~0; {7673#false} is VALID [2022-02-20 18:18:45,684 INFO L290 TraceCheckUtils]: 44: Hoare triple {7673#false} assume !false; {7673#false} is VALID [2022-02-20 18:18:45,684 INFO L290 TraceCheckUtils]: 45: Hoare triple {7673#false} assume !(1 == ~q_free~0); {7673#false} is VALID [2022-02-20 18:18:45,684 INFO L290 TraceCheckUtils]: 46: Hoare triple {7673#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_read_ev~0 := 1; {7673#false} is VALID [2022-02-20 18:18:45,685 INFO L272 TraceCheckUtils]: 47: Hoare triple {7673#false} call immediate_notify_threads(); {7708#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:45,685 INFO L290 TraceCheckUtils]: 48: Hoare triple {7708#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,685 INFO L290 TraceCheckUtils]: 49: Hoare triple {7672#true} assume 1 == ~p_dw_pc~0; {7672#true} is VALID [2022-02-20 18:18:45,685 INFO L290 TraceCheckUtils]: 50: Hoare triple {7672#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {7672#true} is VALID [2022-02-20 18:18:45,685 INFO L290 TraceCheckUtils]: 51: Hoare triple {7672#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {7672#true} is VALID [2022-02-20 18:18:45,685 INFO L290 TraceCheckUtils]: 52: Hoare triple {7672#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {7672#true} is VALID [2022-02-20 18:18:45,686 INFO L290 TraceCheckUtils]: 53: Hoare triple {7672#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,686 INFO L290 TraceCheckUtils]: 54: Hoare triple {7672#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,686 INFO L290 TraceCheckUtils]: 55: Hoare triple {7672#true} assume !(1 == ~c_dr_pc~0); {7672#true} is VALID [2022-02-20 18:18:45,686 INFO L290 TraceCheckUtils]: 56: Hoare triple {7672#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {7672#true} is VALID [2022-02-20 18:18:45,686 INFO L290 TraceCheckUtils]: 57: Hoare triple {7672#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {7672#true} is VALID [2022-02-20 18:18:45,687 INFO L290 TraceCheckUtils]: 58: Hoare triple {7672#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {7672#true} is VALID [2022-02-20 18:18:45,687 INFO L290 TraceCheckUtils]: 59: Hoare triple {7672#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {7672#true} is VALID [2022-02-20 18:18:45,687 INFO L290 TraceCheckUtils]: 60: Hoare triple {7672#true} assume true; {7672#true} is VALID [2022-02-20 18:18:45,687 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7672#true} {7673#false} #255#return; {7673#false} is VALID [2022-02-20 18:18:45,687 INFO L290 TraceCheckUtils]: 62: Hoare triple {7673#false} ~q_read_ev~0 := 2; {7673#false} is VALID [2022-02-20 18:18:45,688 INFO L290 TraceCheckUtils]: 63: Hoare triple {7673#false} assume !(~p_last_write~0 == ~c_last_read~0); {7673#false} is VALID [2022-02-20 18:18:45,688 INFO L272 TraceCheckUtils]: 64: Hoare triple {7673#false} call error(); {7673#false} is VALID [2022-02-20 18:18:45,688 INFO L290 TraceCheckUtils]: 65: Hoare triple {7673#false} assume !false; {7673#false} is VALID [2022-02-20 18:18:45,688 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-20 18:18:45,688 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:45,689 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2111851501] [2022-02-20 18:18:45,689 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2111851501] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:45,689 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 18:18:45,689 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 18:18:45,689 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [813444345] [2022-02-20 18:18:45,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:45,690 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 66 [2022-02-20 18:18:45,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:45,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:18:45,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:45,725 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 18:18:45,726 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:45,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 18:18:45,727 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 18:18:45,728 INFO L87 Difference]: Start difference. First operand 554 states and 730 transitions. Second operand has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:18:46,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:46,042 INFO L93 Difference]: Finished difference Result 1207 states and 1583 transitions. [2022-02-20 18:18:46,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 18:18:46,042 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 66 [2022-02-20 18:18:46,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:46,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:18:46,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 268 transitions. [2022-02-20 18:18:46,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:18:46,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 268 transitions. [2022-02-20 18:18:46,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 268 transitions. [2022-02-20 18:18:46,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:46,275 INFO L225 Difference]: With dead ends: 1207 [2022-02-20 18:18:46,275 INFO L226 Difference]: Without dead ends: 753 [2022-02-20 18:18:46,277 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 18:18:46,283 INFO L933 BasicCegarLoop]: 110 mSDtfsCounter, 104 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:46,284 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [105 Valid, 250 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:46,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 753 states. [2022-02-20 18:18:46,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 753 to 698. [2022-02-20 18:18:46,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:46,328 INFO L82 GeneralOperation]: Start isEquivalent. First operand 753 states. Second operand has 698 states, 617 states have (on average 1.2722852512155591) internal successors, (785), 626 states have internal predecessors, (785), 46 states have call successors, (46), 29 states have call predecessors, (46), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:46,330 INFO L74 IsIncluded]: Start isIncluded. First operand 753 states. Second operand has 698 states, 617 states have (on average 1.2722852512155591) internal successors, (785), 626 states have internal predecessors, (785), 46 states have call successors, (46), 29 states have call predecessors, (46), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:46,331 INFO L87 Difference]: Start difference. First operand 753 states. Second operand has 698 states, 617 states have (on average 1.2722852512155591) internal successors, (785), 626 states have internal predecessors, (785), 46 states have call successors, (46), 29 states have call predecessors, (46), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:46,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:46,362 INFO L93 Difference]: Finished difference Result 753 states and 970 transitions. [2022-02-20 18:18:46,362 INFO L276 IsEmpty]: Start isEmpty. Operand 753 states and 970 transitions. [2022-02-20 18:18:46,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:46,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:46,366 INFO L74 IsIncluded]: Start isIncluded. First operand has 698 states, 617 states have (on average 1.2722852512155591) internal successors, (785), 626 states have internal predecessors, (785), 46 states have call successors, (46), 29 states have call predecessors, (46), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) Second operand 753 states. [2022-02-20 18:18:46,368 INFO L87 Difference]: Start difference. First operand has 698 states, 617 states have (on average 1.2722852512155591) internal successors, (785), 626 states have internal predecessors, (785), 46 states have call successors, (46), 29 states have call predecessors, (46), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) Second operand 753 states. [2022-02-20 18:18:46,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:46,399 INFO L93 Difference]: Finished difference Result 753 states and 970 transitions. [2022-02-20 18:18:46,399 INFO L276 IsEmpty]: Start isEmpty. Operand 753 states and 970 transitions. [2022-02-20 18:18:46,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:46,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:46,402 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:46,402 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:46,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 698 states, 617 states have (on average 1.2722852512155591) internal successors, (785), 626 states have internal predecessors, (785), 46 states have call successors, (46), 29 states have call predecessors, (46), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:46,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 698 states to 698 states and 903 transitions. [2022-02-20 18:18:46,441 INFO L78 Accepts]: Start accepts. Automaton has 698 states and 903 transitions. Word has length 66 [2022-02-20 18:18:46,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:46,441 INFO L470 AbstractCegarLoop]: Abstraction has 698 states and 903 transitions. [2022-02-20 18:18:46,441 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 11.5) internal successors, (46), 3 states have internal predecessors, (46), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 18:18:46,442 INFO L276 IsEmpty]: Start isEmpty. Operand 698 states and 903 transitions. [2022-02-20 18:18:46,444 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-02-20 18:18:46,445 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:46,445 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:46,445 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 18:18:46,445 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:46,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:46,446 INFO L85 PathProgramCache]: Analyzing trace with hash 1099770361, now seen corresponding path program 1 times [2022-02-20 18:18:46,446 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:46,446 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [364181819] [2022-02-20 18:18:46,446 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:46,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:46,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:46,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:46,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:46,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {11859#true} havoc ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:46,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {11859#true} is VALID [2022-02-20 18:18:46,526 INFO L290 TraceCheckUtils]: 2: Hoare triple {11859#true} #res := ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:46,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:46,526 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {11859#true} {11859#true} #251#return; {11859#true} is VALID [2022-02-20 18:18:46,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:18:46,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:46,601 INFO L290 TraceCheckUtils]: 0: Hoare triple {11894#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {11859#true} assume !(1 == ~p_dw_pc~0); {11859#true} is VALID [2022-02-20 18:18:46,606 INFO L290 TraceCheckUtils]: 2: Hoare triple {11859#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {11895#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is VALID [2022-02-20 18:18:46,611 INFO L290 TraceCheckUtils]: 3: Hoare triple {11895#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11896#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} is VALID [2022-02-20 18:18:46,612 INFO L290 TraceCheckUtils]: 4: Hoare triple {11896#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11897#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} is VALID [2022-02-20 18:18:46,613 INFO L290 TraceCheckUtils]: 5: Hoare triple {11897#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11860#false} is VALID [2022-02-20 18:18:46,613 INFO L290 TraceCheckUtils]: 6: Hoare triple {11860#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11860#false} is VALID [2022-02-20 18:18:46,613 INFO L290 TraceCheckUtils]: 7: Hoare triple {11860#false} assume !(1 == ~c_dr_pc~0); {11860#false} is VALID [2022-02-20 18:18:46,613 INFO L290 TraceCheckUtils]: 8: Hoare triple {11860#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {11860#false} is VALID [2022-02-20 18:18:46,613 INFO L290 TraceCheckUtils]: 9: Hoare triple {11860#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11860#false} is VALID [2022-02-20 18:18:46,614 INFO L290 TraceCheckUtils]: 10: Hoare triple {11860#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11860#false} is VALID [2022-02-20 18:18:46,614 INFO L290 TraceCheckUtils]: 11: Hoare triple {11860#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11860#false} is VALID [2022-02-20 18:18:46,614 INFO L290 TraceCheckUtils]: 12: Hoare triple {11860#false} assume true; {11860#false} is VALID [2022-02-20 18:18:46,614 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {11860#false} {11859#true} #253#return; {11860#false} is VALID [2022-02-20 18:18:46,614 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 18:18:46,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:46,633 INFO L290 TraceCheckUtils]: 0: Hoare triple {11894#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {11859#true} assume 1 == ~p_dw_pc~0; {11859#true} is VALID [2022-02-20 18:18:46,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {11859#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {11859#true} is VALID [2022-02-20 18:18:46,633 INFO L290 TraceCheckUtils]: 3: Hoare triple {11859#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,636 INFO L290 TraceCheckUtils]: 4: Hoare triple {11859#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11859#true} is VALID [2022-02-20 18:18:46,636 INFO L290 TraceCheckUtils]: 5: Hoare triple {11859#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:46,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {11859#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:46,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {11859#true} assume !(1 == ~c_dr_pc~0); {11859#true} is VALID [2022-02-20 18:18:46,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {11859#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {11859#true} is VALID [2022-02-20 18:18:46,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {11859#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:46,637 INFO L290 TraceCheckUtils]: 10: Hoare triple {11859#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11859#true} is VALID [2022-02-20 18:18:46,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {11859#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:46,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:46,638 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {11859#true} {11860#false} #255#return; {11860#false} is VALID [2022-02-20 18:18:46,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {11859#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;~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; {11859#true} is VALID [2022-02-20 18:18:46,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {11859#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {11859#true} is VALID [2022-02-20 18:18:46,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {11859#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {11859#true} is VALID [2022-02-20 18:18:46,639 INFO L290 TraceCheckUtils]: 3: Hoare triple {11859#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:46,639 INFO L290 TraceCheckUtils]: 4: Hoare triple {11859#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:46,639 INFO L290 TraceCheckUtils]: 5: Hoare triple {11859#true} assume { :end_inline_init_threads } true; {11859#true} is VALID [2022-02-20 18:18:46,639 INFO L290 TraceCheckUtils]: 6: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:46,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {11859#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,645 INFO L290 TraceCheckUtils]: 8: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:46,645 INFO L272 TraceCheckUtils]: 9: Hoare triple {11859#true} call eval_#t~ret7#1 := exists_runnable_thread(); {11859#true} is VALID [2022-02-20 18:18:46,645 INFO L290 TraceCheckUtils]: 10: Hoare triple {11859#true} havoc ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:46,645 INFO L290 TraceCheckUtils]: 11: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {11859#true} is VALID [2022-02-20 18:18:46,645 INFO L290 TraceCheckUtils]: 12: Hoare triple {11859#true} #res := ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:46,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:46,646 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {11859#true} {11859#true} #251#return; {11859#true} is VALID [2022-02-20 18:18:46,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {11859#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {11859#true} is VALID [2022-02-20 18:18:46,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {11859#true} assume 0 != eval_~tmp___1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,646 INFO L290 TraceCheckUtils]: 17: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {11859#true} is VALID [2022-02-20 18:18:46,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {11859#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {11859#true} is VALID [2022-02-20 18:18:46,647 INFO L290 TraceCheckUtils]: 19: Hoare triple {11859#true} assume 0 == ~p_dw_pc~0; {11859#true} is VALID [2022-02-20 18:18:46,647 INFO L290 TraceCheckUtils]: 20: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:46,647 INFO L290 TraceCheckUtils]: 21: Hoare triple {11859#true} assume !(0 == ~q_free~0); {11859#true} is VALID [2022-02-20 18:18:46,647 INFO L290 TraceCheckUtils]: 22: Hoare triple {11859#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {11859#true} is VALID [2022-02-20 18:18:46,648 INFO L272 TraceCheckUtils]: 23: Hoare triple {11859#true} call immediate_notify_threads(); {11894#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:46,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {11894#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {11859#true} assume !(1 == ~p_dw_pc~0); {11859#true} is VALID [2022-02-20 18:18:46,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {11859#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {11895#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is VALID [2022-02-20 18:18:46,649 INFO L290 TraceCheckUtils]: 27: Hoare triple {11895#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11896#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} is VALID [2022-02-20 18:18:46,650 INFO L290 TraceCheckUtils]: 28: Hoare triple {11896#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11897#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} is VALID [2022-02-20 18:18:46,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {11897#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11860#false} is VALID [2022-02-20 18:18:46,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {11860#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11860#false} is VALID [2022-02-20 18:18:46,651 INFO L290 TraceCheckUtils]: 31: Hoare triple {11860#false} assume !(1 == ~c_dr_pc~0); {11860#false} is VALID [2022-02-20 18:18:46,651 INFO L290 TraceCheckUtils]: 32: Hoare triple {11860#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {11860#false} is VALID [2022-02-20 18:18:46,651 INFO L290 TraceCheckUtils]: 33: Hoare triple {11860#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11860#false} is VALID [2022-02-20 18:18:46,651 INFO L290 TraceCheckUtils]: 34: Hoare triple {11860#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11860#false} is VALID [2022-02-20 18:18:46,651 INFO L290 TraceCheckUtils]: 35: Hoare triple {11860#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11860#false} is VALID [2022-02-20 18:18:46,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {11860#false} assume true; {11860#false} is VALID [2022-02-20 18:18:46,652 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11860#false} {11859#true} #253#return; {11860#false} is VALID [2022-02-20 18:18:46,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {11860#false} ~q_write_ev~0 := 2; {11860#false} is VALID [2022-02-20 18:18:46,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {11860#false} assume !false; {11860#false} is VALID [2022-02-20 18:18:46,652 INFO L290 TraceCheckUtils]: 40: Hoare triple {11860#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {11860#false} is VALID [2022-02-20 18:18:46,652 INFO L290 TraceCheckUtils]: 41: Hoare triple {11860#false} assume { :end_inline_do_write_p } true; {11860#false} is VALID [2022-02-20 18:18:46,654 INFO L290 TraceCheckUtils]: 42: Hoare triple {11860#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {11860#false} is VALID [2022-02-20 18:18:46,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {11860#false} assume 0 != eval_~tmp___0~1#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; {11860#false} is VALID [2022-02-20 18:18:46,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {11860#false} assume 0 == ~c_dr_pc~0; {11860#false} is VALID [2022-02-20 18:18:46,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {11860#false} assume !false; {11860#false} is VALID [2022-02-20 18:18:46,655 INFO L290 TraceCheckUtils]: 46: Hoare triple {11860#false} assume !(1 == ~q_free~0); {11860#false} is VALID [2022-02-20 18:18:46,655 INFO L290 TraceCheckUtils]: 47: Hoare triple {11860#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_read_ev~0 := 1; {11860#false} is VALID [2022-02-20 18:18:46,655 INFO L272 TraceCheckUtils]: 48: Hoare triple {11860#false} call immediate_notify_threads(); {11894#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:46,656 INFO L290 TraceCheckUtils]: 49: Hoare triple {11894#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,656 INFO L290 TraceCheckUtils]: 50: Hoare triple {11859#true} assume 1 == ~p_dw_pc~0; {11859#true} is VALID [2022-02-20 18:18:46,656 INFO L290 TraceCheckUtils]: 51: Hoare triple {11859#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {11859#true} is VALID [2022-02-20 18:18:46,656 INFO L290 TraceCheckUtils]: 52: Hoare triple {11859#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:46,656 INFO L290 TraceCheckUtils]: 53: Hoare triple {11859#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11859#true} is VALID [2022-02-20 18:18:46,656 INFO L290 TraceCheckUtils]: 54: Hoare triple {11859#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:46,657 INFO L290 TraceCheckUtils]: 55: Hoare triple {11859#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:46,657 INFO L290 TraceCheckUtils]: 56: Hoare triple {11859#true} assume !(1 == ~c_dr_pc~0); {11859#true} is VALID [2022-02-20 18:18:46,657 INFO L290 TraceCheckUtils]: 57: Hoare triple {11859#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {11859#true} is VALID [2022-02-20 18:18:46,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {11859#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:46,657 INFO L290 TraceCheckUtils]: 59: Hoare triple {11859#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11859#true} is VALID [2022-02-20 18:18:46,657 INFO L290 TraceCheckUtils]: 60: Hoare triple {11859#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:46,658 INFO L290 TraceCheckUtils]: 61: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:46,658 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11859#true} {11860#false} #255#return; {11860#false} is VALID [2022-02-20 18:18:46,658 INFO L290 TraceCheckUtils]: 63: Hoare triple {11860#false} ~q_read_ev~0 := 2; {11860#false} is VALID [2022-02-20 18:18:46,658 INFO L290 TraceCheckUtils]: 64: Hoare triple {11860#false} assume !(~p_last_write~0 == ~c_last_read~0); {11860#false} is VALID [2022-02-20 18:18:46,658 INFO L272 TraceCheckUtils]: 65: Hoare triple {11860#false} call error(); {11860#false} is VALID [2022-02-20 18:18:46,658 INFO L290 TraceCheckUtils]: 66: Hoare triple {11860#false} assume !false; {11860#false} is VALID [2022-02-20 18:18:46,659 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 18:18:46,659 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:46,659 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [364181819] [2022-02-20 18:18:46,659 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [364181819] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:46,659 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [904791924] [2022-02-20 18:18:46,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:46,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:46,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:46,667 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:18:46,692 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 18:18:46,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:46,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 18:18:46,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:46,789 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:47,083 INFO L290 TraceCheckUtils]: 0: Hoare triple {11859#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;~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; {11859#true} is VALID [2022-02-20 18:18:47,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {11859#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {11859#true} is VALID [2022-02-20 18:18:47,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {11859#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {11859#true} is VALID [2022-02-20 18:18:47,084 INFO L290 TraceCheckUtils]: 3: Hoare triple {11859#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,084 INFO L290 TraceCheckUtils]: 4: Hoare triple {11859#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {11859#true} assume { :end_inline_init_threads } true; {11859#true} is VALID [2022-02-20 18:18:47,085 INFO L290 TraceCheckUtils]: 6: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:47,085 INFO L290 TraceCheckUtils]: 7: Hoare triple {11859#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:47,085 INFO L272 TraceCheckUtils]: 9: Hoare triple {11859#true} call eval_#t~ret7#1 := exists_runnable_thread(); {11859#true} is VALID [2022-02-20 18:18:47,085 INFO L290 TraceCheckUtils]: 10: Hoare triple {11859#true} havoc ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:47,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {11859#true} is VALID [2022-02-20 18:18:47,086 INFO L290 TraceCheckUtils]: 12: Hoare triple {11859#true} #res := ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:47,086 INFO L290 TraceCheckUtils]: 13: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:47,086 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {11859#true} {11859#true} #251#return; {11859#true} is VALID [2022-02-20 18:18:47,086 INFO L290 TraceCheckUtils]: 15: Hoare triple {11859#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {11859#true} is VALID [2022-02-20 18:18:47,086 INFO L290 TraceCheckUtils]: 16: Hoare triple {11859#true} assume 0 != eval_~tmp___1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {11859#true} is VALID [2022-02-20 18:18:47,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {11859#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {11859#true} is VALID [2022-02-20 18:18:47,087 INFO L290 TraceCheckUtils]: 19: Hoare triple {11859#true} assume 0 == ~p_dw_pc~0; {11859#true} is VALID [2022-02-20 18:18:47,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:47,087 INFO L290 TraceCheckUtils]: 21: Hoare triple {11859#true} assume !(0 == ~q_free~0); {11859#true} is VALID [2022-02-20 18:18:47,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {11859#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,088 INFO L272 TraceCheckUtils]: 23: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} call immediate_notify_threads(); {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,089 INFO L290 TraceCheckUtils]: 24: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,089 INFO L290 TraceCheckUtils]: 25: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !(1 == ~p_dw_pc~0); {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,090 INFO L290 TraceCheckUtils]: 26: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} is_do_write_p_triggered_~__retres1~0#1 := 0; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,090 INFO L290 TraceCheckUtils]: 27: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,091 INFO L290 TraceCheckUtils]: 28: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,091 INFO L290 TraceCheckUtils]: 29: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,092 INFO L290 TraceCheckUtils]: 30: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,094 INFO L290 TraceCheckUtils]: 31: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !(1 == ~c_dr_pc~0); {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,094 INFO L290 TraceCheckUtils]: 32: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} is_do_read_c_triggered_~__retres1~1#1 := 0; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,095 INFO L290 TraceCheckUtils]: 33: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,095 INFO L290 TraceCheckUtils]: 34: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,096 INFO L290 TraceCheckUtils]: 35: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,096 INFO L290 TraceCheckUtils]: 36: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume true; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,097 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11967#(= ~p_last_write~0 ~q_buf_0~0)} {11967#(= ~p_last_write~0 ~q_buf_0~0)} #253#return; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} ~q_write_ev~0 := 2; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,101 INFO L290 TraceCheckUtils]: 41: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume { :end_inline_do_write_p } true; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,101 INFO L290 TraceCheckUtils]: 42: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,102 INFO L290 TraceCheckUtils]: 43: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 != eval_~tmp___0~1#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; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,102 INFO L290 TraceCheckUtils]: 44: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~c_dr_pc~0; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,102 INFO L290 TraceCheckUtils]: 45: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,103 INFO L290 TraceCheckUtils]: 46: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !(1 == ~q_free~0); {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,106 INFO L290 TraceCheckUtils]: 47: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} 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_read_ev~0 := 1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,107 INFO L272 TraceCheckUtils]: 48: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} call immediate_notify_threads(); {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,108 INFO L290 TraceCheckUtils]: 49: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,108 INFO L290 TraceCheckUtils]: 50: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume 1 == ~p_dw_pc~0; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,108 INFO L290 TraceCheckUtils]: 51: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,109 INFO L290 TraceCheckUtils]: 52: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,109 INFO L290 TraceCheckUtils]: 53: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,110 INFO L290 TraceCheckUtils]: 55: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,110 INFO L290 TraceCheckUtils]: 56: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume !(1 == ~c_dr_pc~0); {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,111 INFO L290 TraceCheckUtils]: 57: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} is_do_read_c_triggered_~__retres1~1#1 := 0; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,111 INFO L290 TraceCheckUtils]: 58: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,112 INFO L290 TraceCheckUtils]: 59: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,116 INFO L290 TraceCheckUtils]: 60: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,116 INFO L290 TraceCheckUtils]: 61: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume true; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,117 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {12043#(= ~c_last_read~0 ~p_last_write~0)} {12043#(= ~c_last_read~0 ~p_last_write~0)} #255#return; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,117 INFO L290 TraceCheckUtils]: 63: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} ~q_read_ev~0 := 2; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,118 INFO L290 TraceCheckUtils]: 64: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume !(~p_last_write~0 == ~c_last_read~0); {11860#false} is VALID [2022-02-20 18:18:47,118 INFO L272 TraceCheckUtils]: 65: Hoare triple {11860#false} call error(); {11860#false} is VALID [2022-02-20 18:18:47,118 INFO L290 TraceCheckUtils]: 66: Hoare triple {11860#false} assume !false; {11860#false} is VALID [2022-02-20 18:18:47,119 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:18:47,119 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:18:47,283 INFO L290 TraceCheckUtils]: 66: Hoare triple {11860#false} assume !false; {11860#false} is VALID [2022-02-20 18:18:47,284 INFO L272 TraceCheckUtils]: 65: Hoare triple {11860#false} call error(); {11860#false} is VALID [2022-02-20 18:18:47,287 INFO L290 TraceCheckUtils]: 64: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} assume !(~p_last_write~0 == ~c_last_read~0); {11860#false} is VALID [2022-02-20 18:18:47,287 INFO L290 TraceCheckUtils]: 63: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} ~q_read_ev~0 := 2; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,288 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11859#true} {12043#(= ~c_last_read~0 ~p_last_write~0)} #255#return; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,288 INFO L290 TraceCheckUtils]: 61: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:47,288 INFO L290 TraceCheckUtils]: 60: Hoare triple {11859#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,288 INFO L290 TraceCheckUtils]: 59: Hoare triple {11859#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11859#true} is VALID [2022-02-20 18:18:47,289 INFO L290 TraceCheckUtils]: 58: Hoare triple {11859#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:47,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {11859#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {11859#true} is VALID [2022-02-20 18:18:47,289 INFO L290 TraceCheckUtils]: 56: Hoare triple {11859#true} assume !(1 == ~c_dr_pc~0); {11859#true} is VALID [2022-02-20 18:18:47,289 INFO L290 TraceCheckUtils]: 55: Hoare triple {11859#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:47,289 INFO L290 TraceCheckUtils]: 54: Hoare triple {11859#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,289 INFO L290 TraceCheckUtils]: 53: Hoare triple {11859#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11859#true} is VALID [2022-02-20 18:18:47,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {11859#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {11859#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {11859#true} is VALID [2022-02-20 18:18:47,290 INFO L290 TraceCheckUtils]: 50: Hoare triple {11859#true} assume 1 == ~p_dw_pc~0; {11859#true} is VALID [2022-02-20 18:18:47,290 INFO L290 TraceCheckUtils]: 49: Hoare triple {11859#true} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,290 INFO L272 TraceCheckUtils]: 48: Hoare triple {12043#(= ~c_last_read~0 ~p_last_write~0)} call immediate_notify_threads(); {11859#true} is VALID [2022-02-20 18:18:47,291 INFO L290 TraceCheckUtils]: 47: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} 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_read_ev~0 := 1; {12043#(= ~c_last_read~0 ~p_last_write~0)} is VALID [2022-02-20 18:18:47,291 INFO L290 TraceCheckUtils]: 46: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !(1 == ~q_free~0); {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,292 INFO L290 TraceCheckUtils]: 45: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,293 INFO L290 TraceCheckUtils]: 44: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~c_dr_pc~0; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,295 INFO L290 TraceCheckUtils]: 43: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 != eval_~tmp___0~1#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; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,296 INFO L290 TraceCheckUtils]: 41: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume { :end_inline_do_write_p } true; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,296 INFO L290 TraceCheckUtils]: 40: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,297 INFO L290 TraceCheckUtils]: 39: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} assume !false; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,297 INFO L290 TraceCheckUtils]: 38: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} ~q_write_ev~0 := 2; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,298 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11859#true} {11967#(= ~p_last_write~0 ~q_buf_0~0)} #253#return; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,298 INFO L290 TraceCheckUtils]: 36: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:47,298 INFO L290 TraceCheckUtils]: 35: Hoare triple {11859#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,298 INFO L290 TraceCheckUtils]: 34: Hoare triple {11859#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {11859#true} is VALID [2022-02-20 18:18:47,298 INFO L290 TraceCheckUtils]: 33: Hoare triple {11859#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:47,299 INFO L290 TraceCheckUtils]: 32: Hoare triple {11859#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {11859#true} is VALID [2022-02-20 18:18:47,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {11859#true} assume !(1 == ~c_dr_pc~0); {11859#true} is VALID [2022-02-20 18:18:47,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {11859#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {11859#true} is VALID [2022-02-20 18:18:47,299 INFO L290 TraceCheckUtils]: 29: Hoare triple {11859#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,299 INFO L290 TraceCheckUtils]: 28: Hoare triple {11859#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {11859#true} is VALID [2022-02-20 18:18:47,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {11859#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {11859#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {11859#true} is VALID [2022-02-20 18:18:47,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {11859#true} assume !(1 == ~p_dw_pc~0); {11859#true} is VALID [2022-02-20 18:18:47,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {11859#true} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,300 INFO L272 TraceCheckUtils]: 23: Hoare triple {11967#(= ~p_last_write~0 ~q_buf_0~0)} call immediate_notify_threads(); {11859#true} is VALID [2022-02-20 18:18:47,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {11859#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {11967#(= ~p_last_write~0 ~q_buf_0~0)} is VALID [2022-02-20 18:18:47,301 INFO L290 TraceCheckUtils]: 21: Hoare triple {11859#true} assume !(0 == ~q_free~0); {11859#true} is VALID [2022-02-20 18:18:47,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:47,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {11859#true} assume 0 == ~p_dw_pc~0; {11859#true} is VALID [2022-02-20 18:18:47,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {11859#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {11859#true} is VALID [2022-02-20 18:18:47,302 INFO L290 TraceCheckUtils]: 17: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {11859#true} is VALID [2022-02-20 18:18:47,302 INFO L290 TraceCheckUtils]: 16: Hoare triple {11859#true} assume 0 != eval_~tmp___1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,302 INFO L290 TraceCheckUtils]: 15: Hoare triple {11859#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {11859#true} is VALID [2022-02-20 18:18:47,302 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {11859#true} {11859#true} #251#return; {11859#true} is VALID [2022-02-20 18:18:47,302 INFO L290 TraceCheckUtils]: 13: Hoare triple {11859#true} assume true; {11859#true} is VALID [2022-02-20 18:18:47,302 INFO L290 TraceCheckUtils]: 12: Hoare triple {11859#true} #res := ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:47,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {11859#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {11859#true} is VALID [2022-02-20 18:18:47,303 INFO L290 TraceCheckUtils]: 10: Hoare triple {11859#true} havoc ~__retres1~2; {11859#true} is VALID [2022-02-20 18:18:47,303 INFO L272 TraceCheckUtils]: 9: Hoare triple {11859#true} call eval_#t~ret7#1 := exists_runnable_thread(); {11859#true} is VALID [2022-02-20 18:18:47,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:47,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {11859#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {11859#true} is VALID [2022-02-20 18:18:47,304 INFO L290 TraceCheckUtils]: 6: Hoare triple {11859#true} assume !false; {11859#true} is VALID [2022-02-20 18:18:47,304 INFO L290 TraceCheckUtils]: 5: Hoare triple {11859#true} assume { :end_inline_init_threads } true; {11859#true} is VALID [2022-02-20 18:18:47,304 INFO L290 TraceCheckUtils]: 4: Hoare triple {11859#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,304 INFO L290 TraceCheckUtils]: 3: Hoare triple {11859#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {11859#true} is VALID [2022-02-20 18:18:47,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {11859#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {11859#true} is VALID [2022-02-20 18:18:47,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {11859#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {11859#true} is VALID [2022-02-20 18:18:47,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {11859#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;~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; {11859#true} is VALID [2022-02-20 18:18:47,305 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-02-20 18:18:47,305 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [904791924] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:47,306 INFO L191 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-02-20 18:18:47,306 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6, 4] total 8 [2022-02-20 18:18:47,306 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1881257221] [2022-02-20 18:18:47,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:47,307 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 67 [2022-02-20 18:18:47,308 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:47,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:47,355 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:47,355 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 18:18:47,355 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:47,356 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 18:18:47,356 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 18:18:47,357 INFO L87 Difference]: Start difference. First operand 698 states and 903 transitions. Second operand has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:47,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:47,553 INFO L93 Difference]: Finished difference Result 754 states and 971 transitions. [2022-02-20 18:18:47,553 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 18:18:47,553 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 67 [2022-02-20 18:18:47,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:47,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:47,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 158 transitions. [2022-02-20 18:18:47,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:47,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 158 transitions. [2022-02-20 18:18:47,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 158 transitions. [2022-02-20 18:18:47,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:47,704 INFO L225 Difference]: With dead ends: 754 [2022-02-20 18:18:47,705 INFO L226 Difference]: Without dead ends: 751 [2022-02-20 18:18:47,706 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 139 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 18:18:47,710 INFO L933 BasicCegarLoop]: 118 mSDtfsCounter, 173 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 173 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:47,710 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [173 Valid, 185 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:47,711 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 751 states. [2022-02-20 18:18:47,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 751 to 697. [2022-02-20 18:18:47,746 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:47,747 INFO L82 GeneralOperation]: Start isEquivalent. First operand 751 states. Second operand has 697 states, 617 states have (on average 1.2690437601296596) internal successors, (783), 625 states have internal predecessors, (783), 45 states have call successors, (45), 29 states have call predecessors, (45), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:47,749 INFO L74 IsIncluded]: Start isIncluded. First operand 751 states. Second operand has 697 states, 617 states have (on average 1.2690437601296596) internal successors, (783), 625 states have internal predecessors, (783), 45 states have call successors, (45), 29 states have call predecessors, (45), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:47,750 INFO L87 Difference]: Start difference. First operand 751 states. Second operand has 697 states, 617 states have (on average 1.2690437601296596) internal successors, (783), 625 states have internal predecessors, (783), 45 states have call successors, (45), 29 states have call predecessors, (45), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:47,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:47,780 INFO L93 Difference]: Finished difference Result 751 states and 967 transitions. [2022-02-20 18:18:47,780 INFO L276 IsEmpty]: Start isEmpty. Operand 751 states and 967 transitions. [2022-02-20 18:18:47,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:47,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:47,784 INFO L74 IsIncluded]: Start isIncluded. First operand has 697 states, 617 states have (on average 1.2690437601296596) internal successors, (783), 625 states have internal predecessors, (783), 45 states have call successors, (45), 29 states have call predecessors, (45), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) Second operand 751 states. [2022-02-20 18:18:47,786 INFO L87 Difference]: Start difference. First operand has 697 states, 617 states have (on average 1.2690437601296596) internal successors, (783), 625 states have internal predecessors, (783), 45 states have call successors, (45), 29 states have call predecessors, (45), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) Second operand 751 states. [2022-02-20 18:18:47,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:47,816 INFO L93 Difference]: Finished difference Result 751 states and 967 transitions. [2022-02-20 18:18:47,816 INFO L276 IsEmpty]: Start isEmpty. Operand 751 states and 967 transitions. [2022-02-20 18:18:47,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:47,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:47,817 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:47,818 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:47,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 697 states, 617 states have (on average 1.2690437601296596) internal successors, (783), 625 states have internal predecessors, (783), 45 states have call successors, (45), 29 states have call predecessors, (45), 34 states have return successors, (72), 42 states have call predecessors, (72), 44 states have call successors, (72) [2022-02-20 18:18:47,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 697 states to 697 states and 900 transitions. [2022-02-20 18:18:47,852 INFO L78 Accepts]: Start accepts. Automaton has 697 states and 900 transitions. Word has length 67 [2022-02-20 18:18:47,852 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:47,852 INFO L470 AbstractCegarLoop]: Abstraction has 697 states and 900 transitions. [2022-02-20 18:18:47,852 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 12.25) internal successors, (49), 4 states have internal predecessors, (49), 4 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 18:18:47,852 INFO L276 IsEmpty]: Start isEmpty. Operand 697 states and 900 transitions. [2022-02-20 18:18:47,854 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-02-20 18:18:47,854 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:47,854 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:47,880 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 18:18:48,067 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 18:18:48,068 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:48,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:48,068 INFO L85 PathProgramCache]: Analyzing trace with hash -267180508, now seen corresponding path program 1 times [2022-02-20 18:18:48,068 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:48,068 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [468636105] [2022-02-20 18:18:48,069 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:48,069 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:48,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:48,113 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:48,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:48,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {15828#true} havoc ~__retres1~2; {15828#true} is VALID [2022-02-20 18:18:48,132 INFO L290 TraceCheckUtils]: 1: Hoare triple {15828#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {15828#true} is VALID [2022-02-20 18:18:48,132 INFO L290 TraceCheckUtils]: 2: Hoare triple {15828#true} #res := ~__retres1~2; {15828#true} is VALID [2022-02-20 18:18:48,132 INFO L290 TraceCheckUtils]: 3: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:48,133 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {15828#true} {15828#true} #251#return; {15828#true} is VALID [2022-02-20 18:18:48,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:18:48,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:48,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {15863#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {15828#true} assume !(1 == ~p_dw_pc~0); {15828#true} is VALID [2022-02-20 18:18:48,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {15828#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {15864#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is VALID [2022-02-20 18:18:48,197 INFO L290 TraceCheckUtils]: 3: Hoare triple {15864#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15865#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} is VALID [2022-02-20 18:18:48,198 INFO L290 TraceCheckUtils]: 4: Hoare triple {15865#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15866#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} is VALID [2022-02-20 18:18:48,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {15866#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15829#false} is VALID [2022-02-20 18:18:48,198 INFO L290 TraceCheckUtils]: 6: Hoare triple {15829#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15829#false} is VALID [2022-02-20 18:18:48,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {15829#false} assume !(1 == ~c_dr_pc~0); {15829#false} is VALID [2022-02-20 18:18:48,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {15829#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {15829#false} is VALID [2022-02-20 18:18:48,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {15829#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15829#false} is VALID [2022-02-20 18:18:48,199 INFO L290 TraceCheckUtils]: 10: Hoare triple {15829#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15829#false} is VALID [2022-02-20 18:18:48,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {15829#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15829#false} is VALID [2022-02-20 18:18:48,199 INFO L290 TraceCheckUtils]: 12: Hoare triple {15829#false} assume true; {15829#false} is VALID [2022-02-20 18:18:48,200 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {15829#false} {15828#true} #253#return; {15829#false} is VALID [2022-02-20 18:18:48,200 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 48 [2022-02-20 18:18:48,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:48,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {15863#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {15828#true} assume 1 == ~p_dw_pc~0; {15828#true} is VALID [2022-02-20 18:18:48,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {15828#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {15828#true} is VALID [2022-02-20 18:18:48,208 INFO L290 TraceCheckUtils]: 3: Hoare triple {15828#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,208 INFO L290 TraceCheckUtils]: 4: Hoare triple {15828#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15828#true} is VALID [2022-02-20 18:18:48,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {15828#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:48,209 INFO L290 TraceCheckUtils]: 6: Hoare triple {15828#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:48,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {15828#true} assume !(1 == ~c_dr_pc~0); {15828#true} is VALID [2022-02-20 18:18:48,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {15828#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {15828#true} is VALID [2022-02-20 18:18:48,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {15828#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:48,209 INFO L290 TraceCheckUtils]: 10: Hoare triple {15828#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15828#true} is VALID [2022-02-20 18:18:48,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {15828#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:48,210 INFO L290 TraceCheckUtils]: 12: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:48,215 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {15828#true} {15829#false} #255#return; {15829#false} is VALID [2022-02-20 18:18:48,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {15828#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;~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; {15828#true} is VALID [2022-02-20 18:18:48,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {15828#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {15828#true} is VALID [2022-02-20 18:18:48,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {15828#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {15828#true} is VALID [2022-02-20 18:18:48,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {15828#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:48,216 INFO L290 TraceCheckUtils]: 4: Hoare triple {15828#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:48,216 INFO L290 TraceCheckUtils]: 5: Hoare triple {15828#true} assume { :end_inline_init_threads } true; {15828#true} is VALID [2022-02-20 18:18:48,217 INFO L290 TraceCheckUtils]: 6: Hoare triple {15828#true} assume !false; {15828#true} is VALID [2022-02-20 18:18:48,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {15828#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,217 INFO L290 TraceCheckUtils]: 8: Hoare triple {15828#true} assume !false; {15828#true} is VALID [2022-02-20 18:18:48,217 INFO L272 TraceCheckUtils]: 9: Hoare triple {15828#true} call eval_#t~ret7#1 := exists_runnable_thread(); {15828#true} is VALID [2022-02-20 18:18:48,217 INFO L290 TraceCheckUtils]: 10: Hoare triple {15828#true} havoc ~__retres1~2; {15828#true} is VALID [2022-02-20 18:18:48,217 INFO L290 TraceCheckUtils]: 11: Hoare triple {15828#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L290 TraceCheckUtils]: 12: Hoare triple {15828#true} #res := ~__retres1~2; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {15828#true} {15828#true} #251#return; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L290 TraceCheckUtils]: 15: Hoare triple {15828#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L290 TraceCheckUtils]: 16: Hoare triple {15828#true} assume 0 != eval_~tmp___1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L290 TraceCheckUtils]: 17: Hoare triple {15828#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {15828#true} is VALID [2022-02-20 18:18:48,218 INFO L290 TraceCheckUtils]: 18: Hoare triple {15828#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {15828#true} is VALID [2022-02-20 18:18:48,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {15828#true} assume 0 == ~p_dw_pc~0; {15828#true} is VALID [2022-02-20 18:18:48,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {15828#true} assume !false; {15828#true} is VALID [2022-02-20 18:18:48,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {15828#true} assume !(0 == ~q_free~0); {15828#true} is VALID [2022-02-20 18:18:48,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {15828#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {15828#true} is VALID [2022-02-20 18:18:48,220 INFO L272 TraceCheckUtils]: 23: Hoare triple {15828#true} call immediate_notify_threads(); {15863#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:48,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {15863#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {15828#true} assume !(1 == ~p_dw_pc~0); {15828#true} is VALID [2022-02-20 18:18:48,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {15828#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {15864#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is VALID [2022-02-20 18:18:48,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {15864#(and (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15865#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} is VALID [2022-02-20 18:18:48,222 INFO L290 TraceCheckUtils]: 28: Hoare triple {15865#(and (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|))} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15866#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} is VALID [2022-02-20 18:18:48,222 INFO L290 TraceCheckUtils]: 29: Hoare triple {15866#(and (<= |immediate_notify_threads_~tmp~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15829#false} is VALID [2022-02-20 18:18:48,222 INFO L290 TraceCheckUtils]: 30: Hoare triple {15829#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15829#false} is VALID [2022-02-20 18:18:48,223 INFO L290 TraceCheckUtils]: 31: Hoare triple {15829#false} assume !(1 == ~c_dr_pc~0); {15829#false} is VALID [2022-02-20 18:18:48,223 INFO L290 TraceCheckUtils]: 32: Hoare triple {15829#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {15829#false} is VALID [2022-02-20 18:18:48,223 INFO L290 TraceCheckUtils]: 33: Hoare triple {15829#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15829#false} is VALID [2022-02-20 18:18:48,223 INFO L290 TraceCheckUtils]: 34: Hoare triple {15829#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15829#false} is VALID [2022-02-20 18:18:48,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {15829#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15829#false} is VALID [2022-02-20 18:18:48,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {15829#false} assume true; {15829#false} is VALID [2022-02-20 18:18:48,224 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15829#false} {15828#true} #253#return; {15829#false} is VALID [2022-02-20 18:18:48,224 INFO L290 TraceCheckUtils]: 38: Hoare triple {15829#false} ~q_write_ev~0 := 2; {15829#false} is VALID [2022-02-20 18:18:48,227 INFO L290 TraceCheckUtils]: 39: Hoare triple {15829#false} assume !false; {15829#false} is VALID [2022-02-20 18:18:48,227 INFO L290 TraceCheckUtils]: 40: Hoare triple {15829#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 41: Hoare triple {15829#false} assume { :end_inline_do_write_p } true; {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 42: Hoare triple {15829#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 43: Hoare triple {15829#false} assume 0 != eval_~tmp___0~1#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; {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 44: Hoare triple {15829#false} assume 0 == ~c_dr_pc~0; {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 45: Hoare triple {15829#false} assume !false; {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 46: Hoare triple {15829#false} assume !(1 == ~q_free~0); {15829#false} is VALID [2022-02-20 18:18:48,228 INFO L290 TraceCheckUtils]: 47: Hoare triple {15829#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_read_ev~0 := 1; {15829#false} is VALID [2022-02-20 18:18:48,229 INFO L272 TraceCheckUtils]: 48: Hoare triple {15829#false} call immediate_notify_threads(); {15863#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:48,229 INFO L290 TraceCheckUtils]: 49: Hoare triple {15863#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,229 INFO L290 TraceCheckUtils]: 50: Hoare triple {15828#true} assume 1 == ~p_dw_pc~0; {15828#true} is VALID [2022-02-20 18:18:48,229 INFO L290 TraceCheckUtils]: 51: Hoare triple {15828#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {15828#true} is VALID [2022-02-20 18:18:48,229 INFO L290 TraceCheckUtils]: 52: Hoare triple {15828#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:48,229 INFO L290 TraceCheckUtils]: 53: Hoare triple {15828#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15828#true} is VALID [2022-02-20 18:18:48,230 INFO L290 TraceCheckUtils]: 54: Hoare triple {15828#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:48,230 INFO L290 TraceCheckUtils]: 55: Hoare triple {15828#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:48,230 INFO L290 TraceCheckUtils]: 56: Hoare triple {15828#true} assume !(1 == ~c_dr_pc~0); {15828#true} is VALID [2022-02-20 18:18:48,230 INFO L290 TraceCheckUtils]: 57: Hoare triple {15828#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {15828#true} is VALID [2022-02-20 18:18:48,230 INFO L290 TraceCheckUtils]: 58: Hoare triple {15828#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:48,231 INFO L290 TraceCheckUtils]: 59: Hoare triple {15828#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15828#true} is VALID [2022-02-20 18:18:48,231 INFO L290 TraceCheckUtils]: 60: Hoare triple {15828#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:48,231 INFO L290 TraceCheckUtils]: 61: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:48,231 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15828#true} {15829#false} #255#return; {15829#false} is VALID [2022-02-20 18:18:48,231 INFO L290 TraceCheckUtils]: 63: Hoare triple {15829#false} ~q_read_ev~0 := 2; {15829#false} is VALID [2022-02-20 18:18:48,236 INFO L290 TraceCheckUtils]: 64: Hoare triple {15829#false} assume ~p_last_write~0 == ~c_last_read~0; {15829#false} is VALID [2022-02-20 18:18:48,236 INFO L290 TraceCheckUtils]: 65: Hoare triple {15829#false} assume !(~p_num_write~0 == ~c_num_read~0); {15829#false} is VALID [2022-02-20 18:18:48,236 INFO L272 TraceCheckUtils]: 66: Hoare triple {15829#false} call error(); {15829#false} is VALID [2022-02-20 18:18:48,236 INFO L290 TraceCheckUtils]: 67: Hoare triple {15829#false} assume !false; {15829#false} is VALID [2022-02-20 18:18:48,237 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 2 proven. 11 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 18:18:48,237 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:48,237 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [468636105] [2022-02-20 18:18:48,237 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [468636105] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:48,237 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1855244045] [2022-02-20 18:18:48,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:48,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:48,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:48,239 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:18:48,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 18:18:48,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:48,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 250 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 18:18:48,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:48,337 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:48,827 INFO L290 TraceCheckUtils]: 0: Hoare triple {15828#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;~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; {15828#true} is VALID [2022-02-20 18:18:48,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {15828#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,829 INFO L290 TraceCheckUtils]: 3: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,830 INFO L290 TraceCheckUtils]: 4: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume { :end_inline_init_threads } true; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,830 INFO L290 TraceCheckUtils]: 6: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume !false; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume !false; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,832 INFO L272 TraceCheckUtils]: 9: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} call eval_#t~ret7#1 := exists_runnable_thread(); {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,833 INFO L290 TraceCheckUtils]: 10: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} havoc ~__retres1~2; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,833 INFO L290 TraceCheckUtils]: 11: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} #res := ~__retres1~2; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume true; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,835 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} #251#return; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 0 != eval_~tmp___1~0#1; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,836 INFO L290 TraceCheckUtils]: 17: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,837 INFO L290 TraceCheckUtils]: 19: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume 0 == ~p_dw_pc~0; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume !false; {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,838 INFO L290 TraceCheckUtils]: 21: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume !(0 == ~q_free~0); {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} is VALID [2022-02-20 18:18:48,838 INFO L290 TraceCheckUtils]: 22: Hoare triple {15873#(and (= ~p_num_write~0 0) (= ~c_num_read~0 0))} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,839 INFO L272 TraceCheckUtils]: 23: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} call immediate_notify_threads(); {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,839 INFO L290 TraceCheckUtils]: 24: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume !(1 == ~p_dw_pc~0); {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is_do_write_p_triggered_~__retres1~0#1 := 0; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,841 INFO L290 TraceCheckUtils]: 27: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,841 INFO L290 TraceCheckUtils]: 28: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,842 INFO L290 TraceCheckUtils]: 29: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume !(1 == ~c_dr_pc~0); {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,843 INFO L290 TraceCheckUtils]: 32: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is_do_read_c_triggered_~__retres1~1#1 := 0; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,843 INFO L290 TraceCheckUtils]: 33: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,844 INFO L290 TraceCheckUtils]: 34: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,844 INFO L290 TraceCheckUtils]: 35: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume true; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,845 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} #253#return; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,846 INFO L290 TraceCheckUtils]: 38: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} ~q_write_ev~0 := 2; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,846 INFO L290 TraceCheckUtils]: 39: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume !false; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,847 INFO L290 TraceCheckUtils]: 41: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume { :end_inline_do_write_p } true; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,847 INFO L290 TraceCheckUtils]: 42: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,848 INFO L290 TraceCheckUtils]: 43: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume 0 != eval_~tmp___0~1#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; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,848 INFO L290 TraceCheckUtils]: 44: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume 0 == ~c_dr_pc~0; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,849 INFO L290 TraceCheckUtils]: 45: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume !false; {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,849 INFO L290 TraceCheckUtils]: 46: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} assume !(1 == ~q_free~0); {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,850 INFO L290 TraceCheckUtils]: 47: Hoare triple {15937#(and (= ~c_num_read~0 0) (= ~p_num_write~0 1))} 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_read_ev~0 := 1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,850 INFO L272 TraceCheckUtils]: 48: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} call immediate_notify_threads(); {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,850 INFO L290 TraceCheckUtils]: 49: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,851 INFO L290 TraceCheckUtils]: 50: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume 1 == ~p_dw_pc~0; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,851 INFO L290 TraceCheckUtils]: 51: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,852 INFO L290 TraceCheckUtils]: 52: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,852 INFO L290 TraceCheckUtils]: 53: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,853 INFO L290 TraceCheckUtils]: 54: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,853 INFO L290 TraceCheckUtils]: 55: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,854 INFO L290 TraceCheckUtils]: 56: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume !(1 == ~c_dr_pc~0); {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,854 INFO L290 TraceCheckUtils]: 57: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is_do_read_c_triggered_~__retres1~1#1 := 0; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,854 INFO L290 TraceCheckUtils]: 58: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,855 INFO L290 TraceCheckUtils]: 59: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,855 INFO L290 TraceCheckUtils]: 60: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,856 INFO L290 TraceCheckUtils]: 61: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume true; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,856 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} #255#return; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,857 INFO L290 TraceCheckUtils]: 63: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} ~q_read_ev~0 := 2; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,857 INFO L290 TraceCheckUtils]: 64: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume ~p_last_write~0 == ~c_last_read~0; {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} is VALID [2022-02-20 18:18:48,858 INFO L290 TraceCheckUtils]: 65: Hoare triple {16013#(and (= (+ (- 1) ~c_num_read~0) 0) (= ~p_num_write~0 1))} assume !(~p_num_write~0 == ~c_num_read~0); {15829#false} is VALID [2022-02-20 18:18:48,858 INFO L272 TraceCheckUtils]: 66: Hoare triple {15829#false} call error(); {15829#false} is VALID [2022-02-20 18:18:48,858 INFO L290 TraceCheckUtils]: 67: Hoare triple {15829#false} assume !false; {15829#false} is VALID [2022-02-20 18:18:48,858 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 18:18:48,859 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 18:18:49,060 INFO L290 TraceCheckUtils]: 67: Hoare triple {15829#false} assume !false; {15829#false} is VALID [2022-02-20 18:18:49,060 INFO L272 TraceCheckUtils]: 66: Hoare triple {15829#false} call error(); {15829#false} is VALID [2022-02-20 18:18:49,060 INFO L290 TraceCheckUtils]: 65: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume !(~p_num_write~0 == ~c_num_read~0); {15829#false} is VALID [2022-02-20 18:18:49,061 INFO L290 TraceCheckUtils]: 64: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume ~p_last_write~0 == ~c_last_read~0; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,061 INFO L290 TraceCheckUtils]: 63: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} ~q_read_ev~0 := 2; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,061 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {15828#true} {16080#(= ~c_num_read~0 ~p_num_write~0)} #255#return; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,061 INFO L290 TraceCheckUtils]: 61: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 60: Hoare triple {15828#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 59: Hoare triple {15828#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 58: Hoare triple {15828#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 57: Hoare triple {15828#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 56: Hoare triple {15828#true} assume !(1 == ~c_dr_pc~0); {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 55: Hoare triple {15828#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 54: Hoare triple {15828#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 53: Hoare triple {15828#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15828#true} is VALID [2022-02-20 18:18:49,062 INFO L290 TraceCheckUtils]: 52: Hoare triple {15828#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:49,063 INFO L290 TraceCheckUtils]: 51: Hoare triple {15828#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {15828#true} is VALID [2022-02-20 18:18:49,063 INFO L290 TraceCheckUtils]: 50: Hoare triple {15828#true} assume 1 == ~p_dw_pc~0; {15828#true} is VALID [2022-02-20 18:18:49,063 INFO L290 TraceCheckUtils]: 49: Hoare triple {15828#true} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:49,063 INFO L272 TraceCheckUtils]: 48: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} call immediate_notify_threads(); {15828#true} is VALID [2022-02-20 18:18:49,064 INFO L290 TraceCheckUtils]: 47: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} 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_read_ev~0 := 1; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,065 INFO L290 TraceCheckUtils]: 46: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume !(1 == ~q_free~0); {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,065 INFO L290 TraceCheckUtils]: 45: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume !false; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,065 INFO L290 TraceCheckUtils]: 44: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume 0 == ~c_dr_pc~0; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,066 INFO L290 TraceCheckUtils]: 43: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume 0 != eval_~tmp___0~1#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; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,066 INFO L290 TraceCheckUtils]: 42: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,067 INFO L290 TraceCheckUtils]: 41: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume { :end_inline_do_write_p } true; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,067 INFO L290 TraceCheckUtils]: 40: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,067 INFO L290 TraceCheckUtils]: 39: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} assume !false; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,068 INFO L290 TraceCheckUtils]: 38: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} ~q_write_ev~0 := 2; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,068 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {15828#true} {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} #253#return; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,068 INFO L290 TraceCheckUtils]: 36: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:49,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {15828#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:49,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {15828#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 33: Hoare triple {15828#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 32: Hoare triple {15828#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 31: Hoare triple {15828#true} assume !(1 == ~c_dr_pc~0); {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {15828#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 29: Hoare triple {15828#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 28: Hoare triple {15828#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {15828#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 26: Hoare triple {15828#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {15828#true} is VALID [2022-02-20 18:18:49,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {15828#true} assume !(1 == ~p_dw_pc~0); {15828#true} is VALID [2022-02-20 18:18:49,070 INFO L290 TraceCheckUtils]: 24: Hoare triple {15828#true} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {15828#true} is VALID [2022-02-20 18:18:49,070 INFO L272 TraceCheckUtils]: 23: Hoare triple {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} call immediate_notify_threads(); {15828#true} is VALID [2022-02-20 18:18:49,073 INFO L290 TraceCheckUtils]: 22: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {16135#(= (+ ~c_num_read~0 1) ~p_num_write~0)} is VALID [2022-02-20 18:18:49,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume !(0 == ~q_free~0); {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,074 INFO L290 TraceCheckUtils]: 20: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume !false; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,074 INFO L290 TraceCheckUtils]: 19: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume 0 == ~p_dw_pc~0; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,075 INFO L290 TraceCheckUtils]: 17: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume 0 != eval_~tmp___1~0#1; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,076 INFO L290 TraceCheckUtils]: 15: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,076 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {15828#true} {16080#(= ~c_num_read~0 ~p_num_write~0)} #251#return; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {15828#true} assume true; {15828#true} is VALID [2022-02-20 18:18:49,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {15828#true} #res := ~__retres1~2; {15828#true} is VALID [2022-02-20 18:18:49,077 INFO L290 TraceCheckUtils]: 11: Hoare triple {15828#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {15828#true} is VALID [2022-02-20 18:18:49,077 INFO L290 TraceCheckUtils]: 10: Hoare triple {15828#true} havoc ~__retres1~2; {15828#true} is VALID [2022-02-20 18:18:49,077 INFO L272 TraceCheckUtils]: 9: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} call eval_#t~ret7#1 := exists_runnable_thread(); {15828#true} is VALID [2022-02-20 18:18:49,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume !false; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,078 INFO L290 TraceCheckUtils]: 6: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume !false; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume { :end_inline_init_threads } true; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,079 INFO L290 TraceCheckUtils]: 4: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,079 INFO L290 TraceCheckUtils]: 3: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {16080#(= ~c_num_read~0 ~p_num_write~0)} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {15828#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {16080#(= ~c_num_read~0 ~p_num_write~0)} is VALID [2022-02-20 18:18:49,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {15828#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;~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; {15828#true} is VALID [2022-02-20 18:18:49,080 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-02-20 18:18:49,080 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1855244045] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 18:18:49,080 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 18:18:49,081 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 4] total 11 [2022-02-20 18:18:49,081 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [558892384] [2022-02-20 18:18:49,081 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 18:18:49,082 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) Word has length 68 [2022-02-20 18:18:49,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:49,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-02-20 18:18:49,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 169 edges. 169 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:49,201 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 18:18:49,202 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:49,202 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 18:18:49,202 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-02-20 18:18:49,202 INFO L87 Difference]: Start difference. First operand 697 states and 900 transitions. Second operand has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-02-20 18:18:51,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:51,954 INFO L93 Difference]: Finished difference Result 2397 states and 3120 transitions. [2022-02-20 18:18:51,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 41 states. [2022-02-20 18:18:51,955 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) Word has length 68 [2022-02-20 18:18:51,955 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:51,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-02-20 18:18:51,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 631 transitions. [2022-02-20 18:18:51,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-02-20 18:18:51,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 631 transitions. [2022-02-20 18:18:51,989 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 41 states and 631 transitions. [2022-02-20 18:18:52,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 631 edges. 631 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:52,698 INFO L225 Difference]: With dead ends: 2397 [2022-02-20 18:18:52,699 INFO L226 Difference]: Without dead ends: 1853 [2022-02-20 18:18:52,701 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 192 GetRequests, 150 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 461 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=324, Invalid=1482, Unknown=0, NotChecked=0, Total=1806 [2022-02-20 18:18:52,702 INFO L933 BasicCegarLoop]: 224 mSDtfsCounter, 526 mSDsluCounter, 1163 mSDsCounter, 0 mSdLazyCounter, 371 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 534 SdHoareTripleChecker+Valid, 1387 SdHoareTripleChecker+Invalid, 397 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 371 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:52,702 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [534 Valid, 1387 Invalid, 397 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 371 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 18:18:52,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1853 states. [2022-02-20 18:18:52,930 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1853 to 1086. [2022-02-20 18:18:52,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:52,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1853 states. Second operand has 1086 states, 967 states have (on average 1.2585315408479834) internal successors, (1217), 983 states have internal predecessors, (1217), 65 states have call successors, (65), 43 states have call predecessors, (65), 53 states have return successors, (106), 59 states have call predecessors, (106), 64 states have call successors, (106) [2022-02-20 18:18:52,934 INFO L74 IsIncluded]: Start isIncluded. First operand 1853 states. Second operand has 1086 states, 967 states have (on average 1.2585315408479834) internal successors, (1217), 983 states have internal predecessors, (1217), 65 states have call successors, (65), 43 states have call predecessors, (65), 53 states have return successors, (106), 59 states have call predecessors, (106), 64 states have call successors, (106) [2022-02-20 18:18:52,936 INFO L87 Difference]: Start difference. First operand 1853 states. Second operand has 1086 states, 967 states have (on average 1.2585315408479834) internal successors, (1217), 983 states have internal predecessors, (1217), 65 states have call successors, (65), 43 states have call predecessors, (65), 53 states have return successors, (106), 59 states have call predecessors, (106), 64 states have call successors, (106) [2022-02-20 18:18:53,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:53,098 INFO L93 Difference]: Finished difference Result 1853 states and 2346 transitions. [2022-02-20 18:18:53,098 INFO L276 IsEmpty]: Start isEmpty. Operand 1853 states and 2346 transitions. [2022-02-20 18:18:53,102 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:53,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:53,105 INFO L74 IsIncluded]: Start isIncluded. First operand has 1086 states, 967 states have (on average 1.2585315408479834) internal successors, (1217), 983 states have internal predecessors, (1217), 65 states have call successors, (65), 43 states have call predecessors, (65), 53 states have return successors, (106), 59 states have call predecessors, (106), 64 states have call successors, (106) Second operand 1853 states. [2022-02-20 18:18:53,106 INFO L87 Difference]: Start difference. First operand has 1086 states, 967 states have (on average 1.2585315408479834) internal successors, (1217), 983 states have internal predecessors, (1217), 65 states have call successors, (65), 43 states have call predecessors, (65), 53 states have return successors, (106), 59 states have call predecessors, (106), 64 states have call successors, (106) Second operand 1853 states. [2022-02-20 18:18:53,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:53,261 INFO L93 Difference]: Finished difference Result 1853 states and 2346 transitions. [2022-02-20 18:18:53,262 INFO L276 IsEmpty]: Start isEmpty. Operand 1853 states and 2346 transitions. [2022-02-20 18:18:53,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:53,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:53,266 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:53,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:53,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1086 states, 967 states have (on average 1.2585315408479834) internal successors, (1217), 983 states have internal predecessors, (1217), 65 states have call successors, (65), 43 states have call predecessors, (65), 53 states have return successors, (106), 59 states have call predecessors, (106), 64 states have call successors, (106) [2022-02-20 18:18:53,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1086 states to 1086 states and 1388 transitions. [2022-02-20 18:18:53,359 INFO L78 Accepts]: Start accepts. Automaton has 1086 states and 1388 transitions. Word has length 68 [2022-02-20 18:18:53,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:53,359 INFO L470 AbstractCegarLoop]: Abstraction has 1086 states and 1388 transitions. [2022-02-20 18:18:53,360 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 13.636363636363637) internal successors, (150), 10 states have internal predecessors, (150), 7 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (9), 7 states have call predecessors, (9), 7 states have call successors, (9) [2022-02-20 18:18:53,361 INFO L276 IsEmpty]: Start isEmpty. Operand 1086 states and 1388 transitions. [2022-02-20 18:18:53,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 88 [2022-02-20 18:18:53,363 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:53,364 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:53,389 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 18:18:53,579 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2022-02-20 18:18:53,580 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:53,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:53,580 INFO L85 PathProgramCache]: Analyzing trace with hash 235450586, now seen corresponding path program 1 times [2022-02-20 18:18:53,580 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:53,580 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1686551318] [2022-02-20 18:18:53,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:53,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:53,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,632 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:53,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {24869#true} havoc ~__retres1~2; {24869#true} is VALID [2022-02-20 18:18:53,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {24869#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {24869#true} is VALID [2022-02-20 18:18:53,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {24869#true} #res := ~__retres1~2; {24869#true} is VALID [2022-02-20 18:18:53,641 INFO L290 TraceCheckUtils]: 3: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:53,641 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {24869#true} {24869#true} #251#return; {24869#true} is VALID [2022-02-20 18:18:53,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:18:53,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,704 INFO L290 TraceCheckUtils]: 0: Hoare triple {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {24869#true} assume !(1 == ~p_dw_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {24869#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,704 INFO L290 TraceCheckUtils]: 3: Hoare triple {24869#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,705 INFO L290 TraceCheckUtils]: 4: Hoare triple {24869#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24869#true} is VALID [2022-02-20 18:18:53,705 INFO L290 TraceCheckUtils]: 5: Hoare triple {24869#true} assume !(0 != ~tmp~0#1); {24869#true} is VALID [2022-02-20 18:18:53,705 INFO L290 TraceCheckUtils]: 6: Hoare triple {24869#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,705 INFO L290 TraceCheckUtils]: 7: Hoare triple {24869#true} assume !(1 == ~c_dr_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {24869#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {24919#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is VALID [2022-02-20 18:18:53,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {24919#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24920#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} is VALID [2022-02-20 18:18:53,714 INFO L290 TraceCheckUtils]: 10: Hoare triple {24920#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24921#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} is VALID [2022-02-20 18:18:53,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {24921#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24870#false} is VALID [2022-02-20 18:18:53,715 INFO L290 TraceCheckUtils]: 12: Hoare triple {24870#false} assume true; {24870#false} is VALID [2022-02-20 18:18:53,715 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {24870#false} {24869#true} #253#return; {24870#false} is VALID [2022-02-20 18:18:53,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-02-20 18:18:53,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,723 INFO L290 TraceCheckUtils]: 0: Hoare triple {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {24869#true} assume !(1 == ~p_dw_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {24869#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,723 INFO L290 TraceCheckUtils]: 3: Hoare triple {24869#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,723 INFO L290 TraceCheckUtils]: 4: Hoare triple {24869#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24869#true} is VALID [2022-02-20 18:18:53,723 INFO L290 TraceCheckUtils]: 5: Hoare triple {24869#true} assume !(0 != ~tmp~0#1); {24869#true} is VALID [2022-02-20 18:18:53,724 INFO L290 TraceCheckUtils]: 6: Hoare triple {24869#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,724 INFO L290 TraceCheckUtils]: 7: Hoare triple {24869#true} assume !(1 == ~c_dr_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,724 INFO L290 TraceCheckUtils]: 8: Hoare triple {24869#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,724 INFO L290 TraceCheckUtils]: 9: Hoare triple {24869#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,724 INFO L290 TraceCheckUtils]: 10: Hoare triple {24869#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24869#true} is VALID [2022-02-20 18:18:53,724 INFO L290 TraceCheckUtils]: 11: Hoare triple {24869#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,725 INFO L290 TraceCheckUtils]: 12: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:53,725 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {24869#true} {24870#false} #253#return; {24870#false} is VALID [2022-02-20 18:18:53,725 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 67 [2022-02-20 18:18:53,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {24869#true} assume 1 == ~p_dw_pc~0; {24869#true} is VALID [2022-02-20 18:18:53,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {24869#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {24869#true} is VALID [2022-02-20 18:18:53,732 INFO L290 TraceCheckUtils]: 3: Hoare triple {24869#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,732 INFO L290 TraceCheckUtils]: 4: Hoare triple {24869#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24869#true} is VALID [2022-02-20 18:18:53,732 INFO L290 TraceCheckUtils]: 5: Hoare triple {24869#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 6: Hoare triple {24869#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 7: Hoare triple {24869#true} assume !(1 == ~c_dr_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 8: Hoare triple {24869#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {24869#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 10: Hoare triple {24869#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {24869#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,733 INFO L290 TraceCheckUtils]: 12: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:53,734 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {24869#true} {24870#false} #255#return; {24870#false} is VALID [2022-02-20 18:18:53,734 INFO L290 TraceCheckUtils]: 0: Hoare triple {24869#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;~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; {24869#true} is VALID [2022-02-20 18:18:53,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {24869#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {24869#true} is VALID [2022-02-20 18:18:53,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {24869#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {24869#true} is VALID [2022-02-20 18:18:53,734 INFO L290 TraceCheckUtils]: 3: Hoare triple {24869#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,734 INFO L290 TraceCheckUtils]: 4: Hoare triple {24869#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,735 INFO L290 TraceCheckUtils]: 5: Hoare triple {24869#true} assume { :end_inline_init_threads } true; {24869#true} is VALID [2022-02-20 18:18:53,735 INFO L290 TraceCheckUtils]: 6: Hoare triple {24869#true} assume !false; {24869#true} is VALID [2022-02-20 18:18:53,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {24869#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {24869#true} assume !false; {24869#true} is VALID [2022-02-20 18:18:53,735 INFO L272 TraceCheckUtils]: 9: Hoare triple {24869#true} call eval_#t~ret7#1 := exists_runnable_thread(); {24869#true} is VALID [2022-02-20 18:18:53,735 INFO L290 TraceCheckUtils]: 10: Hoare triple {24869#true} havoc ~__retres1~2; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L290 TraceCheckUtils]: 11: Hoare triple {24869#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L290 TraceCheckUtils]: 12: Hoare triple {24869#true} #res := ~__retres1~2; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {24869#true} {24869#true} #251#return; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {24869#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {24869#true} assume 0 != eval_~tmp___1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {24869#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {24869#true} is VALID [2022-02-20 18:18:53,737 INFO L290 TraceCheckUtils]: 18: Hoare triple {24869#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {24869#true} is VALID [2022-02-20 18:18:53,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {24869#true} assume 0 == ~p_dw_pc~0; {24869#true} is VALID [2022-02-20 18:18:53,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {24869#true} assume !false; {24869#true} is VALID [2022-02-20 18:18:53,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {24869#true} assume !(0 == ~q_free~0); {24869#true} is VALID [2022-02-20 18:18:53,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {24869#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {24869#true} is VALID [2022-02-20 18:18:53,738 INFO L272 TraceCheckUtils]: 23: Hoare triple {24869#true} call immediate_notify_threads(); {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:53,738 INFO L290 TraceCheckUtils]: 24: Hoare triple {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,738 INFO L290 TraceCheckUtils]: 25: Hoare triple {24869#true} assume !(1 == ~p_dw_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,738 INFO L290 TraceCheckUtils]: 26: Hoare triple {24869#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {24869#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,738 INFO L290 TraceCheckUtils]: 28: Hoare triple {24869#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24869#true} is VALID [2022-02-20 18:18:53,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {24869#true} assume !(0 != ~tmp~0#1); {24869#true} is VALID [2022-02-20 18:18:53,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {24869#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {24869#true} assume !(1 == ~c_dr_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,739 INFO L290 TraceCheckUtils]: 32: Hoare triple {24869#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {24919#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is VALID [2022-02-20 18:18:53,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {24919#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24920#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} is VALID [2022-02-20 18:18:53,740 INFO L290 TraceCheckUtils]: 34: Hoare triple {24920#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24921#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} is VALID [2022-02-20 18:18:53,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {24921#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24870#false} is VALID [2022-02-20 18:18:53,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {24870#false} assume true; {24870#false} is VALID [2022-02-20 18:18:53,741 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {24870#false} {24869#true} #253#return; {24870#false} is VALID [2022-02-20 18:18:53,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {24870#false} ~q_write_ev~0 := 2; {24870#false} is VALID [2022-02-20 18:18:53,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:53,742 INFO L290 TraceCheckUtils]: 40: Hoare triple {24870#false} assume !(0 == ~q_free~0); {24870#false} is VALID [2022-02-20 18:18:53,742 INFO L290 TraceCheckUtils]: 41: Hoare triple {24870#false} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {24870#false} is VALID [2022-02-20 18:18:53,742 INFO L272 TraceCheckUtils]: 42: Hoare triple {24870#false} call immediate_notify_threads(); {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:53,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {24869#true} assume !(1 == ~p_dw_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,742 INFO L290 TraceCheckUtils]: 45: Hoare triple {24869#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 46: Hoare triple {24869#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 47: Hoare triple {24869#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 48: Hoare triple {24869#true} assume !(0 != ~tmp~0#1); {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {24869#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 50: Hoare triple {24869#true} assume !(1 == ~c_dr_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 51: Hoare triple {24869#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,743 INFO L290 TraceCheckUtils]: 52: Hoare triple {24869#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {24869#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24869#true} is VALID [2022-02-20 18:18:53,744 INFO L290 TraceCheckUtils]: 54: Hoare triple {24869#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,744 INFO L290 TraceCheckUtils]: 55: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:53,744 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {24869#true} {24870#false} #253#return; {24870#false} is VALID [2022-02-20 18:18:53,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {24870#false} ~q_write_ev~0 := 2; {24870#false} is VALID [2022-02-20 18:18:53,744 INFO L290 TraceCheckUtils]: 58: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:53,744 INFO L290 TraceCheckUtils]: 59: Hoare triple {24870#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {24870#false} is VALID [2022-02-20 18:18:53,745 INFO L290 TraceCheckUtils]: 60: Hoare triple {24870#false} assume { :end_inline_do_write_p } true; {24870#false} is VALID [2022-02-20 18:18:53,745 INFO L290 TraceCheckUtils]: 61: Hoare triple {24870#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {24870#false} is VALID [2022-02-20 18:18:53,745 INFO L290 TraceCheckUtils]: 62: Hoare triple {24870#false} assume 0 != eval_~tmp___0~1#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; {24870#false} is VALID [2022-02-20 18:18:53,745 INFO L290 TraceCheckUtils]: 63: Hoare triple {24870#false} assume 0 == ~c_dr_pc~0; {24870#false} is VALID [2022-02-20 18:18:53,745 INFO L290 TraceCheckUtils]: 64: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:53,745 INFO L290 TraceCheckUtils]: 65: Hoare triple {24870#false} assume !(1 == ~q_free~0); {24870#false} is VALID [2022-02-20 18:18:53,746 INFO L290 TraceCheckUtils]: 66: Hoare triple {24870#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_read_ev~0 := 1; {24870#false} is VALID [2022-02-20 18:18:53,746 INFO L272 TraceCheckUtils]: 67: Hoare triple {24870#false} call immediate_notify_threads(); {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:53,746 INFO L290 TraceCheckUtils]: 68: Hoare triple {24918#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,746 INFO L290 TraceCheckUtils]: 69: Hoare triple {24869#true} assume 1 == ~p_dw_pc~0; {24869#true} is VALID [2022-02-20 18:18:53,746 INFO L290 TraceCheckUtils]: 70: Hoare triple {24869#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {24869#true} is VALID [2022-02-20 18:18:53,746 INFO L290 TraceCheckUtils]: 71: Hoare triple {24869#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24869#true} is VALID [2022-02-20 18:18:53,746 INFO L290 TraceCheckUtils]: 72: Hoare triple {24869#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 73: Hoare triple {24869#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 74: Hoare triple {24869#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 75: Hoare triple {24869#true} assume !(1 == ~c_dr_pc~0); {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 76: Hoare triple {24869#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 77: Hoare triple {24869#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 78: Hoare triple {24869#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24869#true} is VALID [2022-02-20 18:18:53,747 INFO L290 TraceCheckUtils]: 79: Hoare triple {24869#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:53,748 INFO L290 TraceCheckUtils]: 80: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:53,748 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {24869#true} {24870#false} #255#return; {24870#false} is VALID [2022-02-20 18:18:53,748 INFO L290 TraceCheckUtils]: 82: Hoare triple {24870#false} ~q_read_ev~0 := 2; {24870#false} is VALID [2022-02-20 18:18:53,748 INFO L290 TraceCheckUtils]: 83: Hoare triple {24870#false} assume ~p_last_write~0 == ~c_last_read~0; {24870#false} is VALID [2022-02-20 18:18:53,748 INFO L290 TraceCheckUtils]: 84: Hoare triple {24870#false} assume !(~p_num_write~0 == ~c_num_read~0); {24870#false} is VALID [2022-02-20 18:18:53,748 INFO L272 TraceCheckUtils]: 85: Hoare triple {24870#false} call error(); {24870#false} is VALID [2022-02-20 18:18:53,749 INFO L290 TraceCheckUtils]: 86: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:53,749 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-02-20 18:18:53,749 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:53,749 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1686551318] [2022-02-20 18:18:53,749 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1686551318] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:53,750 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2123130194] [2022-02-20 18:18:53,750 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:53,750 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:53,750 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:53,751 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:18:53,775 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 18:18:53,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,827 INFO L263 TraceCheckSpWp]: Trace formula consists of 301 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 18:18:53,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:53,844 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:54,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {24869#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;~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; {24869#true} is VALID [2022-02-20 18:18:54,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {24869#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {24869#true} is VALID [2022-02-20 18:18:54,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {24869#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {24869#true} is VALID [2022-02-20 18:18:54,018 INFO L290 TraceCheckUtils]: 3: Hoare triple {24869#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:54,018 INFO L290 TraceCheckUtils]: 4: Hoare triple {24869#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {24869#true} is VALID [2022-02-20 18:18:54,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {24869#true} assume { :end_inline_init_threads } true; {24869#true} is VALID [2022-02-20 18:18:54,019 INFO L290 TraceCheckUtils]: 6: Hoare triple {24869#true} assume !false; {24869#true} is VALID [2022-02-20 18:18:54,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {24869#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {24869#true} is VALID [2022-02-20 18:18:54,019 INFO L290 TraceCheckUtils]: 8: Hoare triple {24869#true} assume !false; {24869#true} is VALID [2022-02-20 18:18:54,019 INFO L272 TraceCheckUtils]: 9: Hoare triple {24869#true} call eval_#t~ret7#1 := exists_runnable_thread(); {24869#true} is VALID [2022-02-20 18:18:54,019 INFO L290 TraceCheckUtils]: 10: Hoare triple {24869#true} havoc ~__retres1~2; {24869#true} is VALID [2022-02-20 18:18:54,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {24869#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {24869#true} is VALID [2022-02-20 18:18:54,020 INFO L290 TraceCheckUtils]: 12: Hoare triple {24869#true} #res := ~__retres1~2; {24869#true} is VALID [2022-02-20 18:18:54,020 INFO L290 TraceCheckUtils]: 13: Hoare triple {24869#true} assume true; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {24869#true} {24869#true} #251#return; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 15: Hoare triple {24869#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 16: Hoare triple {24869#true} assume 0 != eval_~tmp___1~0#1; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 17: Hoare triple {24869#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {24869#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 19: Hoare triple {24869#true} assume 0 == ~p_dw_pc~0; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {24869#true} assume !false; {24869#true} is VALID [2022-02-20 18:18:54,021 INFO L290 TraceCheckUtils]: 21: Hoare triple {24869#true} assume !(0 == ~q_free~0); {24869#true} is VALID [2022-02-20 18:18:54,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {24869#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,022 INFO L272 TraceCheckUtils]: 23: Hoare triple {24991#(= ~q_free~0 0)} call immediate_notify_threads(); {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {24991#(= ~q_free~0 0)} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,023 INFO L290 TraceCheckUtils]: 25: Hoare triple {24991#(= ~q_free~0 0)} assume !(1 == ~p_dw_pc~0); {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {24991#(= ~q_free~0 0)} is_do_write_p_triggered_~__retres1~0#1 := 0; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {24991#(= ~q_free~0 0)} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {24991#(= ~q_free~0 0)} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,025 INFO L290 TraceCheckUtils]: 29: Hoare triple {24991#(= ~q_free~0 0)} assume !(0 != ~tmp~0#1); {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {24991#(= ~q_free~0 0)} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {24991#(= ~q_free~0 0)} assume !(1 == ~c_dr_pc~0); {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {24991#(= ~q_free~0 0)} is_do_read_c_triggered_~__retres1~1#1 := 0; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,026 INFO L290 TraceCheckUtils]: 33: Hoare triple {24991#(= ~q_free~0 0)} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {24991#(= ~q_free~0 0)} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,027 INFO L290 TraceCheckUtils]: 35: Hoare triple {24991#(= ~q_free~0 0)} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,027 INFO L290 TraceCheckUtils]: 36: Hoare triple {24991#(= ~q_free~0 0)} assume true; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,028 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {24991#(= ~q_free~0 0)} {24991#(= ~q_free~0 0)} #253#return; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {24991#(= ~q_free~0 0)} ~q_write_ev~0 := 2; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,029 INFO L290 TraceCheckUtils]: 39: Hoare triple {24991#(= ~q_free~0 0)} assume !false; {24991#(= ~q_free~0 0)} is VALID [2022-02-20 18:18:54,031 INFO L290 TraceCheckUtils]: 40: Hoare triple {24991#(= ~q_free~0 0)} assume !(0 == ~q_free~0); {24870#false} is VALID [2022-02-20 18:18:54,033 INFO L290 TraceCheckUtils]: 41: Hoare triple {24870#false} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {24870#false} is VALID [2022-02-20 18:18:54,033 INFO L272 TraceCheckUtils]: 42: Hoare triple {24870#false} call immediate_notify_threads(); {24870#false} is VALID [2022-02-20 18:18:54,033 INFO L290 TraceCheckUtils]: 43: Hoare triple {24870#false} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24870#false} is VALID [2022-02-20 18:18:54,033 INFO L290 TraceCheckUtils]: 44: Hoare triple {24870#false} assume !(1 == ~p_dw_pc~0); {24870#false} is VALID [2022-02-20 18:18:54,033 INFO L290 TraceCheckUtils]: 45: Hoare triple {24870#false} is_do_write_p_triggered_~__retres1~0#1 := 0; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 46: Hoare triple {24870#false} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 47: Hoare triple {24870#false} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 48: Hoare triple {24870#false} assume !(0 != ~tmp~0#1); {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 49: Hoare triple {24870#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 50: Hoare triple {24870#false} assume !(1 == ~c_dr_pc~0); {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 51: Hoare triple {24870#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 52: Hoare triple {24870#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 53: Hoare triple {24870#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24870#false} is VALID [2022-02-20 18:18:54,034 INFO L290 TraceCheckUtils]: 54: Hoare triple {24870#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24870#false} is VALID [2022-02-20 18:18:54,035 INFO L290 TraceCheckUtils]: 55: Hoare triple {24870#false} assume true; {24870#false} is VALID [2022-02-20 18:18:54,035 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {24870#false} {24870#false} #253#return; {24870#false} is VALID [2022-02-20 18:18:54,035 INFO L290 TraceCheckUtils]: 57: Hoare triple {24870#false} ~q_write_ev~0 := 2; {24870#false} is VALID [2022-02-20 18:18:54,035 INFO L290 TraceCheckUtils]: 58: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 59: Hoare triple {24870#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 60: Hoare triple {24870#false} assume { :end_inline_do_write_p } true; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 61: Hoare triple {24870#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 62: Hoare triple {24870#false} assume 0 != eval_~tmp___0~1#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; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 63: Hoare triple {24870#false} assume 0 == ~c_dr_pc~0; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 64: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 65: Hoare triple {24870#false} assume !(1 == ~q_free~0); {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L290 TraceCheckUtils]: 66: Hoare triple {24870#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_read_ev~0 := 1; {24870#false} is VALID [2022-02-20 18:18:54,036 INFO L272 TraceCheckUtils]: 67: Hoare triple {24870#false} call immediate_notify_threads(); {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 68: Hoare triple {24870#false} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 69: Hoare triple {24870#false} assume 1 == ~p_dw_pc~0; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 70: Hoare triple {24870#false} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 71: Hoare triple {24870#false} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 72: Hoare triple {24870#false} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 73: Hoare triple {24870#false} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 74: Hoare triple {24870#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 75: Hoare triple {24870#false} assume !(1 == ~c_dr_pc~0); {24870#false} is VALID [2022-02-20 18:18:54,037 INFO L290 TraceCheckUtils]: 76: Hoare triple {24870#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 77: Hoare triple {24870#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 78: Hoare triple {24870#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 79: Hoare triple {24870#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 80: Hoare triple {24870#false} assume true; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {24870#false} {24870#false} #255#return; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 82: Hoare triple {24870#false} ~q_read_ev~0 := 2; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 83: Hoare triple {24870#false} assume ~p_last_write~0 == ~c_last_read~0; {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L290 TraceCheckUtils]: 84: Hoare triple {24870#false} assume !(~p_num_write~0 == ~c_num_read~0); {24870#false} is VALID [2022-02-20 18:18:54,038 INFO L272 TraceCheckUtils]: 85: Hoare triple {24870#false} call error(); {24870#false} is VALID [2022-02-20 18:18:54,039 INFO L290 TraceCheckUtils]: 86: Hoare triple {24870#false} assume !false; {24870#false} is VALID [2022-02-20 18:18:54,039 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 36 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-02-20 18:18:54,039 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:18:54,039 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2123130194] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:54,039 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 18:18:54,039 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [6] total 7 [2022-02-20 18:18:54,040 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [365537129] [2022-02-20 18:18:54,040 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:54,040 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 87 [2022-02-20 18:18:54,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:54,041 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 18:18:54,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:54,087 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 18:18:54,087 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:54,088 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 18:18:54,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 18:18:54,088 INFO L87 Difference]: Start difference. First operand 1086 states and 1388 transitions. Second operand has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 18:18:54,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:54,565 INFO L93 Difference]: Finished difference Result 1809 states and 2326 transitions. [2022-02-20 18:18:54,565 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 18:18:54,565 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 87 [2022-02-20 18:18:54,566 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:54,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 18:18:54,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 237 transitions. [2022-02-20 18:18:54,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 18:18:54,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 237 transitions. [2022-02-20 18:18:54,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 237 transitions. [2022-02-20 18:18:54,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 237 edges. 237 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:54,785 INFO L225 Difference]: With dead ends: 1809 [2022-02-20 18:18:54,785 INFO L226 Difference]: Without dead ends: 964 [2022-02-20 18:18:54,786 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 95 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 18:18:54,787 INFO L933 BasicCegarLoop]: 124 mSDtfsCounter, 53 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 199 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:54,787 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 199 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:54,788 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 964 states. [2022-02-20 18:18:54,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 964 to 949. [2022-02-20 18:18:54,945 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:54,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 964 states. Second operand has 949 states, 846 states have (on average 1.25177304964539) internal successors, (1059), 861 states have internal predecessors, (1059), 57 states have call successors, (57), 37 states have call predecessors, (57), 45 states have return successors, (92), 50 states have call predecessors, (92), 56 states have call successors, (92) [2022-02-20 18:18:54,948 INFO L74 IsIncluded]: Start isIncluded. First operand 964 states. Second operand has 949 states, 846 states have (on average 1.25177304964539) internal successors, (1059), 861 states have internal predecessors, (1059), 57 states have call successors, (57), 37 states have call predecessors, (57), 45 states have return successors, (92), 50 states have call predecessors, (92), 56 states have call successors, (92) [2022-02-20 18:18:54,949 INFO L87 Difference]: Start difference. First operand 964 states. Second operand has 949 states, 846 states have (on average 1.25177304964539) internal successors, (1059), 861 states have internal predecessors, (1059), 57 states have call successors, (57), 37 states have call predecessors, (57), 45 states have return successors, (92), 50 states have call predecessors, (92), 56 states have call successors, (92) [2022-02-20 18:18:54,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:54,991 INFO L93 Difference]: Finished difference Result 964 states and 1223 transitions. [2022-02-20 18:18:54,991 INFO L276 IsEmpty]: Start isEmpty. Operand 964 states and 1223 transitions. [2022-02-20 18:18:54,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:54,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:54,995 INFO L74 IsIncluded]: Start isIncluded. First operand has 949 states, 846 states have (on average 1.25177304964539) internal successors, (1059), 861 states have internal predecessors, (1059), 57 states have call successors, (57), 37 states have call predecessors, (57), 45 states have return successors, (92), 50 states have call predecessors, (92), 56 states have call successors, (92) Second operand 964 states. [2022-02-20 18:18:54,996 INFO L87 Difference]: Start difference. First operand has 949 states, 846 states have (on average 1.25177304964539) internal successors, (1059), 861 states have internal predecessors, (1059), 57 states have call successors, (57), 37 states have call predecessors, (57), 45 states have return successors, (92), 50 states have call predecessors, (92), 56 states have call successors, (92) Second operand 964 states. [2022-02-20 18:18:55,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:55,052 INFO L93 Difference]: Finished difference Result 964 states and 1223 transitions. [2022-02-20 18:18:55,053 INFO L276 IsEmpty]: Start isEmpty. Operand 964 states and 1223 transitions. [2022-02-20 18:18:55,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:55,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:55,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:55,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:55,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 949 states, 846 states have (on average 1.25177304964539) internal successors, (1059), 861 states have internal predecessors, (1059), 57 states have call successors, (57), 37 states have call predecessors, (57), 45 states have return successors, (92), 50 states have call predecessors, (92), 56 states have call successors, (92) [2022-02-20 18:18:55,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 949 states to 949 states and 1208 transitions. [2022-02-20 18:18:55,115 INFO L78 Accepts]: Start accepts. Automaton has 949 states and 1208 transitions. Word has length 87 [2022-02-20 18:18:55,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:55,115 INFO L470 AbstractCegarLoop]: Abstraction has 949 states and 1208 transitions. [2022-02-20 18:18:55,115 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 22.666666666666668) internal successors, (68), 3 states have internal predecessors, (68), 3 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 18:18:55,116 INFO L276 IsEmpty]: Start isEmpty. Operand 949 states and 1208 transitions. [2022-02-20 18:18:55,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-02-20 18:18:55,118 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 18:18:55,118 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:55,141 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 18:18:55,331 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:55,331 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting errorErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 18:18:55,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 18:18:55,332 INFO L85 PathProgramCache]: Analyzing trace with hash 1832296466, now seen corresponding path program 1 times [2022-02-20 18:18:55,332 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 18:18:55,332 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1396218057] [2022-02-20 18:18:55,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:55,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 18:18:55,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,362 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-02-20 18:18:55,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {30950#true} havoc ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30950#true} is VALID [2022-02-20 18:18:55,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} #res := ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,366 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {30950#true} {30950#true} #251#return; {30950#true} is VALID [2022-02-20 18:18:55,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 18:18:55,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume !(1 == ~p_dw_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,415 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,415 INFO L290 TraceCheckUtils]: 4: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {30950#true} assume !(0 != ~tmp~0#1); {30950#true} is VALID [2022-02-20 18:18:55,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {31005#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is VALID [2022-02-20 18:18:55,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {31005#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {31006#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} is VALID [2022-02-20 18:18:55,417 INFO L290 TraceCheckUtils]: 10: Hoare triple {31006#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {31007#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} is VALID [2022-02-20 18:18:55,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {31007#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30951#false} is VALID [2022-02-20 18:18:55,418 INFO L290 TraceCheckUtils]: 12: Hoare triple {30951#false} assume true; {30951#false} is VALID [2022-02-20 18:18:55,418 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {30951#false} {30950#true} #253#return; {30951#false} is VALID [2022-02-20 18:18:55,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-02-20 18:18:55,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {30950#true} havoc ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30950#true} is VALID [2022-02-20 18:18:55,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} #res := ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,423 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,423 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {30950#true} {30951#false} #251#return; {30951#false} is VALID [2022-02-20 18:18:55,424 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 57 [2022-02-20 18:18:55,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,432 INFO L290 TraceCheckUtils]: 0: Hoare triple {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume 1 == ~p_dw_pc~0; {30950#true} is VALID [2022-02-20 18:18:55,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {30950#true} is VALID [2022-02-20 18:18:55,432 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,432 INFO L290 TraceCheckUtils]: 4: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {30950#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 6: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 7: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 8: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 9: Hoare triple {30950#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 10: Hoare triple {30950#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30950#true} is VALID [2022-02-20 18:18:55,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {30950#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,434 INFO L290 TraceCheckUtils]: 12: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,434 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {30950#true} {30951#false} #253#return; {30951#false} is VALID [2022-02-20 18:18:55,434 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-02-20 18:18:55,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume 1 == ~p_dw_pc~0; {30950#true} is VALID [2022-02-20 18:18:55,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {30950#true} is VALID [2022-02-20 18:18:55,441 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,441 INFO L290 TraceCheckUtils]: 4: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {30950#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,442 INFO L290 TraceCheckUtils]: 8: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,442 INFO L290 TraceCheckUtils]: 9: Hoare triple {30950#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,442 INFO L290 TraceCheckUtils]: 10: Hoare triple {30950#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30950#true} is VALID [2022-02-20 18:18:55,442 INFO L290 TraceCheckUtils]: 11: Hoare triple {30950#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,442 INFO L290 TraceCheckUtils]: 12: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,443 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {30950#true} {30951#false} #255#return; {30951#false} is VALID [2022-02-20 18:18:55,443 INFO L290 TraceCheckUtils]: 0: Hoare triple {30950#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;~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; {30950#true} is VALID [2022-02-20 18:18:55,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {30950#true} is VALID [2022-02-20 18:18:55,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {30950#true} is VALID [2022-02-20 18:18:55,443 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,443 INFO L290 TraceCheckUtils]: 4: Hoare triple {30950#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {30950#true} assume { :end_inline_init_threads } true; {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {30950#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L290 TraceCheckUtils]: 8: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L272 TraceCheckUtils]: 9: Hoare triple {30950#true} call eval_#t~ret7#1 := exists_runnable_thread(); {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L290 TraceCheckUtils]: 10: Hoare triple {30950#true} havoc ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,444 INFO L290 TraceCheckUtils]: 11: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30950#true} is VALID [2022-02-20 18:18:55,445 INFO L290 TraceCheckUtils]: 12: Hoare triple {30950#true} #res := ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,445 INFO L290 TraceCheckUtils]: 13: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,445 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {30950#true} {30950#true} #251#return; {30950#true} is VALID [2022-02-20 18:18:55,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {30950#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {30950#true} is VALID [2022-02-20 18:18:55,445 INFO L290 TraceCheckUtils]: 16: Hoare triple {30950#true} assume 0 != eval_~tmp___1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,445 INFO L290 TraceCheckUtils]: 17: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {30950#true} is VALID [2022-02-20 18:18:55,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {30950#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {30950#true} is VALID [2022-02-20 18:18:55,446 INFO L290 TraceCheckUtils]: 19: Hoare triple {30950#true} assume 0 == ~p_dw_pc~0; {30950#true} is VALID [2022-02-20 18:18:55,446 INFO L290 TraceCheckUtils]: 20: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,446 INFO L290 TraceCheckUtils]: 21: Hoare triple {30950#true} assume !(0 == ~q_free~0); {30950#true} is VALID [2022-02-20 18:18:55,446 INFO L290 TraceCheckUtils]: 22: Hoare triple {30950#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {30950#true} is VALID [2022-02-20 18:18:55,447 INFO L272 TraceCheckUtils]: 23: Hoare triple {30950#true} call immediate_notify_threads(); {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:55,447 INFO L290 TraceCheckUtils]: 24: Hoare triple {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,447 INFO L290 TraceCheckUtils]: 25: Hoare triple {30950#true} assume !(1 == ~p_dw_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,447 INFO L290 TraceCheckUtils]: 26: Hoare triple {30950#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,447 INFO L290 TraceCheckUtils]: 27: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,447 INFO L290 TraceCheckUtils]: 28: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {30950#true} assume !(0 != ~tmp~0#1); {30950#true} is VALID [2022-02-20 18:18:55,448 INFO L290 TraceCheckUtils]: 30: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,448 INFO L290 TraceCheckUtils]: 31: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,448 INFO L290 TraceCheckUtils]: 32: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {31005#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is VALID [2022-02-20 18:18:55,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {31005#(and (<= 0 |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1|) (<= |immediate_notify_threads_is_do_read_c_triggered_~__retres1~1#1| 0))} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {31006#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} is VALID [2022-02-20 18:18:55,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {31006#(and (<= |immediate_notify_threads_is_do_read_c_triggered_#res#1| 0) (<= 0 |immediate_notify_threads_is_do_read_c_triggered_#res#1|))} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {31007#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} is VALID [2022-02-20 18:18:55,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {31007#(and (<= |immediate_notify_threads_~tmp___0~0#1| 0) (< 0 (+ |immediate_notify_threads_~tmp___0~0#1| 1)))} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30951#false} is VALID [2022-02-20 18:18:55,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {30951#false} assume true; {30951#false} is VALID [2022-02-20 18:18:55,450 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {30951#false} {30950#true} #253#return; {30951#false} is VALID [2022-02-20 18:18:55,450 INFO L290 TraceCheckUtils]: 38: Hoare triple {30951#false} ~q_write_ev~0 := 2; {30951#false} is VALID [2022-02-20 18:18:55,450 INFO L290 TraceCheckUtils]: 39: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,451 INFO L290 TraceCheckUtils]: 40: Hoare triple {30951#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,451 INFO L290 TraceCheckUtils]: 41: Hoare triple {30951#false} assume { :end_inline_do_write_p } true; {30951#false} is VALID [2022-02-20 18:18:55,451 INFO L290 TraceCheckUtils]: 42: Hoare triple {30951#false} assume !(0 == ~c_dr_st~0); {30951#false} is VALID [2022-02-20 18:18:55,451 INFO L290 TraceCheckUtils]: 43: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,451 INFO L272 TraceCheckUtils]: 44: Hoare triple {30951#false} call eval_#t~ret7#1 := exists_runnable_thread(); {30950#true} is VALID [2022-02-20 18:18:55,451 INFO L290 TraceCheckUtils]: 45: Hoare triple {30950#true} havoc ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,452 INFO L290 TraceCheckUtils]: 46: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30950#true} is VALID [2022-02-20 18:18:55,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {30950#true} #res := ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,452 INFO L290 TraceCheckUtils]: 48: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,452 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {30950#true} {30951#false} #251#return; {30951#false} is VALID [2022-02-20 18:18:55,452 INFO L290 TraceCheckUtils]: 50: Hoare triple {30951#false} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {30951#false} is VALID [2022-02-20 18:18:55,452 INFO L290 TraceCheckUtils]: 51: Hoare triple {30951#false} assume 0 != eval_~tmp___1~0#1; {30951#false} is VALID [2022-02-20 18:18:55,452 INFO L290 TraceCheckUtils]: 52: Hoare triple {30951#false} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {30951#false} is VALID [2022-02-20 18:18:55,453 INFO L290 TraceCheckUtils]: 53: Hoare triple {30951#false} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {30951#false} is VALID [2022-02-20 18:18:55,453 INFO L290 TraceCheckUtils]: 54: Hoare triple {30951#false} assume !(0 == ~p_dw_pc~0); {30951#false} is VALID [2022-02-20 18:18:55,453 INFO L290 TraceCheckUtils]: 55: Hoare triple {30951#false} assume 1 == ~p_dw_pc~0; {30951#false} is VALID [2022-02-20 18:18:55,453 INFO L290 TraceCheckUtils]: 56: Hoare triple {30951#false} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,453 INFO L272 TraceCheckUtils]: 57: Hoare triple {30951#false} call immediate_notify_threads(); {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:55,453 INFO L290 TraceCheckUtils]: 58: Hoare triple {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,453 INFO L290 TraceCheckUtils]: 59: Hoare triple {30950#true} assume 1 == ~p_dw_pc~0; {30950#true} is VALID [2022-02-20 18:18:55,454 INFO L290 TraceCheckUtils]: 60: Hoare triple {30950#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {30950#true} is VALID [2022-02-20 18:18:55,454 INFO L290 TraceCheckUtils]: 61: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,454 INFO L290 TraceCheckUtils]: 62: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,454 INFO L290 TraceCheckUtils]: 63: Hoare triple {30950#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,454 INFO L290 TraceCheckUtils]: 64: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,454 INFO L290 TraceCheckUtils]: 65: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,455 INFO L290 TraceCheckUtils]: 66: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,455 INFO L290 TraceCheckUtils]: 67: Hoare triple {30950#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,455 INFO L290 TraceCheckUtils]: 68: Hoare triple {30950#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30950#true} is VALID [2022-02-20 18:18:55,455 INFO L290 TraceCheckUtils]: 69: Hoare triple {30950#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,455 INFO L290 TraceCheckUtils]: 70: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,455 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {30950#true} {30951#false} #253#return; {30951#false} is VALID [2022-02-20 18:18:55,455 INFO L290 TraceCheckUtils]: 72: Hoare triple {30951#false} ~q_write_ev~0 := 2; {30951#false} is VALID [2022-02-20 18:18:55,456 INFO L290 TraceCheckUtils]: 73: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,456 INFO L290 TraceCheckUtils]: 74: Hoare triple {30951#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,456 INFO L290 TraceCheckUtils]: 75: Hoare triple {30951#false} assume { :end_inline_do_write_p } true; {30951#false} is VALID [2022-02-20 18:18:55,457 INFO L290 TraceCheckUtils]: 76: Hoare triple {30951#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {30951#false} is VALID [2022-02-20 18:18:55,457 INFO L290 TraceCheckUtils]: 77: Hoare triple {30951#false} assume 0 != eval_~tmp___0~1#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; {30951#false} is VALID [2022-02-20 18:18:55,457 INFO L290 TraceCheckUtils]: 78: Hoare triple {30951#false} assume 0 == ~c_dr_pc~0; {30951#false} is VALID [2022-02-20 18:18:55,457 INFO L290 TraceCheckUtils]: 79: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,457 INFO L290 TraceCheckUtils]: 80: Hoare triple {30951#false} assume !(1 == ~q_free~0); {30951#false} is VALID [2022-02-20 18:18:55,457 INFO L290 TraceCheckUtils]: 81: Hoare triple {30951#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_read_ev~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,458 INFO L272 TraceCheckUtils]: 82: Hoare triple {30951#false} call immediate_notify_threads(); {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} is VALID [2022-02-20 18:18:55,458 INFO L290 TraceCheckUtils]: 83: Hoare triple {31004#(and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,458 INFO L290 TraceCheckUtils]: 84: Hoare triple {30950#true} assume 1 == ~p_dw_pc~0; {30950#true} is VALID [2022-02-20 18:18:55,458 INFO L290 TraceCheckUtils]: 85: Hoare triple {30950#true} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {30950#true} is VALID [2022-02-20 18:18:55,458 INFO L290 TraceCheckUtils]: 86: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,458 INFO L290 TraceCheckUtils]: 87: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,458 INFO L290 TraceCheckUtils]: 88: Hoare triple {30950#true} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 89: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 90: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 91: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 92: Hoare triple {30950#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 93: Hoare triple {30950#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 94: Hoare triple {30950#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,459 INFO L290 TraceCheckUtils]: 95: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,460 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {30950#true} {30951#false} #255#return; {30951#false} is VALID [2022-02-20 18:18:55,460 INFO L290 TraceCheckUtils]: 97: Hoare triple {30951#false} ~q_read_ev~0 := 2; {30951#false} is VALID [2022-02-20 18:18:55,463 INFO L290 TraceCheckUtils]: 98: Hoare triple {30951#false} assume ~p_last_write~0 == ~c_last_read~0; {30951#false} is VALID [2022-02-20 18:18:55,464 INFO L290 TraceCheckUtils]: 99: Hoare triple {30951#false} assume !(~p_num_write~0 == ~c_num_read~0); {30951#false} is VALID [2022-02-20 18:18:55,464 INFO L272 TraceCheckUtils]: 100: Hoare triple {30951#false} call error(); {30951#false} is VALID [2022-02-20 18:18:55,464 INFO L290 TraceCheckUtils]: 101: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,464 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 13 proven. 10 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-02-20 18:18:55,464 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 18:18:55,465 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1396218057] [2022-02-20 18:18:55,465 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1396218057] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 18:18:55,465 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [554001663] [2022-02-20 18:18:55,465 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 18:18:55,465 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:55,465 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 18:18:55,466 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 18:18:55,473 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 18:18:55,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,556 INFO L263 TraceCheckSpWp]: Trace formula consists of 343 conjuncts, 2 conjunts are in the unsatisfiable core [2022-02-20 18:18:55,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 18:18:55,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 18:18:55,801 INFO L290 TraceCheckUtils]: 0: Hoare triple {30950#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;~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; {30950#true} is VALID [2022-02-20 18:18:55,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {30950#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_~__retres1~3#1;havoc main_~__retres1~3#1;assume { :begin_inline_init_model } 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; {30950#true} is VALID [2022-02-20 18:18:55,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {30950#true} assume { :end_inline_init_model } true;assume { :begin_inline_start_simulation } true;havoc start_simulation_#t~ret11#1, start_simulation_~kernel_st~0#1, start_simulation_~tmp~3#1;havoc start_simulation_~kernel_st~0#1;havoc start_simulation_~tmp~3#1;start_simulation_~kernel_st~0#1 := 0;assume { :begin_inline_init_threads } true; {30950#true} is VALID [2022-02-20 18:18:55,801 INFO L290 TraceCheckUtils]: 3: Hoare triple {30950#true} assume 1 == ~p_dw_i~0;~p_dw_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 4: Hoare triple {30950#true} assume 1 == ~c_dr_i~0;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {30950#true} assume { :end_inline_init_threads } true; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 6: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {30950#true} start_simulation_~kernel_st~0#1 := 1;assume { :begin_inline_eval } true;havoc eval_#t~ret7#1, eval_#t~nondet8#1, eval_#t~nondet9#1, eval_~tmp~1#1, eval_~tmp___0~1#1, eval_~tmp___1~0#1;havoc eval_~tmp~1#1;havoc eval_~tmp___0~1#1;havoc eval_~tmp___1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L272 TraceCheckUtils]: 9: Hoare triple {30950#true} call eval_#t~ret7#1 := exists_runnable_thread(); {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 10: Hoare triple {30950#true} havoc ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 11: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30950#true} is VALID [2022-02-20 18:18:55,802 INFO L290 TraceCheckUtils]: 12: Hoare triple {30950#true} #res := ~__retres1~2; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 13: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {30950#true} {30950#true} #251#return; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 15: Hoare triple {30950#true} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 16: Hoare triple {30950#true} assume 0 != eval_~tmp___1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 17: Hoare triple {30950#true} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 18: Hoare triple {30950#true} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 19: Hoare triple {30950#true} assume 0 == ~p_dw_pc~0; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {30950#true} assume !(0 == ~q_free~0); {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 22: Hoare triple {30950#true} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L272 TraceCheckUtils]: 23: Hoare triple {30950#true} call immediate_notify_threads(); {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {30950#true} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {30950#true} assume !(1 == ~p_dw_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 26: Hoare triple {30950#true} is_do_write_p_triggered_~__retres1~0#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 27: Hoare triple {30950#true} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 28: Hoare triple {30950#true} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 29: Hoare triple {30950#true} assume !(0 != ~tmp~0#1); {30950#true} is VALID [2022-02-20 18:18:55,804 INFO L290 TraceCheckUtils]: 30: Hoare triple {30950#true} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {30950#true} assume !(1 == ~c_dr_pc~0); {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 32: Hoare triple {30950#true} is_do_read_c_triggered_~__retres1~1#1 := 0; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {30950#true} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 34: Hoare triple {30950#true} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 35: Hoare triple {30950#true} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 36: Hoare triple {30950#true} assume true; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {30950#true} {30950#true} #253#return; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 38: Hoare triple {30950#true} ~q_write_ev~0 := 2; {30950#true} is VALID [2022-02-20 18:18:55,805 INFO L290 TraceCheckUtils]: 39: Hoare triple {30950#true} assume !false; {30950#true} is VALID [2022-02-20 18:18:55,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {30950#true} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {31131#(<= 2 ~p_dw_st~0)} is VALID [2022-02-20 18:18:55,807 INFO L290 TraceCheckUtils]: 41: Hoare triple {31131#(<= 2 ~p_dw_st~0)} assume { :end_inline_do_write_p } true; {31131#(<= 2 ~p_dw_st~0)} is VALID [2022-02-20 18:18:55,807 INFO L290 TraceCheckUtils]: 42: Hoare triple {31131#(<= 2 ~p_dw_st~0)} assume !(0 == ~c_dr_st~0); {31131#(<= 2 ~p_dw_st~0)} is VALID [2022-02-20 18:18:55,807 INFO L290 TraceCheckUtils]: 43: Hoare triple {31131#(<= 2 ~p_dw_st~0)} assume !false; {31131#(<= 2 ~p_dw_st~0)} is VALID [2022-02-20 18:18:55,808 INFO L272 TraceCheckUtils]: 44: Hoare triple {31131#(<= 2 ~p_dw_st~0)} call eval_#t~ret7#1 := exists_runnable_thread(); {31131#(<= 2 ~p_dw_st~0)} is VALID [2022-02-20 18:18:55,808 INFO L290 TraceCheckUtils]: 45: Hoare triple {31131#(<= 2 ~p_dw_st~0)} havoc ~__retres1~2; {31131#(<= 2 ~p_dw_st~0)} is VALID [2022-02-20 18:18:55,808 INFO L290 TraceCheckUtils]: 46: Hoare triple {31131#(<= 2 ~p_dw_st~0)} assume 0 == ~p_dw_st~0;~__retres1~2 := 1; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 47: Hoare triple {30951#false} #res := ~__retres1~2; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {30951#false} assume true; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {30951#false} {31131#(<= 2 ~p_dw_st~0)} #251#return; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 50: Hoare triple {30951#false} assume -2147483648 <= eval_#t~ret7#1 && eval_#t~ret7#1 <= 2147483647;eval_~tmp___1~0#1 := eval_#t~ret7#1;havoc eval_#t~ret7#1; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 51: Hoare triple {30951#false} assume 0 != eval_~tmp___1~0#1; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 52: Hoare triple {30951#false} assume 0 == ~p_dw_st~0;assume -2147483648 <= eval_#t~nondet8#1 && eval_#t~nondet8#1 <= 2147483647;eval_~tmp~1#1 := eval_#t~nondet8#1;havoc eval_#t~nondet8#1; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 53: Hoare triple {30951#false} assume 0 != eval_~tmp~1#1;~p_dw_st~0 := 1;assume { :begin_inline_do_write_p } true;havoc do_write_p_#t~nondet6#1; {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 54: Hoare triple {30951#false} assume !(0 == ~p_dw_pc~0); {30951#false} is VALID [2022-02-20 18:18:55,809 INFO L290 TraceCheckUtils]: 55: Hoare triple {30951#false} assume 1 == ~p_dw_pc~0; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 56: Hoare triple {30951#false} assume -2147483648 <= do_write_p_#t~nondet6#1 && do_write_p_#t~nondet6#1 <= 2147483647;~q_buf_0~0 := do_write_p_#t~nondet6#1;havoc do_write_p_#t~nondet6#1;~p_last_write~0 := ~q_buf_0~0;~p_num_write~0 := 1 + ~p_num_write~0;~q_free~0 := 0;~q_write_ev~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L272 TraceCheckUtils]: 57: Hoare triple {30951#false} call immediate_notify_threads(); {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 58: Hoare triple {30951#false} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 59: Hoare triple {30951#false} assume 1 == ~p_dw_pc~0; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 60: Hoare triple {30951#false} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 61: Hoare triple {30951#false} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 62: Hoare triple {30951#false} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 63: Hoare triple {30951#false} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {30951#false} is VALID [2022-02-20 18:18:55,810 INFO L290 TraceCheckUtils]: 64: Hoare triple {30951#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 65: Hoare triple {30951#false} assume !(1 == ~c_dr_pc~0); {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 66: Hoare triple {30951#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 67: Hoare triple {30951#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 68: Hoare triple {30951#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 69: Hoare triple {30951#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 70: Hoare triple {30951#false} assume true; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {30951#false} {30951#false} #253#return; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 72: Hoare triple {30951#false} ~q_write_ev~0 := 2; {30951#false} is VALID [2022-02-20 18:18:55,811 INFO L290 TraceCheckUtils]: 73: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 74: Hoare triple {30951#false} assume 0 == ~q_free~0;~p_dw_st~0 := 2;~p_dw_pc~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 75: Hoare triple {30951#false} assume { :end_inline_do_write_p } true; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 76: Hoare triple {30951#false} assume 0 == ~c_dr_st~0;assume -2147483648 <= eval_#t~nondet9#1 && eval_#t~nondet9#1 <= 2147483647;eval_~tmp___0~1#1 := eval_#t~nondet9#1;havoc eval_#t~nondet9#1; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 77: Hoare triple {30951#false} assume 0 != eval_~tmp___0~1#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; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 78: Hoare triple {30951#false} assume 0 == ~c_dr_pc~0; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 79: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 80: Hoare triple {30951#false} assume !(1 == ~q_free~0); {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 81: Hoare triple {30951#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_read_ev~0 := 1; {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L272 TraceCheckUtils]: 82: Hoare triple {30951#false} call immediate_notify_threads(); {30951#false} is VALID [2022-02-20 18:18:55,812 INFO L290 TraceCheckUtils]: 83: Hoare triple {30951#false} havoc ~tmp~0#1;havoc ~tmp___0~0#1;assume { :begin_inline_is_do_write_p_triggered } true;havoc is_do_write_p_triggered_#res#1;havoc is_do_write_p_triggered_~__retres1~0#1;havoc is_do_write_p_triggered_~__retres1~0#1; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 84: Hoare triple {30951#false} assume 1 == ~p_dw_pc~0; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 85: Hoare triple {30951#false} assume 1 == ~q_read_ev~0;is_do_write_p_triggered_~__retres1~0#1 := 1; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 86: Hoare triple {30951#false} is_do_write_p_triggered_#res#1 := is_do_write_p_triggered_~__retres1~0#1; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 87: Hoare triple {30951#false} #t~ret4#1 := is_do_write_p_triggered_#res#1;assume { :end_inline_is_do_write_p_triggered } true;assume -2147483648 <= #t~ret4#1 && #t~ret4#1 <= 2147483647;~tmp~0#1 := #t~ret4#1;havoc #t~ret4#1; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 88: Hoare triple {30951#false} assume 0 != ~tmp~0#1;~p_dw_st~0 := 0; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 89: Hoare triple {30951#false} assume { :begin_inline_is_do_read_c_triggered } true;havoc is_do_read_c_triggered_#res#1;havoc is_do_read_c_triggered_~__retres1~1#1;havoc is_do_read_c_triggered_~__retres1~1#1; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 90: Hoare triple {30951#false} assume !(1 == ~c_dr_pc~0); {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 91: Hoare triple {30951#false} is_do_read_c_triggered_~__retres1~1#1 := 0; {30951#false} is VALID [2022-02-20 18:18:55,813 INFO L290 TraceCheckUtils]: 92: Hoare triple {30951#false} is_do_read_c_triggered_#res#1 := is_do_read_c_triggered_~__retres1~1#1; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 93: Hoare triple {30951#false} #t~ret5#1 := is_do_read_c_triggered_#res#1;assume { :end_inline_is_do_read_c_triggered } true;assume -2147483648 <= #t~ret5#1 && #t~ret5#1 <= 2147483647;~tmp___0~0#1 := #t~ret5#1;havoc #t~ret5#1; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 94: Hoare triple {30951#false} assume 0 != ~tmp___0~0#1;~c_dr_st~0 := 0; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 95: Hoare triple {30951#false} assume true; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {30951#false} {30951#false} #255#return; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 97: Hoare triple {30951#false} ~q_read_ev~0 := 2; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 98: Hoare triple {30951#false} assume ~p_last_write~0 == ~c_last_read~0; {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 99: Hoare triple {30951#false} assume !(~p_num_write~0 == ~c_num_read~0); {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L272 TraceCheckUtils]: 100: Hoare triple {30951#false} call error(); {30951#false} is VALID [2022-02-20 18:18:55,814 INFO L290 TraceCheckUtils]: 101: Hoare triple {30951#false} assume !false; {30951#false} is VALID [2022-02-20 18:18:55,815 INFO L134 CoverageAnalysis]: Checked inductivity of 63 backedges. 47 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 18:18:55,815 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 18:18:55,815 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [554001663] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 18:18:55,815 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 18:18:55,815 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [6] total 7 [2022-02-20 18:18:55,815 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1377196821] [2022-02-20 18:18:55,815 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 18:18:55,816 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 102 [2022-02-20 18:18:55,816 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 18:18:55,816 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 18:18:55,869 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:55,870 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 18:18:55,870 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 18:18:55,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 18:18:55,870 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 18:18:55,870 INFO L87 Difference]: Start difference. First operand 949 states and 1208 transitions. Second operand has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 18:18:56,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:56,235 INFO L93 Difference]: Finished difference Result 1328 states and 1676 transitions. [2022-02-20 18:18:56,235 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 18:18:56,235 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 102 [2022-02-20 18:18:56,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 18:18:56,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 18:18:56,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 231 transitions. [2022-02-20 18:18:56,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 18:18:56,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 231 transitions. [2022-02-20 18:18:56,240 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 231 transitions. [2022-02-20 18:18:56,393 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 231 edges. 231 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 18:18:56,393 INFO L225 Difference]: With dead ends: 1328 [2022-02-20 18:18:56,394 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 18:18:56,396 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 117 GetRequests, 112 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 18:18:56,396 INFO L933 BasicCegarLoop]: 138 mSDtfsCounter, 62 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 18:18:56,397 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 206 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 18:18:56,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 18:18:56,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 18:18:56,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 18:18:56,397 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 18:18:56,397 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 18:18:56,397 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 18:18:56,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:56,398 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 18:18:56,398 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 18:18:56,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:56,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:56,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 18:18:56,398 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 18:18:56,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 18:18:56,398 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 18:18:56,398 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 18:18:56,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:56,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 18:18:56,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 18:18:56,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 18:18:56,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 18:18:56,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 18:18:56,399 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 102 [2022-02-20 18:18:56,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 18:18:56,399 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 18:18:56,400 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 25.666666666666668) internal successors, (77), 3 states have internal predecessors, (77), 3 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 18:18:56,400 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 18:18:56,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 18:18:56,402 INFO L764 garLoopResultBuilder]: Registering result SAFE for location errorErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 18:18:56,425 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 18:18:56,615 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 18:18:56,617 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-02-20 18:18:59,645 INFO L858 garLoopResultBuilder]: For program point L62(lines 62 67) no Hoare annotation was computed. [2022-02-20 18:18:59,645 INFO L854 garLoopResultBuilder]: At program point immediate_notify_threadsENTRY(lines 76 100) the Hoare annotation is: (let ((.cse0 (and (= |old(~p_dw_st~0)| ~p_dw_st~0) (= ~c_dr_st~0 |old(~c_dr_st~0)|))) (.cse1 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse2 (not (= ~q_free~0 0)))) (and (or (not (= ~p_num_write~0 1)) (not (= ~c_dr_pc~0 0)) .cse0 (not (= ~p_dw_pc~0 0)) .cse1 (not (= ~c_num_read~0 0)) .cse2) (or (not (<= 2 |old(~p_dw_st~0)|)) .cse0 .cse1 (not (= ~c_num_read~0 ~p_num_write~0)) (not (= ~q_free~0 1)) (not (= ~c_last_read~0 ~p_last_write~0))) (or (not (= 2 |old(~c_dr_st~0)|)) .cse0 .cse1 .cse2 (not (= (+ ~c_num_read~0 1) ~p_num_write~0))))) [2022-02-20 18:18:59,646 INFO L854 garLoopResultBuilder]: At program point L54(lines 38 56) the Hoare annotation is: (let ((.cse10 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse11 (= ~c_dr_st~0 |old(~c_dr_st~0)|))) (let ((.cse2 (not (= 2 |old(~c_dr_st~0)|))) (.cse0 (and .cse10 .cse11)) (.cse9 (not (= (+ ~c_num_read~0 1) ~p_num_write~0))) (.cse7 (not (= ~p_dw_pc~0 0))) (.cse1 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse3 (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0)) (.cse4 (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0)) (.cse5 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|)) (.cse6 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|)) (.cse8 (not (= ~q_free~0 0)))) (and (or (not (<= 2 |old(~p_dw_st~0)|)) .cse0 .cse1 (not (= ~c_num_read~0 ~p_num_write~0)) (not (= ~q_free~0 1)) (not (= ~c_last_read~0 ~p_last_write~0))) (or .cse2 (and .cse3 .cse4 .cse5 .cse6) .cse7 .cse1 .cse8 .cse9) (or .cse2 .cse0 .cse1 .cse8 .cse9) (or (not (= ~p_num_write~0 1)) (not (= ~c_dr_pc~0 0)) .cse7 .cse1 (and .cse10 .cse3 .cse11 .cse4 .cse5 .cse6) (not (= ~c_num_read~0 0)) .cse8)))) [2022-02-20 18:18:59,646 INFO L858 garLoopResultBuilder]: For program point L42(lines 42 51) no Hoare annotation was computed. [2022-02-20 18:18:59,646 INFO L858 garLoopResultBuilder]: For program point immediate_notify_threadsEXIT(lines 76 100) no Hoare annotation was computed. [2022-02-20 18:18:59,646 INFO L854 garLoopResultBuilder]: At program point L73(lines 57 75) the Hoare annotation is: (let ((.cse2 (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0)) (.cse4 (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0)) (.cse5 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|)) (.cse7 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|)) (.cse8 (not (= ~p_dw_pc~0 0))) (.cse11 (not (= 2 |old(~c_dr_st~0)|))) (.cse10 (not (= ~q_free~0 0))) (.cse12 (not (= (+ ~c_num_read~0 1) ~p_num_write~0))) (.cse9 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse13 (= ~p_dw_st~0 0)) (.cse0 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse1 (<= |immediate_notify_threads_~tmp~0#1| 0)) (.cse3 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse6 (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))) (and (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7) (not (= ~p_num_write~0 1)) (not (= ~c_dr_pc~0 0)) .cse8 .cse9 (not (= ~c_num_read~0 0)) .cse10) (or .cse11 (and .cse0 .cse1 .cse2 .cse4 .cse5 .cse6 .cse7) .cse8 .cse9 .cse10 .cse12) (or .cse11 .cse9 .cse10 (and (= ~c_dr_st~0 2) (or .cse0 .cse13)) .cse12) (or (not (<= 2 |old(~p_dw_st~0)|)) .cse9 (not (= ~c_num_read~0 ~p_num_write~0)) .cse13 (and .cse0 .cse1 .cse3 .cse6) (not (= ~q_free~0 1)) (not (= ~c_last_read~0 ~p_last_write~0))))) [2022-02-20 18:18:59,646 INFO L858 garLoopResultBuilder]: For program point L42-2(lines 42 51) no Hoare annotation was computed. [2022-02-20 18:18:59,646 INFO L858 garLoopResultBuilder]: For program point L61(lines 61 70) no Hoare annotation was computed. [2022-02-20 18:18:59,646 INFO L858 garLoopResultBuilder]: For program point L92(lines 92 96) no Hoare annotation was computed. [2022-02-20 18:18:59,646 INFO L858 garLoopResultBuilder]: For program point L61-2(lines 61 70) no Hoare annotation was computed. [2022-02-20 18:18:59,647 INFO L858 garLoopResultBuilder]: For program point L92-2(lines 76 100) no Hoare annotation was computed. [2022-02-20 18:18:59,647 INFO L854 garLoopResultBuilder]: At program point L53(lines 41 55) the Hoare annotation is: (let ((.cse8 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse9 (= ~c_dr_st~0 |old(~c_dr_st~0)|))) (let ((.cse0 (not (= 2 |old(~c_dr_st~0)|))) (.cse7 (and .cse8 .cse9)) (.cse6 (not (= (+ ~c_num_read~0 1) ~p_num_write~0))) (.cse1 (not (= ~p_dw_pc~0 0))) (.cse2 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse5 (not (= ~q_free~0 0))) (.cse3 (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0)) (.cse4 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|))) (and (or .cse0 .cse1 .cse2 (and .cse3 .cse4) .cse5 .cse6) (or (not (<= 2 |old(~p_dw_st~0)|)) .cse7 .cse2 (not (= ~c_num_read~0 ~p_num_write~0)) (not (= ~q_free~0 1)) (not (= ~c_last_read~0 ~p_last_write~0))) (or .cse0 .cse7 .cse2 .cse5 .cse6) (or (not (= ~p_num_write~0 1)) (not (= ~c_dr_pc~0 0)) .cse1 .cse2 (not (= ~c_num_read~0 0)) .cse5 (and .cse8 .cse3 .cse9 .cse4))))) [2022-02-20 18:18:59,647 INFO L858 garLoopResultBuilder]: For program point L84(lines 84 88) no Hoare annotation was computed. [2022-02-20 18:18:59,647 INFO L858 garLoopResultBuilder]: For program point L84-2(lines 84 88) no Hoare annotation was computed. [2022-02-20 18:18:59,648 INFO L858 garLoopResultBuilder]: For program point L43(lines 43 48) no Hoare annotation was computed. [2022-02-20 18:18:59,648 INFO L854 garLoopResultBuilder]: At program point L72(lines 60 74) the Hoare annotation is: (let ((.cse2 (<= |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1| 0)) (.cse4 (<= |immediate_notify_threads_is_do_write_p_triggered_#res#1| 0)) (.cse5 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_#res#1|)) (.cse7 (<= 0 |immediate_notify_threads_is_do_write_p_triggered_~__retres1~0#1|)) (.cse8 (not (= ~p_dw_pc~0 0))) (.cse11 (not (= 2 |old(~c_dr_st~0)|))) (.cse10 (not (= ~q_free~0 0))) (.cse12 (not (= (+ ~c_num_read~0 1) ~p_num_write~0))) (.cse9 (not (= ~p_last_write~0 ~q_buf_0~0))) (.cse13 (= ~p_dw_st~0 0)) (.cse0 (= |old(~p_dw_st~0)| ~p_dw_st~0)) (.cse1 (<= |immediate_notify_threads_~tmp~0#1| 0)) (.cse3 (= ~c_dr_st~0 |old(~c_dr_st~0)|)) (.cse6 (< 0 (+ |immediate_notify_threads_~tmp~0#1| 1)))) (and (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7) (not (= ~p_num_write~0 1)) (not (= ~c_dr_pc~0 0)) .cse8 .cse9 (not (= ~c_num_read~0 0)) .cse10) (or .cse11 (and .cse0 .cse1 .cse2 .cse4 .cse5 .cse6 .cse7) .cse8 .cse9 .cse10 .cse12) (or .cse11 .cse9 .cse10 (and (= ~c_dr_st~0 2) (or .cse0 .cse13)) .cse12) (or (not (<= 2 |old(~p_dw_st~0)|)) .cse9 (not (= ~c_num_read~0 ~p_num_write~0)) .cse13 (and .cse0 .cse1 .cse3 .cse6) (not (= ~q_free~0 1)) (not (= ~c_last_read~0 ~p_last_write~0))))) [2022-02-20 18:18:59,648 INFO L858 garLoopResultBuilder]: For program point L224(lines 224 234) no Hoare annotation was computed. [2022-02-20 18:18:59,648 INFO L858 garLoopResultBuilder]: For program point exists_runnable_threadEXIT(lines 220 239) no Hoare annotation was computed. [2022-02-20 18:18:59,648 INFO L861 garLoopResultBuilder]: At program point exists_runnable_threadENTRY(lines 220 239) the Hoare annotation is: true [2022-02-20 18:18:59,648 INFO L861 garLoopResultBuilder]: At program point L236(lines 223 238) the Hoare annotation is: true [2022-02-20 18:18:59,649 INFO L858 garLoopResultBuilder]: For program point L228(lines 228 233) no Hoare annotation was computed. [2022-02-20 18:18:59,649 INFO L858 garLoopResultBuilder]: For program point exists_runnable_threadFINAL(lines 220 239) no Hoare annotation was computed. [2022-02-20 18:18:59,649 INFO L854 garLoopResultBuilder]: At program point L192(line 192) the Hoare annotation is: false [2022-02-20 18:18:59,649 INFO L854 garLoopResultBuilder]: At program point L192-1(lines 148 200) the Hoare annotation is: (let ((.cse2 (= ~c_num_read~0 ~p_num_write~0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse3 (= ~q_free~0 1)) (.cse4 (= ~c_last_read~0 ~p_last_write~0)) (.cse1 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) (= ~q_free~0 0) .cse1) (and .cse2 .cse0 .cse3 (= ~p_dw_st~0 0) .cse4) (and .cse2 .cse0 .cse3 .cse4 .cse1))) [2022-02-20 18:18:59,649 INFO L858 garLoopResultBuilder]: For program point L250(line 250) no Hoare annotation was computed. [2022-02-20 18:18:59,649 INFO L858 garLoopResultBuilder]: For program point L118(lines 117 137) no Hoare annotation was computed. [2022-02-20 18:18:59,649 INFO L854 garLoopResultBuilder]: At program point L300(line 300) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,650 INFO L858 garLoopResultBuilder]: For program point L300-1(line 300) no Hoare annotation was computed. [2022-02-20 18:18:59,650 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startENTRY(line -1) no Hoare annotation was computed. [2022-02-20 18:18:59,650 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-02-20 18:18:59,650 INFO L858 garLoopResultBuilder]: For program point L152(lines 152 156) no Hoare annotation was computed. [2022-02-20 18:18:59,650 INFO L854 garLoopResultBuilder]: At program point L119(lines 105 142) the Hoare annotation is: (let ((.cse0 (= ~p_last_write~0 ~q_buf_0~0))) (or (and (= ~c_num_read~0 ~p_num_write~0) (= ~c_dr_st~0 2) .cse0) (and (= ~p_dw_pc~0 0) (= ~p_num_write~0 0) (= ~c_num_read~0 0) .cse0 (= ~c_dr_pc~0 0)))) [2022-02-20 18:18:59,650 INFO L854 garLoopResultBuilder]: At program point L309(lines 298 311) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,650 INFO L858 garLoopResultBuilder]: For program point L276(lines 276 283) no Hoare annotation was computed. [2022-02-20 18:18:59,651 INFO L858 garLoopResultBuilder]: For program point L161(lines 160 195) no Hoare annotation was computed. [2022-02-20 18:18:59,651 INFO L858 garLoopResultBuilder]: For program point L252(lines 252 256) no Hoare annotation was computed. [2022-02-20 18:18:59,651 INFO L858 garLoopResultBuilder]: For program point L252-1(lines 247 287) no Hoare annotation was computed. [2022-02-20 18:18:59,651 INFO L854 garLoopResultBuilder]: At program point L153(lines 148 200) the Hoare annotation is: (and (= ~p_last_write~0 ~q_buf_0~0) (= (+ ~c_num_read~0 1) ~p_num_write~0) (= ~q_free~0 0) (<= 2 ~p_dw_st~0)) [2022-02-20 18:18:59,651 INFO L854 garLoopResultBuilder]: At program point L310(lines 294 312) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,651 INFO L854 garLoopResultBuilder]: At program point L211-1(lines 202 219) the Hoare annotation is: (let ((.cse0 (= ~p_dw_pc~0 0)) (.cse1 (= ~p_num_write~0 0)) (.cse2 (= ~c_num_read~0 0)) (.cse3 (= ~p_last_write~0 ~q_buf_0~0)) (.cse4 (= ~q_free~0 1)) (.cse5 (= ~c_dr_pc~0 0)) (.cse6 (= ~c_last_read~0 ~p_last_write~0))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= ~p_dw_st~0 0) .cse5 .cse6) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= 2 ~p_dw_st~0)))) [2022-02-20 18:18:59,652 INFO L861 garLoopResultBuilder]: At program point L368(lines 359 370) the Hoare annotation is: true [2022-02-20 18:18:59,652 INFO L858 garLoopResultBuilder]: For program point L302(lines 302 307) no Hoare annotation was computed. [2022-02-20 18:18:59,652 INFO L858 garLoopResultBuilder]: For program point L261(lines 261 268) no Hoare annotation was computed. [2022-02-20 18:18:59,652 INFO L858 garLoopResultBuilder]: For program point L162-1(lines 162 172) no Hoare annotation was computed. [2022-02-20 18:18:59,652 INFO L854 garLoopResultBuilder]: At program point L187(line 187) the Hoare annotation is: false [2022-02-20 18:18:59,652 INFO L854 garLoopResultBuilder]: At program point L179(line 179) the Hoare annotation is: (and (= ~c_num_read~0 ~p_num_write~0) (= ~p_last_write~0 ~q_buf_0~0) (= ~q_free~0 1) (= ~c_last_read~0 ~p_last_write~0) (<= 2 ~p_dw_st~0)) [2022-02-20 18:18:59,652 INFO L858 garLoopResultBuilder]: For program point L179-1(line 179) no Hoare annotation was computed. [2022-02-20 18:18:59,653 INFO L861 garLoopResultBuilder]: At program point L336(lines 313 341) the Hoare annotation is: true [2022-02-20 18:18:59,653 INFO L854 garLoopResultBuilder]: At program point L138(lines 101 143) the Hoare annotation is: (let ((.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse1 (= ~q_free~0 0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and (= ~c_dr_st~0 2) .cse0 .cse1 .cse2))) [2022-02-20 18:18:59,653 INFO L854 garLoopResultBuilder]: At program point L196(lines 145 201) the Hoare annotation is: (let ((.cse0 (= ~c_num_read~0 ~p_num_write~0)) (.cse1 (= ~c_dr_st~0 2)) (.cse2 (= ~p_last_write~0 ~q_buf_0~0)) (.cse3 (= ~q_free~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 (= ~p_dw_st~0 0)) (and .cse0 .cse1 .cse2 .cse3 (<= 2 ~p_dw_st~0)))) [2022-02-20 18:18:59,653 INFO L858 garLoopResultBuilder]: For program point L106(lines 106 114) no Hoare annotation was computed. [2022-02-20 18:18:59,653 INFO L854 garLoopResultBuilder]: At program point L288(lines 240 293) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,653 INFO L858 garLoopResultBuilder]: For program point L-1(line -1) no Hoare annotation was computed. [2022-02-20 18:18:59,653 INFO L854 garLoopResultBuilder]: At program point L272(lines 247 287) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,654 INFO L858 garLoopResultBuilder]: For program point L206(lines 206 210) no Hoare annotation was computed. [2022-02-20 18:18:59,654 INFO L858 garLoopResultBuilder]: For program point L206-2(lines 205 218) no Hoare annotation was computed. [2022-02-20 18:18:59,654 INFO L858 garLoopResultBuilder]: For program point L330(lines 330 334) no Hoare annotation was computed. [2022-02-20 18:18:59,654 INFO L858 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-02-20 18:18:59,654 INFO L854 garLoopResultBuilder]: At program point L248(line 248) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,654 INFO L858 garLoopResultBuilder]: For program point L182(lines 182 194) no Hoare annotation was computed. [2022-02-20 18:18:59,655 INFO L858 garLoopResultBuilder]: For program point L149(lines 149 157) no Hoare annotation was computed. [2022-02-20 18:18:59,655 INFO L854 garLoopResultBuilder]: At program point L356(lines 342 358) the Hoare annotation is: (and (= ~p_dw_pc~0 0) (= ~p_num_write~0 0) (= ~c_num_read~0 0) (= ~p_last_write~0 ~q_buf_0~0) (= ~q_free~0 1) (= ~p_dw_st~0 0) (= ~c_dr_pc~0 0) (= ~c_last_read~0 ~p_last_write~0)) [2022-02-20 18:18:59,655 INFO L858 garLoopResultBuilder]: For program point L257(lines 247 287) no Hoare annotation was computed. [2022-02-20 18:18:59,655 INFO L854 garLoopResultBuilder]: At program point L323-2(lines 323 335) the Hoare annotation is: (let ((.cse3 (= ~c_num_read~0 ~p_num_write~0)) (.cse6 (= ~p_dw_st~0 0)) (.cse4 (= ~c_dr_st~0 2)) (.cse1 (= ~q_free~0 0)) (.cse7 (= ~p_dw_pc~0 0)) (.cse8 (= ~p_num_write~0 0)) (.cse9 (= ~c_num_read~0 0)) (.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse5 (= ~q_free~0 1)) (.cse10 (= ~c_dr_pc~0 0)) (.cse11 (= ~c_last_read~0 ~p_last_write~0)) (.cse2 (<= 2 ~p_dw_st~0))) (or (and .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1 .cse2) (and .cse3 .cse4 .cse0 .cse5 .cse6) (and .cse3 .cse4 .cse0 .cse5 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse6 .cse10 .cse11) (and .cse4 .cse0 .cse1 .cse2) (and .cse7 .cse8 .cse9 .cse0 .cse5 .cse10 .cse11 .cse2))) [2022-02-20 18:18:59,655 INFO L858 garLoopResultBuilder]: For program point L183(lines 183 189) no Hoare annotation was computed. [2022-02-20 18:18:59,655 INFO L854 garLoopResultBuilder]: At program point L117-1(lines 105 142) the Hoare annotation is: (let ((.cse0 (= ~c_dr_st~0 2)) (.cse2 (= ~q_free~0 1)) (.cse1 (= ~p_last_write~0 ~q_buf_0~0)) (.cse3 (= ~q_free~0 0))) (or (and (= ~c_num_read~0 ~p_num_write~0) .cse0 .cse1 .cse2) (and .cse0 .cse1 .cse3) (and (= ~p_dw_pc~0 0) (= ~p_num_write~0 0) (= ~c_num_read~0 0) .cse1 .cse2 (= ~c_dr_pc~0 0) (= ~c_last_read~0 ~p_last_write~0)) (and .cse1 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse3))) [2022-02-20 18:18:59,656 INFO L858 garLoopResultBuilder]: For program point L109(lines 109 113) no Hoare annotation was computed. [2022-02-20 18:18:59,656 INFO L854 garLoopResultBuilder]: At program point L134(line 134) the Hoare annotation is: (let ((.cse0 (= ~p_last_write~0 ~q_buf_0~0)) (.cse1 (= ~q_free~0 0))) (or (and (= ~c_dr_st~0 2) .cse0 (= (+ ~c_num_read~0 1) ~p_num_write~0) .cse1) (and (= ~p_dw_pc~0 0) (= ~c_num_read~0 0) .cse0 .cse1 (= ~c_dr_pc~0 0) (= ~p_num_write~0 1)))) [2022-02-20 18:18:59,656 INFO L858 garLoopResultBuilder]: For program point L134-1(line 134) no Hoare annotation was computed. [2022-02-20 18:18:59,656 INFO L858 garLoopResultBuilder]: For program point L324(line 324) no Hoare annotation was computed. [2022-02-20 18:18:59,656 INFO L858 garLoopResultBuilder]: For program point errorEXIT(lines 15 22) no Hoare annotation was computed. [2022-02-20 18:18:59,656 INFO L858 garLoopResultBuilder]: For program point errorErr0ASSERT_VIOLATIONERROR_FUNCTION(line 19) no Hoare annotation was computed. [2022-02-20 18:18:59,656 INFO L861 garLoopResultBuilder]: At program point errorENTRY(lines 15 22) the Hoare annotation is: true [2022-02-20 18:18:59,657 INFO L858 garLoopResultBuilder]: For program point errorFINAL(lines 15 22) no Hoare annotation was computed. [2022-02-20 18:18:59,659 INFO L732 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 18:18:59,660 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 18:18:59,663 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-02-20 18:18:59,663 WARN L170 areAnnotationChecker]: L224 has no Hoare annotation [2022-02-20 18:18:59,663 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-02-20 18:18:59,663 WARN L170 areAnnotationChecker]: errorErr0ASSERT_VIOLATIONERROR_FUNCTION has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: errorFINAL has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L224 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L224 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: errorFINAL has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L43 has no Hoare annotation [2022-02-20 18:18:59,664 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2022-02-20 18:18:59,665 WARN L170 areAnnotationChecker]: exists_runnable_threadFINAL has no Hoare annotation [2022-02-20 18:18:59,665 WARN L170 areAnnotationChecker]: L228 has no Hoare annotation [2022-02-20 18:18:59,665 WARN L170 areAnnotationChecker]: L228 has no Hoare annotation [2022-02-20 18:18:59,665 WARN L170 areAnnotationChecker]: L206 has no Hoare annotation [2022-02-20 18:18:59,665 WARN L170 areAnnotationChecker]: errorEXIT has no Hoare annotation [2022-02-20 18:18:59,665 WARN L170 areAnnotationChecker]: errorEXIT has no Hoare annotation [2022-02-20 18:18:59,668 WARN L170 areAnnotationChecker]: exists_runnable_threadFINAL has no Hoare annotation [2022-02-20 18:18:59,668 WARN L170 areAnnotationChecker]: L206 has no Hoare annotation [2022-02-20 18:18:59,668 WARN L170 areAnnotationChecker]: L206 has no Hoare annotation [2022-02-20 18:18:59,669 WARN L170 areAnnotationChecker]: L161 has no Hoare annotation [2022-02-20 18:18:59,669 WARN L170 areAnnotationChecker]: L84 has no Hoare annotation [2022-02-20 18:18:59,669 WARN L170 areAnnotationChecker]: exists_runnable_threadEXIT has no Hoare annotation [2022-02-20 18:18:59,669 WARN L170 areAnnotationChecker]: exists_runnable_threadEXIT has no Hoare annotation [2022-02-20 18:18:59,669 WARN L170 areAnnotationChecker]: L206-2 has no Hoare annotation [2022-02-20 18:18:59,669 WARN L170 areAnnotationChecker]: L206-2 has no Hoare annotation [2022-02-20 18:18:59,670 WARN L170 areAnnotationChecker]: L161 has no Hoare annotation [2022-02-20 18:18:59,671 WARN L170 areAnnotationChecker]: L161 has no Hoare annotation [2022-02-20 18:18:59,671 WARN L170 areAnnotationChecker]: L84 has no Hoare annotation [2022-02-20 18:18:59,671 WARN L170 areAnnotationChecker]: L84 has no Hoare annotation [2022-02-20 18:18:59,671 WARN L170 areAnnotationChecker]: L250 has no Hoare annotation [2022-02-20 18:18:59,671 WARN L170 areAnnotationChecker]: L300-1 has no Hoare annotation [2022-02-20 18:18:59,674 WARN L170 areAnnotationChecker]: L162-1 has no Hoare annotation [2022-02-20 18:18:59,674 WARN L170 areAnnotationChecker]: L84-2 has no Hoare annotation [2022-02-20 18:18:59,674 WARN L170 areAnnotationChecker]: L252 has no Hoare annotation [2022-02-20 18:18:59,674 WARN L170 areAnnotationChecker]: L252 has no Hoare annotation [2022-02-20 18:18:59,674 WARN L170 areAnnotationChecker]: L302 has no Hoare annotation [2022-02-20 18:18:59,675 WARN L170 areAnnotationChecker]: L302 has no Hoare annotation [2022-02-20 18:18:59,675 WARN L170 areAnnotationChecker]: L324 has no Hoare annotation [2022-02-20 18:18:59,676 WARN L170 areAnnotationChecker]: L250 has no Hoare annotation [2022-02-20 18:18:59,676 WARN L170 areAnnotationChecker]: L179-1 has no Hoare annotation [2022-02-20 18:18:59,677 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2022-02-20 18:18:59,677 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2022-02-20 18:18:59,677 WARN L170 areAnnotationChecker]: L252-1 has no Hoare annotation [2022-02-20 18:18:59,677 WARN L170 areAnnotationChecker]: L252-1 has no Hoare annotation [2022-02-20 18:18:59,679 WARN L170 areAnnotationChecker]: L324 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L300-1 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L179-1 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L62 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L62 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L61-2 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L261 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L261 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L257 has no Hoare annotation [2022-02-20 18:18:59,680 WARN L170 areAnnotationChecker]: L257 has no Hoare annotation [2022-02-20 18:18:59,681 WARN L170 areAnnotationChecker]: L330 has no Hoare annotation [2022-02-20 18:18:59,681 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 18:18:59,681 WARN L170 areAnnotationChecker]: L182 has no Hoare annotation [2022-02-20 18:18:59,681 WARN L170 areAnnotationChecker]: L182 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: L106 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: L106 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: L276 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: L276 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: L330 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: L330 has no Hoare annotation [2022-02-20 18:18:59,684 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 18:18:59,685 WARN L170 areAnnotationChecker]: L183 has no Hoare annotation [2022-02-20 18:18:59,685 WARN L170 areAnnotationChecker]: L183 has no Hoare annotation [2022-02-20 18:18:59,685 WARN L170 areAnnotationChecker]: L92 has no Hoare annotation [2022-02-20 18:18:59,685 WARN L170 areAnnotationChecker]: L118 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L109 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L109 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L149 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L149 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L92 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L92 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L257 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L118 has no Hoare annotation [2022-02-20 18:18:59,686 WARN L170 areAnnotationChecker]: L118 has no Hoare annotation [2022-02-20 18:18:59,687 WARN L170 areAnnotationChecker]: L152 has no Hoare annotation [2022-02-20 18:18:59,688 WARN L170 areAnnotationChecker]: L152 has no Hoare annotation [2022-02-20 18:18:59,688 WARN L170 areAnnotationChecker]: L92-2 has no Hoare annotation [2022-02-20 18:18:59,688 WARN L170 areAnnotationChecker]: L134-1 has no Hoare annotation [2022-02-20 18:18:59,689 WARN L170 areAnnotationChecker]: L162-1 has no Hoare annotation [2022-02-20 18:18:59,689 WARN L170 areAnnotationChecker]: immediate_notify_threadsEXIT has no Hoare annotation [2022-02-20 18:18:59,690 WARN L170 areAnnotationChecker]: immediate_notify_threadsEXIT has no Hoare annotation [2022-02-20 18:18:59,690 WARN L170 areAnnotationChecker]: L134-1 has no Hoare annotation [2022-02-20 18:18:59,690 INFO L163 areAnnotationChecker]: CFG has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-02-20 18:18:59,722 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 06:18:59 BoogieIcfgContainer [2022-02-20 18:18:59,722 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 18:18:59,723 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 18:18:59,723 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 18:18:59,723 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 18:18:59,724 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 06:18:41" (3/4) ... [2022-02-20 18:18:59,726 INFO L137 WitnessPrinter]: Generating witness for correct program [2022-02-20 18:18:59,730 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure immediate_notify_threads [2022-02-20 18:18:59,730 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure exists_runnable_thread [2022-02-20 18:18:59,731 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure error [2022-02-20 18:18:59,736 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 15 nodes and edges [2022-02-20 18:18:59,736 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2022-02-20 18:18:59,737 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2022-02-20 18:18:59,737 INFO L910 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2022-02-20 18:18:59,763 WARN L220 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: (((((((!(2 == \old(c_dr_st)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || (__retres1 <= 0 && 0 <= __retres1)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write)) && (((((!(2 <= \old(p_dw_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || !(q_free == 1)) || !(c_last_read == p_last_write))) && ((((!(2 == \old(c_dr_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((((!(p_num_write == 1) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(c_num_read == 0)) || !(q_free == 0)) || (((\old(p_dw_st) == p_dw_st && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && 0 <= __retres1)) [2022-02-20 18:18:59,763 WARN L220 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: (((((((!(2 <= \old(p_dw_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || !(q_free == 1)) || !(c_last_read == p_last_write)) && (((((!(2 == \old(c_dr_st)) || (((__retres1 <= 0 && \result <= 0) && 0 <= \result) && 0 <= __retres1)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((!(2 == \old(c_dr_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((((!(p_num_write == 1) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || (((((\old(p_dw_st) == p_dw_st && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && \result <= 0) && 0 <= \result) && 0 <= __retres1)) || !(c_num_read == 0)) || !(q_free == 0)) [2022-02-20 18:18:59,764 WARN L220 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: (((((((((((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1) || !(p_num_write == 1)) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(c_num_read == 0)) || !(q_free == 0)) && (((((!(2 == \old(c_dr_st)) || ((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((!(2 == \old(c_dr_st)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || (c_dr_st == 2 && (\old(p_dw_st) == p_dw_st || p_dw_st == 0))) || !(c_num_read + 1 == p_num_write))) && ((((((!(2 <= \old(p_dw_st)) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || p_dw_st == 0) || (((\old(p_dw_st) == p_dw_st && tmp <= 0) && c_dr_st == \old(c_dr_st)) && 0 < tmp + 1)) || !(q_free == 1)) || !(c_last_read == p_last_write)) [2022-02-20 18:18:59,764 WARN L220 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: (((((((((((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1) || !(p_num_write == 1)) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(c_num_read == 0)) || !(q_free == 0)) && (((((!(2 == \old(c_dr_st)) || ((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((!(2 == \old(c_dr_st)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || (c_dr_st == 2 && (\old(p_dw_st) == p_dw_st || p_dw_st == 0))) || !(c_num_read + 1 == p_num_write))) && ((((((!(2 <= \old(p_dw_st)) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || p_dw_st == 0) || (((\old(p_dw_st) == p_dw_st && tmp <= 0) && c_dr_st == \old(c_dr_st)) && 0 < tmp + 1)) || !(q_free == 1)) || !(c_last_read == p_last_write)) [2022-02-20 18:18:59,787 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 18:18:59,787 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 18:18:59,788 INFO L158 Benchmark]: Toolchain (without parser) took 18766.31ms. Allocated memory was 98.6MB in the beginning and 209.7MB in the end (delta: 111.1MB). Free memory was 67.6MB in the beginning and 81.0MB in the end (delta: -13.4MB). Peak memory consumption was 97.6MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,789 INFO L158 Benchmark]: CDTParser took 0.21ms. Allocated memory is still 98.6MB. Free memory is still 56.0MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 18:18:59,789 INFO L158 Benchmark]: CACSL2BoogieTranslator took 267.45ms. Allocated memory was 98.6MB in the beginning and 119.5MB in the end (delta: 21.0MB). Free memory was 67.4MB in the beginning and 92.8MB in the end (delta: -25.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,789 INFO L158 Benchmark]: Boogie Procedure Inliner took 41.43ms. Allocated memory is still 119.5MB. Free memory was 92.8MB in the beginning and 90.7MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,789 INFO L158 Benchmark]: Boogie Preprocessor took 45.56ms. Allocated memory is still 119.5MB. Free memory was 90.7MB in the beginning and 89.1MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,790 INFO L158 Benchmark]: RCFGBuilder took 470.69ms. Allocated memory is still 119.5MB. Free memory was 89.1MB in the beginning and 73.3MB in the end (delta: 15.8MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,791 INFO L158 Benchmark]: TraceAbstraction took 17870.44ms. Allocated memory was 119.5MB in the beginning and 209.7MB in the end (delta: 90.2MB). Free memory was 72.8MB in the beginning and 86.3MB in the end (delta: -13.5MB). Peak memory consumption was 107.5MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,791 INFO L158 Benchmark]: Witness Printer took 64.62ms. Allocated memory is still 209.7MB. Free memory was 86.3MB in the beginning and 81.0MB in the end (delta: 5.2MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 18:18:59,793 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21ms. Allocated memory is still 98.6MB. Free memory is still 56.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 267.45ms. Allocated memory was 98.6MB in the beginning and 119.5MB in the end (delta: 21.0MB). Free memory was 67.4MB in the beginning and 92.8MB in the end (delta: -25.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 41.43ms. Allocated memory is still 119.5MB. Free memory was 92.8MB in the beginning and 90.7MB in the end (delta: 2.0MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 45.56ms. Allocated memory is still 119.5MB. Free memory was 90.7MB in the beginning and 89.1MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 470.69ms. Allocated memory is still 119.5MB. Free memory was 89.1MB in the beginning and 73.3MB in the end (delta: 15.8MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * TraceAbstraction took 17870.44ms. Allocated memory was 119.5MB in the beginning and 209.7MB in the end (delta: 90.2MB). Free memory was 72.8MB in the beginning and 86.3MB in the end (delta: -13.5MB). Peak memory consumption was 107.5MB. Max. memory is 16.1GB. * Witness Printer took 64.62ms. Allocated memory is still 209.7MB. Free memory was 86.3MB in the beginning and 81.0MB in the end (delta: 5.2MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 19]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 74 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 17.8s, OverallIterations: 9, TraceHistogramMax: 3, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 8.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 3.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 1336 SdHoareTripleChecker+Valid, 0.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 1323 mSDsluCounter, 3360 SdHoareTripleChecker+Invalid, 0.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 2095 mSDsCounter, 108 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 655 IncrementalHoareTripleChecker+Invalid, 763 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 108 mSolverCounterUnsat, 1265 mSDtfsCounter, 655 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 605 GetRequests, 531 SyntacticMatches, 1 SemanticMatches, 73 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 461 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=1086occurred in iteration=7, InterpolantAutomatonStates: 76, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.7s AutomataMinimizationTime, 9 MinimizatonAttempts, 1044 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 29 LocationsWithAnnotation, 722 PreInvPairs, 898 NumberOfFragments, 1804 HoareAnnotationTreeSize, 722 FomulaSimplifications, 1028 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 29 FomulaSimplificationsInter, 10284 FormulaSimplificationTreeSizeReductionInter, 2.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 2.9s InterpolantComputationTime, 906 NumberOfCodeBlocks, 906 NumberOfCodeBlocksAsserted, 13 NumberOfCheckSat, 1026 ConstructedInterpolants, 0 QuantifiedInterpolants, 1996 SizeOfPredicates, 4 NumberOfNonLiveVariables, 1142 ConjunctsInSsa, 21 ConjunctsInUnsatCore, 15 InterpolantComputations, 8 PerfectInterpolantSequences, 270/342 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 105]: Loop Invariant Derived loop invariant: ((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) || ((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && c_dr_pc == 0) - InvariantResult [Line: 41]: Loop Invariant Derived loop invariant: (((((((!(2 == \old(c_dr_st)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || (__retres1 <= 0 && 0 <= __retres1)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write)) && (((((!(2 <= \old(p_dw_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || !(q_free == 1)) || !(c_last_read == p_last_write))) && ((((!(2 == \old(c_dr_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((((!(p_num_write == 1) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(c_num_read == 0)) || !(q_free == 0)) || (((\old(p_dw_st) == p_dw_st && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && 0 <= __retres1)) - InvariantResult [Line: 342]: Loop Invariant Derived loop invariant: ((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write - InvariantResult [Line: 294]: Loop Invariant Derived loop invariant: (((((((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0)) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write)) || (((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write) && 2 <= p_dw_st) - InvariantResult [Line: 359]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 202]: Loop Invariant Derived loop invariant: (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write) && 2 <= p_dw_st) - InvariantResult [Line: 148]: Loop Invariant Derived loop invariant: ((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st - InvariantResult [Line: 323]: Loop Invariant Derived loop invariant: (((((((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0)) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write)) || (((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write) && 2 <= p_dw_st) - InvariantResult [Line: 60]: Loop Invariant Derived loop invariant: (((((((((((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1) || !(p_num_write == 1)) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(c_num_read == 0)) || !(q_free == 0)) && (((((!(2 == \old(c_dr_st)) || ((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((!(2 == \old(c_dr_st)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || (c_dr_st == 2 && (\old(p_dw_st) == p_dw_st || p_dw_st == 0))) || !(c_num_read + 1 == p_num_write))) && ((((((!(2 <= \old(p_dw_st)) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || p_dw_st == 0) || (((\old(p_dw_st) == p_dw_st && tmp <= 0) && c_dr_st == \old(c_dr_st)) && 0 < tmp + 1)) || !(q_free == 1)) || !(c_last_read == p_last_write)) - InvariantResult [Line: 38]: Loop Invariant Derived loop invariant: (((((((!(2 <= \old(p_dw_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || !(q_free == 1)) || !(c_last_read == p_last_write)) && (((((!(2 == \old(c_dr_st)) || (((__retres1 <= 0 && \result <= 0) && 0 <= \result) && 0 <= __retres1)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((!(2 == \old(c_dr_st)) || (\old(p_dw_st) == p_dw_st && c_dr_st == \old(c_dr_st))) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((((!(p_num_write == 1) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || (((((\old(p_dw_st) == p_dw_st && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && \result <= 0) && 0 <= \result) && 0 <= __retres1)) || !(c_num_read == 0)) || !(q_free == 0)) - InvariantResult [Line: 313]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 247]: Loop Invariant Derived loop invariant: (((((((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0)) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write)) || (((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write) && 2 <= p_dw_st) - InvariantResult [Line: 240]: Loop Invariant Derived loop invariant: (((((((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0)) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write)) || (((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write) && 2 <= p_dw_st) - InvariantResult [Line: 57]: Loop Invariant Derived loop invariant: (((((((((((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && c_dr_st == \old(c_dr_st)) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1) || !(p_num_write == 1)) || !(c_dr_pc == 0)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(c_num_read == 0)) || !(q_free == 0)) && (((((!(2 == \old(c_dr_st)) || ((((((\old(p_dw_st) == p_dw_st && tmp <= 0) && __retres1 <= 0) && \result <= 0) && 0 <= \result) && 0 < tmp + 1) && 0 <= __retres1)) || !(p_dw_pc == 0)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || !(c_num_read + 1 == p_num_write))) && ((((!(2 == \old(c_dr_st)) || !(p_last_write == q_buf_0)) || !(q_free == 0)) || (c_dr_st == 2 && (\old(p_dw_st) == p_dw_st || p_dw_st == 0))) || !(c_num_read + 1 == p_num_write))) && ((((((!(2 <= \old(p_dw_st)) || !(p_last_write == q_buf_0)) || !(c_num_read == p_num_write)) || p_dw_st == 0) || (((\old(p_dw_st) == p_dw_st && tmp <= 0) && c_dr_st == \old(c_dr_st)) && 0 < tmp + 1)) || !(q_free == 1)) || !(c_last_read == p_last_write)) - InvariantResult [Line: 105]: Loop Invariant Derived loop invariant: (((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) || ((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0)) || ((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write)) || ((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) - InvariantResult [Line: 148]: Loop Invariant Derived loop invariant: ((((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || ((((c_num_read == p_num_write && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_last_read == p_last_write)) || ((((c_num_read == p_num_write && p_last_write == q_buf_0) && q_free == 1) && c_last_read == p_last_write) && 2 <= p_dw_st) - InvariantResult [Line: 101]: Loop Invariant Derived loop invariant: (((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || (((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0) && 2 <= p_dw_st) - InvariantResult [Line: 145]: Loop Invariant Derived loop invariant: ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && 2 <= p_dw_st) - InvariantResult [Line: 223]: Loop Invariant Derived loop invariant: 1 - InvariantResult [Line: 298]: Loop Invariant Derived loop invariant: (((((((p_last_write == q_buf_0 && c_num_read + 1 == p_num_write) && q_free == 0) && 2 <= p_dw_st) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0)) || ((((c_num_read == p_num_write && c_dr_st == 2) && p_last_write == q_buf_0) && q_free == 1) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && p_dw_st == 0) && c_dr_pc == 0) && c_last_read == p_last_write)) || (((c_dr_st == 2 && p_last_write == q_buf_0) && q_free == 0) && 2 <= p_dw_st)) || (((((((p_dw_pc == 0 && p_num_write == 0) && c_num_read == 0) && p_last_write == q_buf_0) && q_free == 1) && c_dr_pc == 0) && c_last_read == p_last_write) && 2 <= p_dw_st) RESULT: Ultimate proved your program to be correct! [2022-02-20 18:18:59,847 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE