./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) 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/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-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 valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a81d76a671fec08918102c7898e8919d02b265d05707efa1508363dab4714d44 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:57:25,177 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:57:25,179 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:57:25,213 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:57:25,214 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:57:25,216 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:57:25,217 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:57:25,221 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:57:25,222 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:57:25,226 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:57:25,226 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:57:25,227 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:57:25,227 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:57:25,230 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:57:25,231 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:57:25,234 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:57:25,235 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:57:25,235 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:57:25,237 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:57:25,242 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:57:25,243 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:57:25,244 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:57:25,245 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:57:25,246 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:57:25,251 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:57:25,251 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:57:25,251 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:57:25,253 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:57:25,253 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:57:25,254 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:57:25,254 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:57:25,255 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:57:25,256 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:57:25,257 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:57:25,258 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:57:25,258 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:57:25,258 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:57:25,259 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:57:25,259 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:57:25,259 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:57:25,260 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:57:25,260 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:57:25,283 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:57:25,283 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:57:25,284 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:57:25,284 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:57:25,284 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:57:25,285 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:57:25,285 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:57:25,285 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:57:25,285 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:57:25,285 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:57:25,286 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:57:25,286 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:57:25,286 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:57:25,287 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:57:25,288 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:57:25,288 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:57:25,288 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:57:25,288 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:57:25,288 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:57:25,288 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:25,288 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:57:25,289 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:57:25,289 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:57:25,289 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:57:25,289 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 valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) 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 -> a81d76a671fec08918102c7898e8919d02b265d05707efa1508363dab4714d44 [2022-02-20 23:57:25,476 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:57:25,499 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:57:25,502 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:57:25,503 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:57:25,503 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:57:25,505 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i [2022-02-20 23:57:25,571 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cdb44feb/2728247376fd4bd9978719ed094bd162/FLAG97fadf392 [2022-02-20 23:57:26,044 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:57:26,050 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i [2022-02-20 23:57:26,069 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cdb44feb/2728247376fd4bd9978719ed094bd162/FLAG97fadf392 [2022-02-20 23:57:26,106 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cdb44feb/2728247376fd4bd9978719ed094bd162 [2022-02-20 23:57:26,109 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:57:26,119 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:57:26,122 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:26,122 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:57:26,125 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:57:26,126 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,127 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6fa4881 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26, skipping insertion in model container [2022-02-20 23:57:26,127 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,132 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:57:26,165 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:57:26,539 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/list-simple/dll2c_remove_all_reverse.i[24177,24190] [2022-02-20 23:57:26,540 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:26,549 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:57:26,575 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/list-simple/dll2c_remove_all_reverse.i[24177,24190] [2022-02-20 23:57:26,575 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:26,593 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:57:26,593 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26 WrapperNode [2022-02-20 23:57:26,595 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:26,596 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:26,596 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:57:26,596 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:57:26,602 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,612 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,636 INFO L137 Inliner]: procedures = 126, calls = 37, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 111 [2022-02-20 23:57:26,639 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:26,640 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:57:26,640 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:57:26,640 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:57:26,645 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,662 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,663 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,668 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,673 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,679 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,681 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:57:26,682 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:57:26,682 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:57:26,682 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:57:26,683 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (1/1) ... [2022-02-20 23:57:26,699 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:26,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:26,721 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 23:57:26,726 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 23:57:26,745 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:57:26,745 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 23:57:26,745 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 23:57:26,745 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:57:26,745 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:57:26,745 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:57:26,745 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:57:26,746 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:57:26,746 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:57:26,746 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:57:26,746 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:57:26,746 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:57:26,746 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:57:26,811 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:57:26,813 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:57:27,285 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:57:27,291 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:57:27,291 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 23:57:27,292 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:27 BoogieIcfgContainer [2022-02-20 23:57:27,293 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:57:27,295 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:57:27,295 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:57:27,297 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:57:27,298 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:57:26" (1/3) ... [2022-02-20 23:57:27,298 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7fbbf94d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:27, skipping insertion in model container [2022-02-20 23:57:27,298 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:26" (2/3) ... [2022-02-20 23:57:27,299 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7fbbf94d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:27, skipping insertion in model container [2022-02-20 23:57:27,299 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:27" (3/3) ... [2022-02-20 23:57:27,300 INFO L111 eAbstractionObserver]: Analyzing ICFG dll2c_remove_all_reverse.i [2022-02-20 23:57:27,304 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:57:27,304 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 44 error locations. [2022-02-20 23:57:27,342 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:57:27,347 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=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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 23:57:27,348 INFO L340 AbstractCegarLoop]: Starting to check reachability of 44 error locations. [2022-02-20 23:57:27,367 INFO L276 IsEmpty]: Start isEmpty. Operand has 98 states, 50 states have (on average 2.04) internal successors, (102), 94 states have internal predecessors, (102), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:27,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:27,372 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:27,372 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:27,373 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting node_createErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:27,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:27,377 INFO L85 PathProgramCache]: Analyzing trace with hash 893702386, now seen corresponding path program 1 times [2022-02-20 23:57:27,386 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:27,386 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572604811] [2022-02-20 23:57:27,386 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:27,387 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:27,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:27,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#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(27, 2); {101#true} is VALID [2022-02-20 23:57:27,552 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {101#true} is VALID [2022-02-20 23:57:27,553 INFO L272 TraceCheckUtils]: 2: Hoare triple {101#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {101#true} is VALID [2022-02-20 23:57:27,555 INFO L290 TraceCheckUtils]: 3: Hoare triple {101#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {103#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:27,556 INFO L290 TraceCheckUtils]: 4: Hoare triple {103#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {103#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:27,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {103#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(1 == #valid[~temp~0#1.base]); {102#false} is VALID [2022-02-20 23:57:27,557 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 23:57:27,558 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:27,558 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [572604811] [2022-02-20 23:57:27,558 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [572604811] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:27,559 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:27,559 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:27,562 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [815693513] [2022-02-20 23:57:27,562 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:27,569 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:27,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:27,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:27,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:27,594 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:27,594 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:27,612 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:27,613 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:27,615 INFO L87 Difference]: Start difference. First operand has 98 states, 50 states have (on average 2.04) internal successors, (102), 94 states have internal predecessors, (102), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:27,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:27,829 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2022-02-20 23:57:27,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:27,830 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:27,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:27,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:27,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-02-20 23:57:27,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:27,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-02-20 23:57:27,845 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-02-20 23:57:27,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:27,937 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:57:27,937 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:57:27,939 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:27,942 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 10 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:27,943 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 138 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:27,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:57:27,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-02-20 23:57:27,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:27,977 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:27,979 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:27,982 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:27,991 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:27,991 INFO L93 Difference]: Finished difference Result 92 states and 96 transitions. [2022-02-20 23:57:27,991 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2022-02-20 23:57:27,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:27,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:27,993 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:57:27,993 INFO L87 Difference]: Start difference. First operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:57:28,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,003 INFO L93 Difference]: Finished difference Result 92 states and 96 transitions. [2022-02-20 23:57:28,003 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2022-02-20 23:57:28,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:28,004 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:28,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 96 transitions. [2022-02-20 23:57:28,009 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 96 transitions. Word has length 6 [2022-02-20 23:57:28,009 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:28,009 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 96 transitions. [2022-02-20 23:57:28,009 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:28,009 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2022-02-20 23:57:28,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:28,010 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:28,010 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:28,010 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:57:28,010 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting node_createErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:28,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:28,012 INFO L85 PathProgramCache]: Analyzing trace with hash 893702387, now seen corresponding path program 1 times [2022-02-20 23:57:28,013 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:28,013 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1212851720] [2022-02-20 23:57:28,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:28,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:28,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,082 INFO L290 TraceCheckUtils]: 0: Hoare triple {477#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(27, 2); {477#true} is VALID [2022-02-20 23:57:28,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {477#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {477#true} is VALID [2022-02-20 23:57:28,082 INFO L272 TraceCheckUtils]: 2: Hoare triple {477#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {477#true} is VALID [2022-02-20 23:57:28,083 INFO L290 TraceCheckUtils]: 3: Hoare triple {477#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {479#(and (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 12)) 0) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:28,084 INFO L290 TraceCheckUtils]: 4: Hoare triple {479#(and (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 12)) 0) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {479#(and (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 12)) 0) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:28,084 INFO L290 TraceCheckUtils]: 5: Hoare triple {479#(and (= (+ (select |#length| |node_create_~temp~0#1.base|) (- 12)) 0) (= |node_create_~temp~0#1.offset| 0))} assume !(4 + ~temp~0#1.offset <= #length[~temp~0#1.base] && 0 <= ~temp~0#1.offset); {478#false} is VALID [2022-02-20 23:57:28,084 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 23:57:28,085 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:28,085 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1212851720] [2022-02-20 23:57:28,085 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1212851720] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:28,085 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:28,085 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:28,086 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1216569801] [2022-02-20 23:57:28,086 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:28,087 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:28,087 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:28,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:28,092 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:28,093 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:28,093 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:28,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:28,093 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:28,094 INFO L87 Difference]: Start difference. First operand 92 states and 96 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:28,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,215 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-02-20 23:57:28,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:28,215 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:28,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:28,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:28,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 96 transitions. [2022-02-20 23:57:28,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:28,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 96 transitions. [2022-02-20 23:57:28,219 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 96 transitions. [2022-02-20 23:57:28,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:28,293 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:57:28,293 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:57:28,294 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:28,295 INFO L933 BasicCegarLoop]: 88 mSDtfsCounter, 5 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:28,295 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 140 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:28,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:57:28,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 89. [2022-02-20 23:57:28,299 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:28,299 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,299 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,300 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,302 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-02-20 23:57:28,302 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:28,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:28,304 INFO L87 Difference]: Start difference. First operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:28,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,306 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-02-20 23:57:28,307 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:28,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:28,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:28,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2022-02-20 23:57:28,310 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 6 [2022-02-20 23:57:28,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:28,310 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2022-02-20 23:57:28,310 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:28,311 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:28,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:57:28,311 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:28,311 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:28,311 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:57:28,311 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:28,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:28,312 INFO L85 PathProgramCache]: Analyzing trace with hash -413883200, now seen corresponding path program 1 times [2022-02-20 23:57:28,312 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:28,312 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1926532966] [2022-02-20 23:57:28,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:28,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:28,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:28,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,407 INFO L290 TraceCheckUtils]: 0: Hoare triple {849#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {838#true} is VALID [2022-02-20 23:57:28,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {838#true} is VALID [2022-02-20 23:57:28,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {838#true} is VALID [2022-02-20 23:57:28,408 INFO L290 TraceCheckUtils]: 3: Hoare triple {838#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {838#true} is VALID [2022-02-20 23:57:28,408 INFO L290 TraceCheckUtils]: 4: Hoare triple {838#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {838#true} is VALID [2022-02-20 23:57:28,408 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {838#true} is VALID [2022-02-20 23:57:28,408 INFO L290 TraceCheckUtils]: 6: Hoare triple {838#true} assume true; {838#true} is VALID [2022-02-20 23:57:28,409 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {838#true} {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #143#return; {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:28,409 INFO L290 TraceCheckUtils]: 0: Hoare triple {838#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(27, 2); {838#true} is VALID [2022-02-20 23:57:28,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:28,411 INFO L272 TraceCheckUtils]: 2: Hoare triple {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {849#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:28,411 INFO L290 TraceCheckUtils]: 3: Hoare triple {849#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {838#true} is VALID [2022-02-20 23:57:28,411 INFO L290 TraceCheckUtils]: 4: Hoare triple {838#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {838#true} is VALID [2022-02-20 23:57:28,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {838#true} is VALID [2022-02-20 23:57:28,412 INFO L290 TraceCheckUtils]: 6: Hoare triple {838#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {838#true} is VALID [2022-02-20 23:57:28,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {838#true} is VALID [2022-02-20 23:57:28,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {838#true} is VALID [2022-02-20 23:57:28,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-02-20 23:57:28,413 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #143#return; {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:28,413 INFO L290 TraceCheckUtils]: 11: Hoare triple {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:28,414 INFO L290 TraceCheckUtils]: 12: Hoare triple {840#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} assume !(dll_circular_create_~len#1 > 1); {839#false} is VALID [2022-02-20 23:57:28,414 INFO L290 TraceCheckUtils]: 13: Hoare triple {839#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {839#false} is VALID [2022-02-20 23:57:28,414 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 23:57:28,415 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:28,415 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1926532966] [2022-02-20 23:57:28,415 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1926532966] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:28,415 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:28,415 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:57:28,415 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [88501192] [2022-02-20 23:57:28,415 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:28,416 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-02-20 23:57:28,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:28,416 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:28,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:28,439 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:57:28,439 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:28,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:57:28,439 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:57:28,440 INFO L87 Difference]: Start difference. First operand 89 states and 93 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:28,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,628 INFO L93 Difference]: Finished difference Result 100 states and 106 transitions. [2022-02-20 23:57:28,628 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:57:28,629 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-02-20 23:57:28,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:28,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:28,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 107 transitions. [2022-02-20 23:57:28,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:28,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 107 transitions. [2022-02-20 23:57:28,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 107 transitions. [2022-02-20 23:57:28,711 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:28,713 INFO L225 Difference]: With dead ends: 100 [2022-02-20 23:57:28,713 INFO L226 Difference]: Without dead ends: 100 [2022-02-20 23:57:28,713 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:57:28,714 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 10 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:28,714 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 209 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:28,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-02-20 23:57:28,717 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 90. [2022-02-20 23:57:28,717 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:28,718 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,718 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,718 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,721 INFO L93 Difference]: Finished difference Result 100 states and 106 transitions. [2022-02-20 23:57:28,721 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2022-02-20 23:57:28,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,722 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 100 states. [2022-02-20 23:57:28,722 INFO L87 Difference]: Start difference. First operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 100 states. [2022-02-20 23:57:28,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,724 INFO L93 Difference]: Finished difference Result 100 states and 106 transitions. [2022-02-20 23:57:28,725 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2022-02-20 23:57:28,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:28,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:28,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:28,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 94 transitions. [2022-02-20 23:57:28,727 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 94 transitions. Word has length 14 [2022-02-20 23:57:28,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:28,728 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 94 transitions. [2022-02-20 23:57:28,728 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:28,728 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2022-02-20 23:57:28,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:28,729 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:28,729 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:28,729 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:57:28,729 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:28,729 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:28,730 INFO L85 PathProgramCache]: Analyzing trace with hash 1410538016, now seen corresponding path program 1 times [2022-02-20 23:57:28,730 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:28,730 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1719010647] [2022-02-20 23:57:28,730 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:28,730 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:28,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,783 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:28,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {1262#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,796 INFO L290 TraceCheckUtils]: 1: Hoare triple {1242#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1242#true} is VALID [2022-02-20 23:57:28,796 INFO L290 TraceCheckUtils]: 2: Hoare triple {1242#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1242#true} is VALID [2022-02-20 23:57:28,796 INFO L290 TraceCheckUtils]: 3: Hoare triple {1242#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1242#true} is VALID [2022-02-20 23:57:28,796 INFO L290 TraceCheckUtils]: 4: Hoare triple {1242#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1242#true} is VALID [2022-02-20 23:57:28,796 INFO L290 TraceCheckUtils]: 5: Hoare triple {1242#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,797 INFO L290 TraceCheckUtils]: 6: Hoare triple {1242#true} assume true; {1242#true} is VALID [2022-02-20 23:57:28,797 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1242#true} {1242#true} #143#return; {1242#true} is VALID [2022-02-20 23:57:28,797 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:28,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,825 INFO L290 TraceCheckUtils]: 0: Hoare triple {1262#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {1242#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1242#true} is VALID [2022-02-20 23:57:28,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {1242#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:28,827 INFO L290 TraceCheckUtils]: 3: Hoare triple {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:28,827 INFO L290 TraceCheckUtils]: 4: Hoare triple {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:28,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:28,828 INFO L290 TraceCheckUtils]: 6: Hoare triple {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:28,829 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} {1242#true} #145#return; {1260#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:28,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {1242#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(27, 2); {1242#true} is VALID [2022-02-20 23:57:28,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {1242#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {1242#true} is VALID [2022-02-20 23:57:28,830 INFO L272 TraceCheckUtils]: 2: Hoare triple {1242#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {1262#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:28,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {1262#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,830 INFO L290 TraceCheckUtils]: 4: Hoare triple {1242#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1242#true} is VALID [2022-02-20 23:57:28,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {1242#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1242#true} is VALID [2022-02-20 23:57:28,830 INFO L290 TraceCheckUtils]: 6: Hoare triple {1242#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1242#true} is VALID [2022-02-20 23:57:28,831 INFO L290 TraceCheckUtils]: 7: Hoare triple {1242#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1242#true} is VALID [2022-02-20 23:57:28,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {1242#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {1242#true} assume true; {1242#true} is VALID [2022-02-20 23:57:28,831 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1242#true} {1242#true} #143#return; {1242#true} is VALID [2022-02-20 23:57:28,831 INFO L290 TraceCheckUtils]: 11: Hoare triple {1242#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,831 INFO L290 TraceCheckUtils]: 12: Hoare triple {1242#true} assume !!(dll_circular_create_~len#1 > 1); {1242#true} is VALID [2022-02-20 23:57:28,832 INFO L272 TraceCheckUtils]: 13: Hoare triple {1242#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {1262#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:28,832 INFO L290 TraceCheckUtils]: 14: Hoare triple {1262#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1242#true} is VALID [2022-02-20 23:57:28,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {1242#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1242#true} is VALID [2022-02-20 23:57:28,833 INFO L290 TraceCheckUtils]: 16: Hoare triple {1242#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:28,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:28,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:28,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {1263#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:28,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:28,836 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1264#(= (select |#valid| |node_create_#res#1.base|) 1)} {1242#true} #145#return; {1260#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:28,836 INFO L290 TraceCheckUtils]: 22: Hoare triple {1260#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {1261#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:28,836 INFO L290 TraceCheckUtils]: 23: Hoare triple {1261#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~new_head~0#1.base]); {1243#false} is VALID [2022-02-20 23:57:28,837 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:57:28,837 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:28,837 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1719010647] [2022-02-20 23:57:28,837 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1719010647] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:28,838 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:28,838 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:57:28,838 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1047199664] [2022-02-20 23:57:28,838 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:28,838 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:28,839 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:28,839 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:28,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:28,853 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:28,853 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:28,853 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:28,853 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:28,854 INFO L87 Difference]: Start difference. First operand 90 states and 94 transitions. Second operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:29,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:29,319 INFO L93 Difference]: Finished difference Result 127 states and 134 transitions. [2022-02-20 23:57:29,319 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:29,319 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:29,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:29,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:29,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 135 transitions. [2022-02-20 23:57:29,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:29,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 135 transitions. [2022-02-20 23:57:29,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 135 transitions. [2022-02-20 23:57:29,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:29,414 INFO L225 Difference]: With dead ends: 127 [2022-02-20 23:57:29,414 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 23:57:29,414 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:29,415 INFO L933 BasicCegarLoop]: 62 mSDtfsCounter, 57 mSDsluCounter, 197 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 279 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:29,415 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 259 Invalid, 279 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 278 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:29,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 23:57:29,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 89. [2022-02-20 23:57:29,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:29,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:29,419 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:29,419 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:29,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:29,423 INFO L93 Difference]: Finished difference Result 127 states and 134 transitions. [2022-02-20 23:57:29,423 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 134 transitions. [2022-02-20 23:57:29,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:29,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:29,424 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 127 states. [2022-02-20 23:57:29,424 INFO L87 Difference]: Start difference. First operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 127 states. [2022-02-20 23:57:29,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:29,428 INFO L93 Difference]: Finished difference Result 127 states and 134 transitions. [2022-02-20 23:57:29,428 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 134 transitions. [2022-02-20 23:57:29,429 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:29,429 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:29,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:29,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:29,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:29,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2022-02-20 23:57:29,431 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 24 [2022-02-20 23:57:29,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:29,432 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2022-02-20 23:57:29,432 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:29,432 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:29,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:29,432 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:29,433 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:29,433 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:57:29,433 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:29,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:29,433 INFO L85 PathProgramCache]: Analyzing trace with hash 1410538017, now seen corresponding path program 1 times [2022-02-20 23:57:29,433 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:29,434 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257884361] [2022-02-20 23:57:29,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:29,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:29,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:29,500 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:29,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:29,511 INFO L290 TraceCheckUtils]: 0: Hoare triple {1759#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1739#true} is VALID [2022-02-20 23:57:29,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {1739#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1739#true} is VALID [2022-02-20 23:57:29,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {1739#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1739#true} is VALID [2022-02-20 23:57:29,511 INFO L290 TraceCheckUtils]: 3: Hoare triple {1739#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1739#true} is VALID [2022-02-20 23:57:29,512 INFO L290 TraceCheckUtils]: 4: Hoare triple {1739#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1739#true} is VALID [2022-02-20 23:57:29,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {1739#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1739#true} is VALID [2022-02-20 23:57:29,512 INFO L290 TraceCheckUtils]: 6: Hoare triple {1739#true} assume true; {1739#true} is VALID [2022-02-20 23:57:29,512 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1739#true} {1739#true} #143#return; {1739#true} is VALID [2022-02-20 23:57:29,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:29,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:29,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {1759#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,551 INFO L290 TraceCheckUtils]: 3: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,552 INFO L290 TraceCheckUtils]: 4: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:29,553 INFO L290 TraceCheckUtils]: 6: Hoare triple {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:29,554 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {1739#true} #145#return; {1757#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| 0))} is VALID [2022-02-20 23:57:29,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {1739#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(27, 2); {1739#true} is VALID [2022-02-20 23:57:29,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {1739#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {1739#true} is VALID [2022-02-20 23:57:29,555 INFO L272 TraceCheckUtils]: 2: Hoare triple {1739#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {1759#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:29,556 INFO L290 TraceCheckUtils]: 3: Hoare triple {1759#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1739#true} is VALID [2022-02-20 23:57:29,556 INFO L290 TraceCheckUtils]: 4: Hoare triple {1739#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1739#true} is VALID [2022-02-20 23:57:29,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {1739#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1739#true} is VALID [2022-02-20 23:57:29,556 INFO L290 TraceCheckUtils]: 6: Hoare triple {1739#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1739#true} is VALID [2022-02-20 23:57:29,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {1739#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1739#true} is VALID [2022-02-20 23:57:29,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {1739#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1739#true} is VALID [2022-02-20 23:57:29,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {1739#true} assume true; {1739#true} is VALID [2022-02-20 23:57:29,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1739#true} {1739#true} #143#return; {1739#true} is VALID [2022-02-20 23:57:29,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {1739#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {1739#true} is VALID [2022-02-20 23:57:29,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {1739#true} assume !!(dll_circular_create_~len#1 > 1); {1739#true} is VALID [2022-02-20 23:57:29,558 INFO L272 TraceCheckUtils]: 13: Hoare triple {1739#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {1759#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:29,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {1759#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,561 INFO L290 TraceCheckUtils]: 16: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:29,562 INFO L290 TraceCheckUtils]: 19: Hoare triple {1760#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:29,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:29,563 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1761#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {1739#true} #145#return; {1757#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| 0))} is VALID [2022-02-20 23:57:29,564 INFO L290 TraceCheckUtils]: 22: Hoare triple {1757#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {1758#(and (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:29,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {1758#(and (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (- 12)) 0))} assume !(4 + dll_circular_create_~new_head~0#1.offset <= #length[dll_circular_create_~new_head~0#1.base] && 0 <= dll_circular_create_~new_head~0#1.offset); {1740#false} is VALID [2022-02-20 23:57:29,564 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:29,565 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:29,565 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257884361] [2022-02-20 23:57:29,565 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257884361] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:29,565 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:29,565 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:57:29,565 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [152999071] [2022-02-20 23:57:29,565 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:29,566 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:29,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:29,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:29,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:29,582 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:29,583 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:29,583 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:29,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:29,583 INFO L87 Difference]: Start difference. First operand 89 states and 93 transitions. Second operand has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:30,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:30,050 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-02-20 23:57:30,050 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:30,050 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:30,050 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:30,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:30,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-02-20 23:57:30,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:30,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 95 transitions. [2022-02-20 23:57:30,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 95 transitions. [2022-02-20 23:57:30,122 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:30,123 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:57:30,123 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:57:30,124 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:30,124 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 78 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 232 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 232 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 232 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:30,125 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 241 Invalid, 232 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 232 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:30,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:57:30,127 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-02-20 23:57:30,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:30,128 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:30,128 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:30,128 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:30,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:30,130 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-02-20 23:57:30,130 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 94 transitions. [2022-02-20 23:57:30,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:30,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:30,131 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:30,131 INFO L87 Difference]: Start difference. First operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:30,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:30,133 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-02-20 23:57:30,133 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 94 transitions. [2022-02-20 23:57:30,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:30,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:30,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:30,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:30,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:30,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 92 transitions. [2022-02-20 23:57:30,135 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 92 transitions. Word has length 24 [2022-02-20 23:57:30,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:30,135 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 92 transitions. [2022-02-20 23:57:30,136 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:30,136 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 92 transitions. [2022-02-20 23:57:30,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:30,136 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:30,136 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:30,136 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:57:30,136 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:30,137 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:30,137 INFO L85 PathProgramCache]: Analyzing trace with hash -1682632447, now seen corresponding path program 1 times [2022-02-20 23:57:30,137 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:30,137 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [949827043] [2022-02-20 23:57:30,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:30,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:30,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:30,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,231 INFO L290 TraceCheckUtils]: 0: Hoare triple {2141#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2121#true} is VALID [2022-02-20 23:57:30,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {2121#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2121#true} is VALID [2022-02-20 23:57:30,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {2121#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,232 INFO L290 TraceCheckUtils]: 3: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,233 INFO L290 TraceCheckUtils]: 4: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:30,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:30,234 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} {2121#true} #143#return; {2131#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:57:30,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:30,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,277 INFO L290 TraceCheckUtils]: 0: Hoare triple {2141#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,279 INFO L290 TraceCheckUtils]: 3: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,280 INFO L290 TraceCheckUtils]: 4: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:30,281 INFO L290 TraceCheckUtils]: 6: Hoare triple {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:30,282 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} #145#return; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {2121#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(27, 2); {2121#true} is VALID [2022-02-20 23:57:30,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {2121#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2121#true} is VALID [2022-02-20 23:57:30,283 INFO L272 TraceCheckUtils]: 2: Hoare triple {2121#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2141#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:30,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {2141#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2121#true} is VALID [2022-02-20 23:57:30,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {2121#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2121#true} is VALID [2022-02-20 23:57:30,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {2121#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,284 INFO L290 TraceCheckUtils]: 6: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:30,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:30,286 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} {2121#true} #143#return; {2131#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:57:30,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {2131#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,287 INFO L290 TraceCheckUtils]: 12: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !!(dll_circular_create_~len#1 > 1); {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,287 INFO L272 TraceCheckUtils]: 13: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2141#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:30,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {2141#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,288 INFO L290 TraceCheckUtils]: 15: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,289 INFO L290 TraceCheckUtils]: 16: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,290 INFO L290 TraceCheckUtils]: 18: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:30,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {2144#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:30,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:30,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2145#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} #145#return; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,293 INFO L290 TraceCheckUtils]: 24: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {2122#false} is VALID [2022-02-20 23:57:30,294 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:30,294 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:30,294 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [949827043] [2022-02-20 23:57:30,294 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [949827043] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:30,294 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1954956149] [2022-02-20 23:57:30,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:30,295 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:30,295 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:30,296 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 23:57:30,335 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 23:57:30,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,390 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:57:30,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:30,455 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:30,724 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:57:30,725 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:57:30,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {2121#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(27, 2); {2121#true} is VALID [2022-02-20 23:57:30,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {2121#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2121#true} is VALID [2022-02-20 23:57:30,766 INFO L272 TraceCheckUtils]: 2: Hoare triple {2121#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2121#true} is VALID [2022-02-20 23:57:30,766 INFO L290 TraceCheckUtils]: 3: Hoare triple {2121#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,767 INFO L290 TraceCheckUtils]: 4: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,768 INFO L290 TraceCheckUtils]: 6: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,768 INFO L290 TraceCheckUtils]: 7: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:30,769 INFO L290 TraceCheckUtils]: 8: Hoare triple {2142#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:30,769 INFO L290 TraceCheckUtils]: 9: Hoare triple {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:30,770 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2143#(= (select |#valid| |node_create_#res#1.base|) 1)} {2121#true} #143#return; {2131#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:57:30,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {2131#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,771 INFO L290 TraceCheckUtils]: 12: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !!(dll_circular_create_~len#1 > 1); {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,771 INFO L272 TraceCheckUtils]: 13: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2188#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:57:30,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {2188#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,774 INFO L290 TraceCheckUtils]: 16: Hoare triple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,775 INFO L290 TraceCheckUtils]: 17: Hoare triple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,776 INFO L290 TraceCheckUtils]: 19: Hoare triple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} assume true; {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:30,786 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2192#(exists ((|node_create_~temp~0#1.base| Int)) (and (exists ((v_ArrVal_352 Int)) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_352) |#valid|)) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|))))} {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} #145#return; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,787 INFO L290 TraceCheckUtils]: 22: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,788 INFO L290 TraceCheckUtils]: 24: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:30,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {2132#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {2122#false} is VALID [2022-02-20 23:57:30,788 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:30,788 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:30,941 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1954956149] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:30,941 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:30,941 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-02-20 23:57:30,942 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [478832742] [2022-02-20 23:57:30,942 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:30,942 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-02-20 23:57:30,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:30,944 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:30,989 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:30,990 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:57:30,990 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:30,990 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:57:30,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:57:30,991 INFO L87 Difference]: Start difference. First operand 88 states and 92 transitions. Second operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:31,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:31,558 INFO L93 Difference]: Finished difference Result 132 states and 140 transitions. [2022-02-20 23:57:31,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:31,559 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-02-20 23:57:31,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:31,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:31,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 141 transitions. [2022-02-20 23:57:31,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:31,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 141 transitions. [2022-02-20 23:57:31,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 141 transitions. [2022-02-20 23:57:31,645 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:31,646 INFO L225 Difference]: With dead ends: 132 [2022-02-20 23:57:31,646 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:57:31,647 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:57:31,649 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 49 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 287 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 294 SdHoareTripleChecker+Invalid, 343 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 287 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 48 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:31,649 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 294 Invalid, 343 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 287 Invalid, 0 Unknown, 48 Unchecked, 0.2s Time] [2022-02-20 23:57:31,651 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:57:31,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 93. [2022-02-20 23:57:31,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:31,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 93 states, 53 states have (on average 1.7735849056603774) internal successors, (94), 88 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:31,664 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 93 states, 53 states have (on average 1.7735849056603774) internal successors, (94), 88 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:31,664 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 93 states, 53 states have (on average 1.7735849056603774) internal successors, (94), 88 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:31,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:31,666 INFO L93 Difference]: Finished difference Result 132 states and 140 transitions. [2022-02-20 23:57:31,667 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 140 transitions. [2022-02-20 23:57:31,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:31,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:31,667 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 53 states have (on average 1.7735849056603774) internal successors, (94), 88 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 132 states. [2022-02-20 23:57:31,668 INFO L87 Difference]: Start difference. First operand has 93 states, 53 states have (on average 1.7735849056603774) internal successors, (94), 88 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 132 states. [2022-02-20 23:57:31,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:31,671 INFO L93 Difference]: Finished difference Result 132 states and 140 transitions. [2022-02-20 23:57:31,671 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 140 transitions. [2022-02-20 23:57:31,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:31,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:31,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:31,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:31,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 53 states have (on average 1.7735849056603774) internal successors, (94), 88 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:31,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 100 transitions. [2022-02-20 23:57:31,674 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 100 transitions. Word has length 26 [2022-02-20 23:57:31,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:31,674 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 100 transitions. [2022-02-20 23:57:31,674 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 2 states have call successors, (4), 3 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:31,674 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 100 transitions. [2022-02-20 23:57:31,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:31,675 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:31,675 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:31,697 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 23:57:31,890 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 23:57:31,890 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:31,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:31,890 INFO L85 PathProgramCache]: Analyzing trace with hash -1682632446, now seen corresponding path program 1 times [2022-02-20 23:57:31,891 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:31,891 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [878123833] [2022-02-20 23:57:31,891 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:31,891 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:31,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:32,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,083 INFO L290 TraceCheckUtils]: 0: Hoare triple {2756#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,086 INFO L290 TraceCheckUtils]: 3: Hoare triple {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,086 INFO L290 TraceCheckUtils]: 4: Hoare triple {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,087 INFO L290 TraceCheckUtils]: 5: Hoare triple {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:57:32,087 INFO L290 TraceCheckUtils]: 6: Hoare triple {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:57:32,088 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} {2735#true} #143#return; {2745#(and (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 12))} is VALID [2022-02-20 23:57:32,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:32,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {2756#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,148 INFO L290 TraceCheckUtils]: 3: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,148 INFO L290 TraceCheckUtils]: 4: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:57:32,149 INFO L290 TraceCheckUtils]: 6: Hoare triple {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} assume true; {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:57:32,151 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} {2746#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1))} #145#return; {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:32,151 INFO L290 TraceCheckUtils]: 0: Hoare triple {2735#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(27, 2); {2735#true} is VALID [2022-02-20 23:57:32,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {2735#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2735#true} is VALID [2022-02-20 23:57:32,152 INFO L272 TraceCheckUtils]: 2: Hoare triple {2735#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2756#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:32,152 INFO L290 TraceCheckUtils]: 3: Hoare triple {2756#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,155 INFO L290 TraceCheckUtils]: 4: Hoare triple {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,157 INFO L290 TraceCheckUtils]: 6: Hoare triple {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:32,158 INFO L290 TraceCheckUtils]: 8: Hoare triple {2758#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:57:32,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:57:32,159 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2759#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} {2735#true} #143#return; {2745#(and (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 12))} is VALID [2022-02-20 23:57:32,160 INFO L290 TraceCheckUtils]: 11: Hoare triple {2745#(and (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 12))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {2746#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1))} is VALID [2022-02-20 23:57:32,160 INFO L290 TraceCheckUtils]: 12: Hoare triple {2746#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1))} assume !!(dll_circular_create_~len#1 > 1); {2746#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1))} is VALID [2022-02-20 23:57:32,161 INFO L272 TraceCheckUtils]: 13: Hoare triple {2746#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2756#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:32,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {2756#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,164 INFO L290 TraceCheckUtils]: 18: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,164 INFO L290 TraceCheckUtils]: 19: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:57:32,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} assume true; {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} is VALID [2022-02-20 23:57:32,166 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2761#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (= (select |old(#valid)| (@diff |old(#length)| |#length|)) 0)))} {2746#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1))} #145#return; {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:32,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:32,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:32,168 INFO L290 TraceCheckUtils]: 24: Hoare triple {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:32,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {2755#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} assume !(4 + (4 + dll_circular_create_~head~0#1.offset) <= #length[dll_circular_create_~head~0#1.base] && 0 <= 4 + dll_circular_create_~head~0#1.offset); {2736#false} is VALID [2022-02-20 23:57:32,169 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:32,169 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:32,169 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [878123833] [2022-02-20 23:57:32,169 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [878123833] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:32,169 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1558545864] [2022-02-20 23:57:32,169 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:32,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:32,170 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:32,171 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 23:57:32,176 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 23:57:32,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 31 conjunts are in the unsatisfiable core [2022-02-20 23:57:32,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,344 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:32,356 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:32,641 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:32,642 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-02-20 23:57:32,648 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 11 [2022-02-20 23:57:32,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {2735#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(27, 2); {2735#true} is VALID [2022-02-20 23:57:32,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {2735#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2735#true} is VALID [2022-02-20 23:57:32,712 INFO L272 TraceCheckUtils]: 2: Hoare triple {2735#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2735#true} is VALID [2022-02-20 23:57:32,712 INFO L290 TraceCheckUtils]: 3: Hoare triple {2735#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:32,713 INFO L290 TraceCheckUtils]: 4: Hoare triple {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:32,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:32,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:32,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {2774#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2787#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|) (<= (+ |node_create_~temp~0#1.offset| 12) (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {2787#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|) (<= (+ |node_create_~temp~0#1.offset| 12) (select |#length| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2791#(and (<= (+ 12 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (<= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:57:32,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {2791#(and (<= (+ 12 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (<= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} assume true; {2791#(and (<= (+ 12 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (<= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} is VALID [2022-02-20 23:57:32,716 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2791#(and (<= (+ 12 |node_create_#res#1.offset|) (select |#length| |node_create_#res#1.base|)) (<= 0 |node_create_#res#1.offset|) (= (select |#valid| |node_create_#res#1.base|) 1))} {2735#true} #143#return; {2798#(and (<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|) (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1) (<= (+ |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|)))} is VALID [2022-02-20 23:57:32,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {2798#(and (<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|) (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1) (<= (+ |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {2802#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:32,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {2802#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume !!(dll_circular_create_~len#1 > 1); {2802#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:32,733 INFO L272 TraceCheckUtils]: 13: Hoare triple {2802#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2809#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:32,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {2809#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,734 INFO L290 TraceCheckUtils]: 15: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,735 INFO L290 TraceCheckUtils]: 16: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,735 INFO L290 TraceCheckUtils]: 17: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:32,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {2760#(and (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2828#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#length)| |node_create_#res#1.base| (select |#length| |node_create_#res#1.base|)) |#length|))} is VALID [2022-02-20 23:57:32,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {2828#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#length)| |node_create_#res#1.base| (select |#length| |node_create_#res#1.base|)) |#length|))} assume true; {2828#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#length)| |node_create_#res#1.base| (select |#length| |node_create_#res#1.base|)) |#length|))} is VALID [2022-02-20 23:57:32,738 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2828#(and (= (select |old(#valid)| |node_create_#res#1.base|) 0) (= (store |old(#length)| |node_create_#res#1.base| (select |#length| |node_create_#res#1.base|)) |#length|))} {2802#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} #145#return; {2835#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (not (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:32,742 INFO L290 TraceCheckUtils]: 22: Hoare triple {2835#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (not (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {2839#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:32,743 INFO L290 TraceCheckUtils]: 23: Hoare triple {2839#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {2839#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:32,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {2839#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {2839#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:32,744 INFO L290 TraceCheckUtils]: 25: Hoare triple {2839#(and (<= (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume !(4 + (4 + dll_circular_create_~head~0#1.offset) <= #length[dll_circular_create_~head~0#1.base] && 0 <= 4 + dll_circular_create_~head~0#1.offset); {2736#false} is VALID [2022-02-20 23:57:32,745 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:32,745 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:32,938 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1558545864] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:32,938 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:32,938 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 19 [2022-02-20 23:57:32,938 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [774601029] [2022-02-20 23:57:32,938 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:32,939 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 26 [2022-02-20 23:57:32,939 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:32,939 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:57:32,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:32,978 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:57:32,978 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:32,979 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:57:32,979 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:57:32,979 INFO L87 Difference]: Start difference. First operand 93 states and 100 transitions. Second operand has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:57:34,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,043 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-02-20 23:57:34,043 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:57:34,043 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 26 [2022-02-20 23:57:34,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:34,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:57:34,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-02-20 23:57:34,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:57:34,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 102 transitions. [2022-02-20 23:57:34,046 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 102 transitions. [2022-02-20 23:57:34,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:34,114 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:57:34,114 INFO L226 Difference]: Without dead ends: 95 [2022-02-20 23:57:34,114 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 20 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 114 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=91, Invalid=509, Unknown=0, NotChecked=0, Total=600 [2022-02-20 23:57:34,115 INFO L933 BasicCegarLoop]: 80 mSDtfsCounter, 24 mSDsluCounter, 361 mSDsCounter, 0 mSdLazyCounter, 570 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 441 SdHoareTripleChecker+Invalid, 582 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 570 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:34,115 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 441 Invalid, 582 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 570 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:57:34,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 95 states. [2022-02-20 23:57:34,116 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 95 to 93. [2022-02-20 23:57:34,116 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:34,117 INFO L82 GeneralOperation]: Start isEquivalent. First operand 95 states. Second operand has 93 states, 53 states have (on average 1.7547169811320755) internal successors, (93), 88 states have internal predecessors, (93), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:34,117 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand has 93 states, 53 states have (on average 1.7547169811320755) internal successors, (93), 88 states have internal predecessors, (93), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:34,117 INFO L87 Difference]: Start difference. First operand 95 states. Second operand has 93 states, 53 states have (on average 1.7547169811320755) internal successors, (93), 88 states have internal predecessors, (93), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:34,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,119 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-02-20 23:57:34,119 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-02-20 23:57:34,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:34,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:34,119 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 53 states have (on average 1.7547169811320755) internal successors, (93), 88 states have internal predecessors, (93), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 95 states. [2022-02-20 23:57:34,120 INFO L87 Difference]: Start difference. First operand has 93 states, 53 states have (on average 1.7547169811320755) internal successors, (93), 88 states have internal predecessors, (93), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 95 states. [2022-02-20 23:57:34,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,121 INFO L93 Difference]: Finished difference Result 95 states and 101 transitions. [2022-02-20 23:57:34,122 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-02-20 23:57:34,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:34,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:34,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:34,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:34,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 53 states have (on average 1.7547169811320755) internal successors, (93), 88 states have internal predecessors, (93), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:34,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 99 transitions. [2022-02-20 23:57:34,124 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 99 transitions. Word has length 26 [2022-02-20 23:57:34,124 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:34,124 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 99 transitions. [2022-02-20 23:57:34,124 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 2.0) internal successors, (38), 15 states have internal predecessors, (38), 3 states have call successors, (4), 3 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:57:34,125 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 99 transitions. [2022-02-20 23:57:34,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:57:34,125 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:34,125 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:34,144 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:34,347 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 23:57:34,348 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:34,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:34,348 INFO L85 PathProgramCache]: Analyzing trace with hash -2101924137, now seen corresponding path program 1 times [2022-02-20 23:57:34,349 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:34,349 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2121720303] [2022-02-20 23:57:34,349 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:34,349 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:34,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,391 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:34,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,424 INFO L290 TraceCheckUtils]: 0: Hoare triple {3269#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,429 INFO L290 TraceCheckUtils]: 6: Hoare triple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,430 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {3249#true} #143#return; {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:34,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:34,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {3269#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {3249#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3249#true} is VALID [2022-02-20 23:57:34,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3249#true} is VALID [2022-02-20 23:57:34,440 INFO L290 TraceCheckUtils]: 3: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3249#true} is VALID [2022-02-20 23:57:34,440 INFO L290 TraceCheckUtils]: 4: Hoare triple {3249#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3249#true} is VALID [2022-02-20 23:57:34,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {3249#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {3249#true} assume true; {3249#true} is VALID [2022-02-20 23:57:34,441 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3249#true} {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #145#return; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {3249#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(27, 2); {3249#true} is VALID [2022-02-20 23:57:34,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {3249#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3249#true} is VALID [2022-02-20 23:57:34,442 INFO L272 TraceCheckUtils]: 2: Hoare triple {3249#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3269#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:34,443 INFO L290 TraceCheckUtils]: 3: Hoare triple {3269#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,443 INFO L290 TraceCheckUtils]: 4: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,444 INFO L290 TraceCheckUtils]: 5: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,444 INFO L290 TraceCheckUtils]: 6: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,444 INFO L290 TraceCheckUtils]: 7: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,445 INFO L290 TraceCheckUtils]: 9: Hoare triple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {3249#true} #143#return; {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:34,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !!(dll_circular_create_~len#1 > 1); {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,447 INFO L272 TraceCheckUtils]: 13: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3269#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:34,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {3269#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {3249#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3249#true} is VALID [2022-02-20 23:57:34,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3249#true} is VALID [2022-02-20 23:57:34,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3249#true} is VALID [2022-02-20 23:57:34,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {3249#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3249#true} is VALID [2022-02-20 23:57:34,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {3249#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {3249#true} assume true; {3249#true} is VALID [2022-02-20 23:57:34,449 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3249#true} {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #145#return; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,450 INFO L290 TraceCheckUtils]: 23: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,450 INFO L290 TraceCheckUtils]: 24: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !(dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0); {3250#false} is VALID [2022-02-20 23:57:34,450 INFO L290 TraceCheckUtils]: 25: Hoare triple {3250#false} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {3250#false} is VALID [2022-02-20 23:57:34,450 INFO L290 TraceCheckUtils]: 26: Hoare triple {3250#false} assume !(dll_circular_create_~len#1 > 1); {3250#false} is VALID [2022-02-20 23:57:34,450 INFO L290 TraceCheckUtils]: 27: Hoare triple {3250#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {3250#false} is VALID [2022-02-20 23:57:34,451 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:34,451 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:34,471 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2121720303] [2022-02-20 23:57:34,471 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2121720303] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:34,471 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1678901275] [2022-02-20 23:57:34,471 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:34,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:34,472 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:34,473 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 23:57:34,474 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 23:57:34,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,563 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:57:34,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:34,670 INFO L290 TraceCheckUtils]: 0: Hoare triple {3249#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(27, 2); {3249#true} is VALID [2022-02-20 23:57:34,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {3249#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3249#true} is VALID [2022-02-20 23:57:34,671 INFO L272 TraceCheckUtils]: 2: Hoare triple {3249#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3249#true} is VALID [2022-02-20 23:57:34,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {3249#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,672 INFO L290 TraceCheckUtils]: 6: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,673 INFO L290 TraceCheckUtils]: 8: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {3249#true} #143#return; {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:34,674 INFO L290 TraceCheckUtils]: 11: Hoare triple {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !!(dll_circular_create_~len#1 > 1); {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,675 INFO L272 TraceCheckUtils]: 13: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {3249#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {3249#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 17: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {3249#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {3249#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {3249#true} assume true; {3249#true} is VALID [2022-02-20 23:57:34,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3249#true} {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #145#return; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !(dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0); {3250#false} is VALID [2022-02-20 23:57:34,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {3250#false} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {3250#false} is VALID [2022-02-20 23:57:34,677 INFO L290 TraceCheckUtils]: 26: Hoare triple {3250#false} assume !(dll_circular_create_~len#1 > 1); {3250#false} is VALID [2022-02-20 23:57:34,677 INFO L290 TraceCheckUtils]: 27: Hoare triple {3250#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {3250#false} is VALID [2022-02-20 23:57:34,677 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:34,678 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:34,857 INFO L290 TraceCheckUtils]: 27: Hoare triple {3250#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {3250#false} is VALID [2022-02-20 23:57:34,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {3250#false} assume !(dll_circular_create_~len#1 > 1); {3250#false} is VALID [2022-02-20 23:57:34,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {3250#false} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {3250#false} is VALID [2022-02-20 23:57:34,858 INFO L290 TraceCheckUtils]: 24: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !(dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0); {3250#false} is VALID [2022-02-20 23:57:34,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,858 INFO L290 TraceCheckUtils]: 22: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,859 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3249#true} {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #145#return; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {3249#true} assume true; {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {3249#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 18: Hoare triple {3249#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {3249#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {3249#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {3249#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3249#true} is VALID [2022-02-20 23:57:34,859 INFO L272 TraceCheckUtils]: 13: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3249#true} is VALID [2022-02-20 23:57:34,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !!(dll_circular_create_~len#1 > 1); {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,862 INFO L290 TraceCheckUtils]: 11: Hoare triple {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3260#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:34,863 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {3249#true} #143#return; {3259#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:34,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3271#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:34,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,864 INFO L290 TraceCheckUtils]: 6: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,864 INFO L290 TraceCheckUtils]: 4: Hoare triple {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,865 INFO L290 TraceCheckUtils]: 3: Hoare triple {3249#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3270#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:34,865 INFO L272 TraceCheckUtils]: 2: Hoare triple {3249#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3249#true} is VALID [2022-02-20 23:57:34,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {3249#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3249#true} is VALID [2022-02-20 23:57:34,865 INFO L290 TraceCheckUtils]: 0: Hoare triple {3249#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(27, 2); {3249#true} is VALID [2022-02-20 23:57:34,865 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:34,865 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1678901275] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:34,865 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:34,866 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 7 [2022-02-20 23:57:34,866 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [299399791] [2022-02-20 23:57:34,866 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:34,866 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 28 [2022-02-20 23:57:34,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:34,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:34,882 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:34,882 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:34,882 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:34,883 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:34,883 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:34,883 INFO L87 Difference]: Start difference. First operand 93 states and 99 transitions. Second operand has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:35,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:35,117 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2022-02-20 23:57:35,117 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:35,118 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 28 [2022-02-20 23:57:35,118 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:35,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:35,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 100 transitions. [2022-02-20 23:57:35,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:35,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 100 transitions. [2022-02-20 23:57:35,120 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 100 transitions. [2022-02-20 23:57:35,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:35,165 INFO L225 Difference]: With dead ends: 94 [2022-02-20 23:57:35,165 INFO L226 Difference]: Without dead ends: 94 [2022-02-20 23:57:35,165 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 53 SyntacticMatches, 5 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:35,165 INFO L933 BasicCegarLoop]: 82 mSDtfsCounter, 4 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 425 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:35,166 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 425 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:35,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-02-20 23:57:35,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 93. [2022-02-20 23:57:35,167 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:35,168 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 93 states, 53 states have (on average 1.7358490566037736) internal successors, (92), 88 states have internal predecessors, (92), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:35,168 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 93 states, 53 states have (on average 1.7358490566037736) internal successors, (92), 88 states have internal predecessors, (92), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:35,168 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 93 states, 53 states have (on average 1.7358490566037736) internal successors, (92), 88 states have internal predecessors, (92), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:35,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:35,169 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2022-02-20 23:57:35,169 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2022-02-20 23:57:35,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:35,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:35,170 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 53 states have (on average 1.7358490566037736) internal successors, (92), 88 states have internal predecessors, (92), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2022-02-20 23:57:35,170 INFO L87 Difference]: Start difference. First operand has 93 states, 53 states have (on average 1.7358490566037736) internal successors, (92), 88 states have internal predecessors, (92), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2022-02-20 23:57:35,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:35,173 INFO L93 Difference]: Finished difference Result 94 states and 99 transitions. [2022-02-20 23:57:35,173 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 99 transitions. [2022-02-20 23:57:35,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:35,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:35,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:35,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:35,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 53 states have (on average 1.7358490566037736) internal successors, (92), 88 states have internal predecessors, (92), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:35,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 98 transitions. [2022-02-20 23:57:35,179 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 98 transitions. Word has length 28 [2022-02-20 23:57:35,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:35,179 INFO L470 AbstractCegarLoop]: Abstraction has 93 states and 98 transitions. [2022-02-20 23:57:35,179 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:35,179 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 98 transitions. [2022-02-20 23:57:35,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:57:35,188 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:35,188 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:35,206 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 23:57:35,388 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 23:57:35,389 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:35,389 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:35,389 INFO L85 PathProgramCache]: Analyzing trace with hash -739919470, now seen corresponding path program 1 times [2022-02-20 23:57:35,389 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:35,389 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1024914022] [2022-02-20 23:57:35,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:35,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:35,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,491 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:35,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,510 INFO L290 TraceCheckUtils]: 0: Hoare triple {3834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L290 TraceCheckUtils]: 3: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L290 TraceCheckUtils]: 4: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L290 TraceCheckUtils]: 6: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3813#true} {3813#true} #143#return; {3813#true} is VALID [2022-02-20 23:57:35,511 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:35,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,536 INFO L290 TraceCheckUtils]: 0: Hoare triple {3834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,537 INFO L290 TraceCheckUtils]: 3: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,537 INFO L290 TraceCheckUtils]: 4: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,537 INFO L290 TraceCheckUtils]: 5: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,537 INFO L290 TraceCheckUtils]: 6: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,538 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3813#true} {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #145#return; {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:35,538 INFO L290 TraceCheckUtils]: 0: Hoare triple {3813#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(27, 2); {3813#true} is VALID [2022-02-20 23:57:35,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {3813#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L272 TraceCheckUtils]: 2: Hoare triple {3813#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 3: Hoare triple {3834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 4: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 5: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 6: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 7: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,539 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3813#true} {3813#true} #143#return; {3813#true} is VALID [2022-02-20 23:57:35,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {3813#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,544 INFO L290 TraceCheckUtils]: 12: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} assume !!(dll_circular_create_~len#1 > 1); {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,545 INFO L272 TraceCheckUtils]: 13: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 14: Hoare triple {3834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 15: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 16: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 17: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 18: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,546 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3813#true} {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #145#return; {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:35,547 INFO L290 TraceCheckUtils]: 22: Hoare triple {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:35,547 INFO L290 TraceCheckUtils]: 23: Hoare triple {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:35,548 INFO L290 TraceCheckUtils]: 24: Hoare triple {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:35,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {3832#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {3814#false} is VALID [2022-02-20 23:57:35,549 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:57:35,549 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:35,549 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1024914022] [2022-02-20 23:57:35,549 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1024914022] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:35,549 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [514594250] [2022-02-20 23:57:35,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:35,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:35,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:35,557 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 23:57:35,559 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 23:57:35,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,657 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:57:35,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:35,725 INFO L290 TraceCheckUtils]: 0: Hoare triple {3813#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(27, 2); {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {3813#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L272 TraceCheckUtils]: 2: Hoare triple {3813#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 3: Hoare triple {3813#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 4: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 6: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 7: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,726 INFO L290 TraceCheckUtils]: 8: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3813#true} {3813#true} #143#return; {3813#true} is VALID [2022-02-20 23:57:35,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {3813#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} assume !!(dll_circular_create_~len#1 > 1); {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,727 INFO L272 TraceCheckUtils]: 13: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {3813#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 17: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,730 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3813#true} {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #145#return; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,730 INFO L290 TraceCheckUtils]: 22: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,731 INFO L290 TraceCheckUtils]: 23: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,731 INFO L290 TraceCheckUtils]: 24: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,731 INFO L290 TraceCheckUtils]: 25: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,732 INFO L290 TraceCheckUtils]: 28: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {3814#false} is VALID [2022-02-20 23:57:35,733 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:57:35,733 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:35,749 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:57:35,750 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 11 [2022-02-20 23:57:35,802 INFO L290 TraceCheckUtils]: 28: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {3814#false} is VALID [2022-02-20 23:57:35,803 INFO L290 TraceCheckUtils]: 27: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,803 INFO L290 TraceCheckUtils]: 26: Hoare triple {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,804 INFO L290 TraceCheckUtils]: 25: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {3833#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,804 INFO L290 TraceCheckUtils]: 24: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,804 INFO L290 TraceCheckUtils]: 23: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,805 INFO L290 TraceCheckUtils]: 22: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,805 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3813#true} {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #145#return; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,805 INFO L290 TraceCheckUtils]: 20: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,805 INFO L290 TraceCheckUtils]: 19: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,806 INFO L290 TraceCheckUtils]: 18: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {3813#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,806 INFO L272 TraceCheckUtils]: 13: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3813#true} is VALID [2022-02-20 23:57:35,807 INFO L290 TraceCheckUtils]: 12: Hoare triple {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} assume !!(dll_circular_create_~len#1 > 1); {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,807 INFO L290 TraceCheckUtils]: 11: Hoare triple {3813#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3823#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} is VALID [2022-02-20 23:57:35,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3813#true} {3813#true} #143#return; {3813#true} is VALID [2022-02-20 23:57:35,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {3813#true} assume true; {3813#true} is VALID [2022-02-20 23:57:35,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {3813#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {3813#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3813#true} is VALID [2022-02-20 23:57:35,807 INFO L290 TraceCheckUtils]: 6: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {3813#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L290 TraceCheckUtils]: 4: Hoare triple {3813#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L290 TraceCheckUtils]: 3: Hoare triple {3813#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L272 TraceCheckUtils]: 2: Hoare triple {3813#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {3813#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {3813#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(27, 2); {3813#true} is VALID [2022-02-20 23:57:35,808 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:57:35,809 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [514594250] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:35,809 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:35,809 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 3, 3] total 5 [2022-02-20 23:57:35,809 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1065943139] [2022-02-20 23:57:35,809 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:35,809 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-02-20 23:57:35,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:35,810 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:35,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:35,827 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:35,827 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:35,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:35,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:35,828 INFO L87 Difference]: Start difference. First operand 93 states and 98 transitions. Second operand has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:36,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:36,167 INFO L93 Difference]: Finished difference Result 135 states and 144 transitions. [2022-02-20 23:57:36,167 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:36,167 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 29 [2022-02-20 23:57:36,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:36,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:36,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 145 transitions. [2022-02-20 23:57:36,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:36,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 145 transitions. [2022-02-20 23:57:36,170 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 145 transitions. [2022-02-20 23:57:36,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:36,263 INFO L225 Difference]: With dead ends: 135 [2022-02-20 23:57:36,264 INFO L226 Difference]: Without dead ends: 135 [2022-02-20 23:57:36,264 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 60 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:36,264 INFO L933 BasicCegarLoop]: 69 mSDtfsCounter, 85 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 192 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 192 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:36,264 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [85 Valid, 211 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 192 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:36,265 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-02-20 23:57:36,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 96. [2022-02-20 23:57:36,266 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:36,266 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 96 states, 56 states have (on average 1.7321428571428572) internal successors, (97), 91 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:36,266 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 96 states, 56 states have (on average 1.7321428571428572) internal successors, (97), 91 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:36,267 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 96 states, 56 states have (on average 1.7321428571428572) internal successors, (97), 91 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:36,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:36,269 INFO L93 Difference]: Finished difference Result 135 states and 144 transitions. [2022-02-20 23:57:36,269 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 144 transitions. [2022-02-20 23:57:36,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:36,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:36,269 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 56 states have (on average 1.7321428571428572) internal successors, (97), 91 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2022-02-20 23:57:36,270 INFO L87 Difference]: Start difference. First operand has 96 states, 56 states have (on average 1.7321428571428572) internal successors, (97), 91 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 135 states. [2022-02-20 23:57:36,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:36,272 INFO L93 Difference]: Finished difference Result 135 states and 144 transitions. [2022-02-20 23:57:36,272 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 144 transitions. [2022-02-20 23:57:36,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:36,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:36,273 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:36,273 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:36,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 56 states have (on average 1.7321428571428572) internal successors, (97), 91 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:36,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 103 transitions. [2022-02-20 23:57:36,275 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 103 transitions. Word has length 29 [2022-02-20 23:57:36,275 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:36,275 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 103 transitions. [2022-02-20 23:57:36,275 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:36,276 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 103 transitions. [2022-02-20 23:57:36,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:57:36,276 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:36,282 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:36,301 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 23:57:36,498 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 23:57:36,499 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:36,499 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:36,499 INFO L85 PathProgramCache]: Analyzing trace with hash -739919469, now seen corresponding path program 1 times [2022-02-20 23:57:36,499 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:36,499 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1594482484] [2022-02-20 23:57:36,499 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:36,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:36,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:36,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:36,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:36,636 INFO L290 TraceCheckUtils]: 0: Hoare triple {4532#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4534#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:36,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {4534#(= 0 |node_create_#res#1.offset|)} assume true; {4534#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:36,639 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4534#(= 0 |node_create_#res#1.offset|)} {4510#true} #143#return; {4520#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0)} is VALID [2022-02-20 23:57:36,639 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:36,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:36,652 INFO L290 TraceCheckUtils]: 0: Hoare triple {4532#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4510#true} is VALID [2022-02-20 23:57:36,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {4510#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4510#true} is VALID [2022-02-20 23:57:36,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4510#true} is VALID [2022-02-20 23:57:36,653 INFO L290 TraceCheckUtils]: 3: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4510#true} is VALID [2022-02-20 23:57:36,653 INFO L290 TraceCheckUtils]: 4: Hoare triple {4510#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4510#true} is VALID [2022-02-20 23:57:36,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {4510#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4510#true} is VALID [2022-02-20 23:57:36,653 INFO L290 TraceCheckUtils]: 6: Hoare triple {4510#true} assume true; {4510#true} is VALID [2022-02-20 23:57:36,654 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4510#true} {4521#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} #145#return; {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} is VALID [2022-02-20 23:57:36,654 INFO L290 TraceCheckUtils]: 0: Hoare triple {4510#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(27, 2); {4510#true} is VALID [2022-02-20 23:57:36,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {4510#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4510#true} is VALID [2022-02-20 23:57:36,655 INFO L272 TraceCheckUtils]: 2: Hoare triple {4510#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4532#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:36,655 INFO L290 TraceCheckUtils]: 3: Hoare triple {4532#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,655 INFO L290 TraceCheckUtils]: 4: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4533#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:36,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {4533#(= |node_create_~temp~0#1.offset| 0)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4534#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:36,656 INFO L290 TraceCheckUtils]: 9: Hoare triple {4534#(= 0 |node_create_#res#1.offset|)} assume true; {4534#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:36,657 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4534#(= 0 |node_create_#res#1.offset|)} {4510#true} #143#return; {4520#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0)} is VALID [2022-02-20 23:57:36,657 INFO L290 TraceCheckUtils]: 11: Hoare triple {4520#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4521#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:36,658 INFO L290 TraceCheckUtils]: 12: Hoare triple {4521#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !!(dll_circular_create_~len#1 > 1); {4521#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:36,659 INFO L272 TraceCheckUtils]: 13: Hoare triple {4521#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4532#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {4532#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4510#true} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {4510#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4510#true} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 16: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4510#true} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 17: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4510#true} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {4510#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4510#true} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {4510#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4510#true} is VALID [2022-02-20 23:57:36,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {4510#true} assume true; {4510#true} is VALID [2022-02-20 23:57:36,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4510#true} {4521#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} #145#return; {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} is VALID [2022-02-20 23:57:36,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} is VALID [2022-02-20 23:57:36,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} is VALID [2022-02-20 23:57:36,661 INFO L290 TraceCheckUtils]: 24: Hoare triple {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} is VALID [2022-02-20 23:57:36,662 INFO L290 TraceCheckUtils]: 25: Hoare triple {4530#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))) 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {4531#(and (<= 8 (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0))} is VALID [2022-02-20 23:57:36,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {4531#(and (<= 8 (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {4531#(and (<= 8 (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0))} is VALID [2022-02-20 23:57:36,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {4531#(and (<= 8 (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0))} assume !(dll_circular_create_~len#1 > 1); {4531#(and (<= 8 (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0))} is VALID [2022-02-20 23:57:36,663 INFO L290 TraceCheckUtils]: 28: Hoare triple {4531#(and (<= 8 (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 0))} assume !(4 + dll_circular_create_~last~0#1.offset <= #length[dll_circular_create_~last~0#1.base] && 0 <= dll_circular_create_~last~0#1.offset); {4511#false} is VALID [2022-02-20 23:57:36,663 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:36,664 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:36,664 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1594482484] [2022-02-20 23:57:36,664 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1594482484] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:36,664 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [690630556] [2022-02-20 23:57:36,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:36,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:36,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:36,680 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:57:36,681 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 23:57:36,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:36,796 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:57:36,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:36,808 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:37,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {4510#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(27, 2); {4510#true} is VALID [2022-02-20 23:57:37,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {4510#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4510#true} is VALID [2022-02-20 23:57:37,029 INFO L272 TraceCheckUtils]: 2: Hoare triple {4510#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4510#true} is VALID [2022-02-20 23:57:37,029 INFO L290 TraceCheckUtils]: 3: Hoare triple {4510#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,030 INFO L290 TraceCheckUtils]: 4: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,031 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4563#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:37,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {4563#(<= 0 |node_create_#res#1.offset|)} assume true; {4563#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:37,033 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4563#(<= 0 |node_create_#res#1.offset|)} {4510#true} #143#return; {4570#(<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)} is VALID [2022-02-20 23:57:37,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {4570#(<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume !!(dll_circular_create_~len#1 > 1); {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:37,034 INFO L272 TraceCheckUtils]: 13: Hoare triple {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {4510#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 15: Hoare triple {4510#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 16: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 17: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 18: Hoare triple {4510#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 19: Hoare triple {4510#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4510#true} is VALID [2022-02-20 23:57:37,034 INFO L290 TraceCheckUtils]: 20: Hoare triple {4510#true} assume true; {4510#true} is VALID [2022-02-20 23:57:37,035 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4510#true} {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} #145#return; {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:37,036 INFO L290 TraceCheckUtils]: 22: Hoare triple {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:37,036 INFO L290 TraceCheckUtils]: 23: Hoare triple {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:37,037 INFO L290 TraceCheckUtils]: 24: Hoare triple {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:57:37,037 INFO L290 TraceCheckUtils]: 25: Hoare triple {4574#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) (<= 0 |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {4617#(and (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|))} is VALID [2022-02-20 23:57:37,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {4617#(and (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {4617#(and (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|))} is VALID [2022-02-20 23:57:37,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {4617#(and (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|))} assume !(dll_circular_create_~len#1 > 1); {4617#(and (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|))} is VALID [2022-02-20 23:57:37,039 INFO L290 TraceCheckUtils]: 28: Hoare triple {4617#(and (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 8) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)) (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|))} assume !(4 + dll_circular_create_~last~0#1.offset <= #length[dll_circular_create_~last~0#1.base] && 0 <= dll_circular_create_~last~0#1.offset); {4511#false} is VALID [2022-02-20 23:57:37,039 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:37,039 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:37,093 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:57:37,093 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 24 [2022-02-20 23:57:37,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {4627#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 4) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} assume !(4 + dll_circular_create_~last~0#1.offset <= #length[dll_circular_create_~last~0#1.base] && 0 <= dll_circular_create_~last~0#1.offset); {4511#false} is VALID [2022-02-20 23:57:37,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {4627#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 4) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} assume !(dll_circular_create_~len#1 > 1); {4627#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 4) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:57:37,423 INFO L290 TraceCheckUtils]: 26: Hoare triple {4627#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 4) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {4627#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 4) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:57:37,424 INFO L290 TraceCheckUtils]: 25: Hoare triple {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {4627#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= (+ |ULTIMATE.start_dll_circular_create_~last~0#1.offset| 4) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:57:37,424 INFO L290 TraceCheckUtils]: 24: Hoare triple {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:37,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:37,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:37,426 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4510#true} {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} #145#return; {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:37,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {4510#true} assume true; {4510#true} is VALID [2022-02-20 23:57:37,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {4510#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4510#true} is VALID [2022-02-20 23:57:37,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {4510#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4510#true} is VALID [2022-02-20 23:57:37,427 INFO L290 TraceCheckUtils]: 17: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4510#true} is VALID [2022-02-20 23:57:37,427 INFO L290 TraceCheckUtils]: 16: Hoare triple {4510#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4510#true} is VALID [2022-02-20 23:57:37,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {4510#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4510#true} is VALID [2022-02-20 23:57:37,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {4510#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4510#true} is VALID [2022-02-20 23:57:37,427 INFO L272 TraceCheckUtils]: 13: Hoare triple {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4510#true} is VALID [2022-02-20 23:57:37,428 INFO L290 TraceCheckUtils]: 12: Hoare triple {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !!(dll_circular_create_~len#1 > 1); {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:37,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {4570#(<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4637#(and (<= 0 |ULTIMATE.start_dll_circular_create_~last~0#1.offset|) (<= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (+ |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 4)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:37,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4563#(<= 0 |node_create_#res#1.offset|)} {4510#true} #143#return; {4570#(<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)} is VALID [2022-02-20 23:57:37,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {4563#(<= 0 |node_create_#res#1.offset|)} assume true; {4563#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:37,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4563#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:37,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,430 INFO L290 TraceCheckUtils]: 6: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,431 INFO L290 TraceCheckUtils]: 4: Hoare triple {4547#(<= 0 |node_create_~temp~0#1.offset|)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,431 INFO L290 TraceCheckUtils]: 3: Hoare triple {4510#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4547#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:37,431 INFO L272 TraceCheckUtils]: 2: Hoare triple {4510#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4510#true} is VALID [2022-02-20 23:57:37,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {4510#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4510#true} is VALID [2022-02-20 23:57:37,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {4510#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(27, 2); {4510#true} is VALID [2022-02-20 23:57:37,432 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:37,432 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [690630556] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:37,445 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:37,445 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 15 [2022-02-20 23:57:37,445 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [974732877] [2022-02-20 23:57:37,445 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:37,446 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-02-20 23:57:37,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:37,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:57:37,492 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:37,493 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:57:37,493 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:37,493 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:57:37,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:57:37,493 INFO L87 Difference]: Start difference. First operand 96 states and 103 transitions. Second operand has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:57:38,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:38,287 INFO L93 Difference]: Finished difference Result 160 states and 168 transitions. [2022-02-20 23:57:38,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:57:38,287 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 29 [2022-02-20 23:57:38,287 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:38,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:57:38,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 169 transitions. [2022-02-20 23:57:38,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:57:38,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 169 transitions. [2022-02-20 23:57:38,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 169 transitions. [2022-02-20 23:57:38,418 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 23:57:38,420 INFO L225 Difference]: With dead ends: 160 [2022-02-20 23:57:38,420 INFO L226 Difference]: Without dead ends: 160 [2022-02-20 23:57:38,420 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 68 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:57:38,420 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 138 mSDsluCounter, 463 mSDsCounter, 0 mSdLazyCounter, 399 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 139 SdHoareTripleChecker+Valid, 523 SdHoareTripleChecker+Invalid, 403 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 399 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:38,421 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [139 Valid, 523 Invalid, 403 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 399 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:38,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-02-20 23:57:38,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 96. [2022-02-20 23:57:38,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:38,422 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 96 states, 56 states have (on average 1.7142857142857142) internal successors, (96), 91 states have internal predecessors, (96), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:38,422 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 96 states, 56 states have (on average 1.7142857142857142) internal successors, (96), 91 states have internal predecessors, (96), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:38,423 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 96 states, 56 states have (on average 1.7142857142857142) internal successors, (96), 91 states have internal predecessors, (96), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:38,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:38,425 INFO L93 Difference]: Finished difference Result 160 states and 168 transitions. [2022-02-20 23:57:38,425 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 168 transitions. [2022-02-20 23:57:38,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:38,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:38,426 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 56 states have (on average 1.7142857142857142) internal successors, (96), 91 states have internal predecessors, (96), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 160 states. [2022-02-20 23:57:38,426 INFO L87 Difference]: Start difference. First operand has 96 states, 56 states have (on average 1.7142857142857142) internal successors, (96), 91 states have internal predecessors, (96), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 160 states. [2022-02-20 23:57:38,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:38,428 INFO L93 Difference]: Finished difference Result 160 states and 168 transitions. [2022-02-20 23:57:38,428 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 168 transitions. [2022-02-20 23:57:38,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:38,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:38,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:38,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:38,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 56 states have (on average 1.7142857142857142) internal successors, (96), 91 states have internal predecessors, (96), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:38,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 102 transitions. [2022-02-20 23:57:38,430 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 102 transitions. Word has length 29 [2022-02-20 23:57:38,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:38,430 INFO L470 AbstractCegarLoop]: Abstraction has 96 states and 102 transitions. [2022-02-20 23:57:38,430 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 3.4) internal successors, (51), 13 states have internal predecessors, (51), 4 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-02-20 23:57:38,430 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 102 transitions. [2022-02-20 23:57:38,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:57:38,431 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:38,431 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:38,450 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:38,646 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-02-20 23:57:38,646 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:38,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:38,646 INFO L85 PathProgramCache]: Analyzing trace with hash -1462667085, now seen corresponding path program 1 times [2022-02-20 23:57:38,646 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:38,646 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1843475672] [2022-02-20 23:57:38,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:38,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:38,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:38,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:38,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:38,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {5313#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,706 INFO L290 TraceCheckUtils]: 1: Hoare triple {5292#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5292#true} is VALID [2022-02-20 23:57:38,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {5292#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5292#true} is VALID [2022-02-20 23:57:38,707 INFO L290 TraceCheckUtils]: 3: Hoare triple {5292#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5292#true} is VALID [2022-02-20 23:57:38,707 INFO L290 TraceCheckUtils]: 4: Hoare triple {5292#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5292#true} is VALID [2022-02-20 23:57:38,707 INFO L290 TraceCheckUtils]: 5: Hoare triple {5292#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,707 INFO L290 TraceCheckUtils]: 6: Hoare triple {5292#true} assume true; {5292#true} is VALID [2022-02-20 23:57:38,707 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5292#true} {5292#true} #143#return; {5292#true} is VALID [2022-02-20 23:57:38,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:38,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:38,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {5313#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {5292#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5292#true} is VALID [2022-02-20 23:57:38,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {5292#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:38,728 INFO L290 TraceCheckUtils]: 3: Hoare triple {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:38,728 INFO L290 TraceCheckUtils]: 4: Hoare triple {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:38,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:38,729 INFO L290 TraceCheckUtils]: 6: Hoare triple {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:38,729 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} {5292#true} #145#return; {5310#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:38,729 INFO L290 TraceCheckUtils]: 0: Hoare triple {5292#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(27, 2); {5292#true} is VALID [2022-02-20 23:57:38,729 INFO L290 TraceCheckUtils]: 1: Hoare triple {5292#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {5292#true} is VALID [2022-02-20 23:57:38,730 INFO L272 TraceCheckUtils]: 2: Hoare triple {5292#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5313#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:38,730 INFO L290 TraceCheckUtils]: 3: Hoare triple {5313#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,730 INFO L290 TraceCheckUtils]: 4: Hoare triple {5292#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5292#true} is VALID [2022-02-20 23:57:38,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {5292#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5292#true} is VALID [2022-02-20 23:57:38,730 INFO L290 TraceCheckUtils]: 6: Hoare triple {5292#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5292#true} is VALID [2022-02-20 23:57:38,731 INFO L290 TraceCheckUtils]: 7: Hoare triple {5292#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5292#true} is VALID [2022-02-20 23:57:38,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {5292#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {5292#true} assume true; {5292#true} is VALID [2022-02-20 23:57:38,731 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5292#true} {5292#true} #143#return; {5292#true} is VALID [2022-02-20 23:57:38,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {5292#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {5292#true} assume !!(dll_circular_create_~len#1 > 1); {5292#true} is VALID [2022-02-20 23:57:38,732 INFO L272 TraceCheckUtils]: 13: Hoare triple {5292#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {5313#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:38,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {5313#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5292#true} is VALID [2022-02-20 23:57:38,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {5292#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5292#true} is VALID [2022-02-20 23:57:38,732 INFO L290 TraceCheckUtils]: 16: Hoare triple {5292#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:38,733 INFO L290 TraceCheckUtils]: 17: Hoare triple {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:38,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:38,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {5314#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:38,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:38,734 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5315#(= (select |#valid| |node_create_#res#1.base|) 1)} {5292#true} #145#return; {5310#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:38,735 INFO L290 TraceCheckUtils]: 22: Hoare triple {5310#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,735 INFO L290 TraceCheckUtils]: 24: Hoare triple {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {5311#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {5312#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {5312#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {5312#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,736 INFO L290 TraceCheckUtils]: 28: Hoare triple {5312#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4); srcloc: L588-3 {5312#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:38,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {5312#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {5293#false} is VALID [2022-02-20 23:57:38,737 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:57:38,737 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:38,737 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1843475672] [2022-02-20 23:57:38,737 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1843475672] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:38,737 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:38,737 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:57:38,737 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1277712827] [2022-02-20 23:57:38,738 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:38,738 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:57:38,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:38,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:38,756 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:38,756 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:57:38,756 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:38,757 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:57:38,757 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:38,757 INFO L87 Difference]: Start difference. First operand 96 states and 102 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:39,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:39,270 INFO L93 Difference]: Finished difference Result 133 states and 141 transitions. [2022-02-20 23:57:39,270 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:57:39,270 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:57:39,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:39,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:39,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 134 transitions. [2022-02-20 23:57:39,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:39,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 134 transitions. [2022-02-20 23:57:39,272 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 134 transitions. [2022-02-20 23:57:39,374 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:39,375 INFO L225 Difference]: With dead ends: 133 [2022-02-20 23:57:39,375 INFO L226 Difference]: Without dead ends: 133 [2022-02-20 23:57:39,376 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:57:39,376 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 95 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 324 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 95 SdHoareTripleChecker+Valid, 285 SdHoareTripleChecker+Invalid, 327 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 324 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:39,376 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [95 Valid, 285 Invalid, 327 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 324 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:39,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-02-20 23:57:39,378 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 95. [2022-02-20 23:57:39,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:39,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:39,378 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:39,378 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:39,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:39,380 INFO L93 Difference]: Finished difference Result 133 states and 141 transitions. [2022-02-20 23:57:39,380 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 141 transitions. [2022-02-20 23:57:39,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:39,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:39,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2022-02-20 23:57:39,381 INFO L87 Difference]: Start difference. First operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 133 states. [2022-02-20 23:57:39,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:39,383 INFO L93 Difference]: Finished difference Result 133 states and 141 transitions. [2022-02-20 23:57:39,383 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 141 transitions. [2022-02-20 23:57:39,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:39,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:39,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:39,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:39,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 56 states have (on average 1.6964285714285714) internal successors, (95), 90 states have internal predecessors, (95), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:39,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 101 transitions. [2022-02-20 23:57:39,385 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 101 transitions. Word has length 30 [2022-02-20 23:57:39,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:39,385 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 101 transitions. [2022-02-20 23:57:39,386 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:39,386 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 101 transitions. [2022-02-20 23:57:39,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:57:39,386 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:39,386 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:39,386 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:57:39,387 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:39,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:39,387 INFO L85 PathProgramCache]: Analyzing trace with hash -1462667084, now seen corresponding path program 1 times [2022-02-20 23:57:39,387 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:39,387 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [966882990] [2022-02-20 23:57:39,387 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:39,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:39,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:39,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:39,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {5838#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {5817#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {5817#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 3: Hoare triple {5817#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 4: Hoare triple {5817#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {5817#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L290 TraceCheckUtils]: 6: Hoare triple {5817#true} assume true; {5817#true} is VALID [2022-02-20 23:57:39,485 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5817#true} {5817#true} #143#return; {5817#true} is VALID [2022-02-20 23:57:39,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:39,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:39,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {5838#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,522 INFO L290 TraceCheckUtils]: 3: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,523 INFO L290 TraceCheckUtils]: 4: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:39,524 INFO L290 TraceCheckUtils]: 6: Hoare triple {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:39,525 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {5817#true} #145#return; {5835#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| 0))} is VALID [2022-02-20 23:57:39,525 INFO L290 TraceCheckUtils]: 0: Hoare triple {5817#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(27, 2); {5817#true} is VALID [2022-02-20 23:57:39,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {5817#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L272 TraceCheckUtils]: 2: Hoare triple {5817#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5838#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 3: Hoare triple {5838#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {5817#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {5817#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 6: Hoare triple {5817#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {5817#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {5817#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5817#true} is VALID [2022-02-20 23:57:39,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {5817#true} assume true; {5817#true} is VALID [2022-02-20 23:57:39,527 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5817#true} {5817#true} #143#return; {5817#true} is VALID [2022-02-20 23:57:39,527 INFO L290 TraceCheckUtils]: 11: Hoare triple {5817#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {5817#true} is VALID [2022-02-20 23:57:39,527 INFO L290 TraceCheckUtils]: 12: Hoare triple {5817#true} assume !!(dll_circular_create_~len#1 > 1); {5817#true} is VALID [2022-02-20 23:57:39,527 INFO L272 TraceCheckUtils]: 13: Hoare triple {5817#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {5838#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:39,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {5838#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,528 INFO L290 TraceCheckUtils]: 15: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,529 INFO L290 TraceCheckUtils]: 16: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,530 INFO L290 TraceCheckUtils]: 17: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,530 INFO L290 TraceCheckUtils]: 18: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,530 INFO L290 TraceCheckUtils]: 19: Hoare triple {5839#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:39,531 INFO L290 TraceCheckUtils]: 20: Hoare triple {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:39,531 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5840#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {5817#true} #145#return; {5835#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| 0))} is VALID [2022-02-20 23:57:39,532 INFO L290 TraceCheckUtils]: 22: Hoare triple {5835#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| 0))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,532 INFO L290 TraceCheckUtils]: 23: Hoare triple {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,533 INFO L290 TraceCheckUtils]: 24: Hoare triple {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,533 INFO L290 TraceCheckUtils]: 25: Hoare triple {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} is VALID [2022-02-20 23:57:39,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {5836#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 12) (= |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset| 0))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {5837#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:39,534 INFO L290 TraceCheckUtils]: 27: Hoare triple {5837#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} assume !(dll_circular_create_~len#1 > 1); {5837#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:39,534 INFO L290 TraceCheckUtils]: 28: Hoare triple {5837#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4); srcloc: L588-3 {5837#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:39,535 INFO L290 TraceCheckUtils]: 29: Hoare triple {5837#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (- 12)) 0))} assume !(4 + (4 + dll_circular_create_~head~0#1.offset) <= #length[dll_circular_create_~head~0#1.base] && 0 <= 4 + dll_circular_create_~head~0#1.offset); {5818#false} is VALID [2022-02-20 23:57:39,535 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:39,535 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:39,535 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [966882990] [2022-02-20 23:57:39,535 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [966882990] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:39,535 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:39,536 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:57:39,536 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2719792] [2022-02-20 23:57:39,536 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:39,536 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:57:39,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:39,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:39,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:39,557 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:57:39,557 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:39,557 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:57:39,557 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:39,558 INFO L87 Difference]: Start difference. First operand 95 states and 101 transitions. Second operand has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,063 INFO L93 Difference]: Finished difference Result 94 states and 100 transitions. [2022-02-20 23:57:40,063 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:57:40,063 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:57:40,064 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:40,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 93 transitions. [2022-02-20 23:57:40,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 93 transitions. [2022-02-20 23:57:40,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 93 transitions. [2022-02-20 23:57:40,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:40,135 INFO L225 Difference]: With dead ends: 94 [2022-02-20 23:57:40,135 INFO L226 Difference]: Without dead ends: 94 [2022-02-20 23:57:40,136 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:57:40,136 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 138 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 251 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 236 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 251 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:40,136 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [138 Valid, 236 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 251 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:40,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-02-20 23:57:40,137 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 94. [2022-02-20 23:57:40,137 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:40,138 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 94 states, 56 states have (on average 1.6785714285714286) internal successors, (94), 89 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,138 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 94 states, 56 states have (on average 1.6785714285714286) internal successors, (94), 89 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,138 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 94 states, 56 states have (on average 1.6785714285714286) internal successors, (94), 89 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,139 INFO L93 Difference]: Finished difference Result 94 states and 100 transitions. [2022-02-20 23:57:40,139 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 100 transitions. [2022-02-20 23:57:40,139 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:40,139 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:40,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 56 states have (on average 1.6785714285714286) internal successors, (94), 89 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2022-02-20 23:57:40,140 INFO L87 Difference]: Start difference. First operand has 94 states, 56 states have (on average 1.6785714285714286) internal successors, (94), 89 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 94 states. [2022-02-20 23:57:40,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,141 INFO L93 Difference]: Finished difference Result 94 states and 100 transitions. [2022-02-20 23:57:40,141 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 100 transitions. [2022-02-20 23:57:40,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:40,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:40,141 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:40,142 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:40,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 56 states have (on average 1.6785714285714286) internal successors, (94), 89 states have internal predecessors, (94), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 100 transitions. [2022-02-20 23:57:40,143 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 100 transitions. Word has length 30 [2022-02-20 23:57:40,143 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:40,143 INFO L470 AbstractCegarLoop]: Abstraction has 94 states and 100 transitions. [2022-02-20 23:57:40,143 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.7142857142857144) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,143 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 100 transitions. [2022-02-20 23:57:40,144 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:57:40,144 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:40,144 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:57:40,144 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-02-20 23:57:40,144 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:40,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:40,144 INFO L85 PathProgramCache]: Analyzing trace with hash 2100539894, now seen corresponding path program 1 times [2022-02-20 23:57:40,145 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:40,145 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1119401375] [2022-02-20 23:57:40,145 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:40,145 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:40,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:40,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {6244#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,245 INFO L290 TraceCheckUtils]: 4: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,247 INFO L290 TraceCheckUtils]: 6: Hoare triple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,248 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} #143#return; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:40,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {6244#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,270 INFO L290 TraceCheckUtils]: 4: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,272 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} #145#return; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {6224#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(27, 2); {6224#true} is VALID [2022-02-20 23:57:40,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {6224#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,274 INFO L272 TraceCheckUtils]: 2: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6244#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:40,274 INFO L290 TraceCheckUtils]: 3: Hoare triple {6244#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,275 INFO L290 TraceCheckUtils]: 4: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,276 INFO L290 TraceCheckUtils]: 6: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,278 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} #143#return; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,279 INFO L290 TraceCheckUtils]: 11: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,279 INFO L290 TraceCheckUtils]: 12: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !!(dll_circular_create_~len#1 > 1); {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,280 INFO L272 TraceCheckUtils]: 13: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6244#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:40,280 INFO L290 TraceCheckUtils]: 14: Hoare triple {6244#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,280 INFO L290 TraceCheckUtils]: 15: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,281 INFO L290 TraceCheckUtils]: 16: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,281 INFO L290 TraceCheckUtils]: 17: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,282 INFO L290 TraceCheckUtils]: 18: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:40,283 INFO L290 TraceCheckUtils]: 19: Hoare triple {6245#(and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))) (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:40,284 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6246#(and (or (= (select |old(#valid)| (@diff |old(#valid)| |#valid|)) 0) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} #145#return; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,284 INFO L290 TraceCheckUtils]: 22: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,285 INFO L290 TraceCheckUtils]: 23: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,285 INFO L290 TraceCheckUtils]: 24: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,285 INFO L290 TraceCheckUtils]: 25: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,285 INFO L290 TraceCheckUtils]: 26: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,286 INFO L290 TraceCheckUtils]: 27: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,286 INFO L290 TraceCheckUtils]: 28: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4); srcloc: L588-3 {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,286 INFO L290 TraceCheckUtils]: 29: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L597 {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:40,287 INFO L290 TraceCheckUtils]: 32: Hoare triple {6226#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {6243#(= (select |#valid| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) 1)} is VALID [2022-02-20 23:57:40,288 INFO L290 TraceCheckUtils]: 33: Hoare triple {6243#(= (select |#valid| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) 1)} assume !(1 == #valid[dll_circular_remove_last_~head#1.base]); {6225#false} is VALID [2022-02-20 23:57:40,288 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:57:40,288 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:40,288 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1119401375] [2022-02-20 23:57:40,288 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1119401375] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:40,288 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:40,288 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:57:40,288 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [197613813] [2022-02-20 23:57:40,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:40,289 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-20 23:57:40,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:40,289 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,309 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:40,309 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:40,310 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:40,310 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:40,310 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:40,310 INFO L87 Difference]: Start difference. First operand 94 states and 100 transitions. Second operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,697 INFO L93 Difference]: Finished difference Result 124 states and 132 transitions. [2022-02-20 23:57:40,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:40,698 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-20 23:57:40,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:40,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 128 transitions. [2022-02-20 23:57:40,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 128 transitions. [2022-02-20 23:57:40,699 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 128 transitions. [2022-02-20 23:57:40,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:40,784 INFO L225 Difference]: With dead ends: 124 [2022-02-20 23:57:40,784 INFO L226 Difference]: Without dead ends: 124 [2022-02-20 23:57:40,784 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:40,785 INFO L933 BasicCegarLoop]: 51 mSDtfsCounter, 111 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 210 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 111 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 210 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:40,785 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [111 Valid, 171 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 210 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:40,785 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-02-20 23:57:40,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 94. [2022-02-20 23:57:40,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:40,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 94 states, 59 states have (on average 1.6440677966101696) internal successors, (97), 89 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,786 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 94 states, 59 states have (on average 1.6440677966101696) internal successors, (97), 89 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,787 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 94 states, 59 states have (on average 1.6440677966101696) internal successors, (97), 89 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,788 INFO L93 Difference]: Finished difference Result 124 states and 132 transitions. [2022-02-20 23:57:40,788 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 132 transitions. [2022-02-20 23:57:40,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:40,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:40,788 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 59 states have (on average 1.6440677966101696) internal successors, (97), 89 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 124 states. [2022-02-20 23:57:40,789 INFO L87 Difference]: Start difference. First operand has 94 states, 59 states have (on average 1.6440677966101696) internal successors, (97), 89 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 124 states. [2022-02-20 23:57:40,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,790 INFO L93 Difference]: Finished difference Result 124 states and 132 transitions. [2022-02-20 23:57:40,790 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 132 transitions. [2022-02-20 23:57:40,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:40,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:40,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:40,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:40,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 59 states have (on average 1.6440677966101696) internal successors, (97), 89 states have internal predecessors, (97), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:40,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 103 transitions. [2022-02-20 23:57:40,792 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 103 transitions. Word has length 34 [2022-02-20 23:57:40,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:40,792 INFO L470 AbstractCegarLoop]: Abstraction has 94 states and 103 transitions. [2022-02-20 23:57:40,792 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.8333333333333335) internal successors, (23), 6 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:40,793 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 103 transitions. [2022-02-20 23:57:40,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:57:40,793 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:40,793 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:57:40,793 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 23:57:40,793 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:40,793 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:40,794 INFO L85 PathProgramCache]: Analyzing trace with hash 2100539895, now seen corresponding path program 1 times [2022-02-20 23:57:40,794 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:40,794 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1984672795] [2022-02-20 23:57:40,794 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:40,794 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:40,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,884 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:40,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,932 INFO L290 TraceCheckUtils]: 0: Hoare triple {6739#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,933 INFO L290 TraceCheckUtils]: 1: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,934 INFO L290 TraceCheckUtils]: 3: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,934 INFO L290 TraceCheckUtils]: 4: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,935 INFO L290 TraceCheckUtils]: 5: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:40,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:40,937 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {6719#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #143#return; {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:40,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:40,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,960 INFO L290 TraceCheckUtils]: 0: Hoare triple {6739#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,961 INFO L290 TraceCheckUtils]: 2: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,961 INFO L290 TraceCheckUtils]: 3: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,962 INFO L290 TraceCheckUtils]: 4: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:40,963 INFO L290 TraceCheckUtils]: 6: Hoare triple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:40,964 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #145#return; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:40,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {6717#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(27, 2); {6717#true} is VALID [2022-02-20 23:57:40,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {6717#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {6719#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:40,966 INFO L272 TraceCheckUtils]: 2: Hoare triple {6719#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6739#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:40,967 INFO L290 TraceCheckUtils]: 3: Hoare triple {6739#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,967 INFO L290 TraceCheckUtils]: 4: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,968 INFO L290 TraceCheckUtils]: 6: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:40,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:40,971 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {6719#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #143#return; {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:40,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:40,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume !!(dll_circular_create_~len#1 > 1); {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:40,972 INFO L272 TraceCheckUtils]: 13: Hoare triple {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6739#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:40,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {6739#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,985 INFO L290 TraceCheckUtils]: 15: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:40,990 INFO L290 TraceCheckUtils]: 16: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:41,004 INFO L290 TraceCheckUtils]: 17: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:41,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} is VALID [2022-02-20 23:57:41,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {6740#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= (store |old(#length)| |node_create_~temp~0#1.base| (select |#length| |node_create_~temp~0#1.base|)) |#length|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:41,006 INFO L290 TraceCheckUtils]: 20: Hoare triple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} assume true; {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} is VALID [2022-02-20 23:57:41,007 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6741#(and (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))) (or (= |old(#length)| |#length|) (<= (+ (@diff |old(#length)| |#length|) 1) |#StackHeapBarrier|)))} {6728#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} #145#return; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,007 INFO L290 TraceCheckUtils]: 22: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,008 INFO L290 TraceCheckUtils]: 23: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4); srcloc: L590 {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,008 INFO L290 TraceCheckUtils]: 24: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L592 {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,009 INFO L290 TraceCheckUtils]: 26: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := dll_circular_create_#t~post6#1 - 1;havoc dll_circular_create_#t~post6#1; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume !(dll_circular_create_~len#1 > 1); {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4); srcloc: L588-3 {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,017 INFO L290 TraceCheckUtils]: 29: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, 4 + dll_circular_create_~head~0#1.offset, 4); srcloc: L597 {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,017 INFO L290 TraceCheckUtils]: 30: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} is VALID [2022-02-20 23:57:41,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {6737#(and (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#s~0#1.base|) 4))} assume !!(main_~i~0#1 < main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {6738#(and (= |ULTIMATE.start_dll_circular_remove_last_~head#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (- 4)) 0))} is VALID [2022-02-20 23:57:41,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {6738#(and (= |ULTIMATE.start_dll_circular_remove_last_~head#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (- 4)) 0))} assume !(4 + dll_circular_remove_last_~head#1.offset <= #length[dll_circular_remove_last_~head#1.base] && 0 <= dll_circular_remove_last_~head#1.offset); {6718#false} is VALID [2022-02-20 23:57:41,019 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:57:41,019 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:41,019 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1984672795] [2022-02-20 23:57:41,019 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1984672795] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:41,019 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1914304813] [2022-02-20 23:57:41,019 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:41,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:41,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:41,024 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:57:41,025 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 23:57:41,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:41,161 INFO L263 TraceCheckSpWp]: Trace formula consists of 319 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 23:57:41,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:41,175 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:41,200 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:41,241 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:57:41,449 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:57:41,674 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 23:57:41,692 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:41,875 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:41,875 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: line 286083 column 46: unknown constant v_#length_BEFORE_CALL_8 at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1458) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:658) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:383) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:239) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseSuccess(Executor.java:258) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.assertTerm(Scriptor.java:147) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript$DiffTransformer.checkOrAddAxiom(DiffWrapperScript.java:161) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript$DiffTransformer.convertApplicationTerm(DiffWrapperScript.java:171) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$BuildApplicationTerm.walk(TermTransformer.java:352) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:115) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:106) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:285) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.arrays.DiffWrapperScript.assertTerm(DiffWrapperScript.java:109) at de.uni_freiburg.informatik.ultimate.logic.WrapperScript.assertTerm(WrapperScript.java:158) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.ManagedScript.assertTerm(ManagedScript.java:134) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.MonolithicImplicationChecker.checkImplication(MonolithicImplicationChecker.java:83) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.compare(PredicateUnifier.java:829) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier$PredicateComparison.(PredicateUnifier.java:773) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:345) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:305) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp$UnifyPostprocessor.postprocess(TraceCheckSpWp.java:582) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:299) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:273) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:145) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:93) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:304) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:264) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:177) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 23:57:41,879 INFO L158 Benchmark]: Toolchain (without parser) took 15760.15ms. Allocated memory was 96.5MB in the beginning and 207.6MB in the end (delta: 111.1MB). Free memory was 56.7MB in the beginning and 109.4MB in the end (delta: -52.7MB). Peak memory consumption was 58.6MB. Max. memory is 16.1GB. [2022-02-20 23:57:41,879 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 96.5MB. Free memory is still 74.3MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:57:41,879 INFO L158 Benchmark]: CACSL2BoogieTranslator took 473.12ms. Allocated memory is still 96.5MB. Free memory was 56.5MB in the beginning and 61.4MB in the end (delta: -4.9MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 23:57:41,880 INFO L158 Benchmark]: Boogie Procedure Inliner took 43.43ms. Allocated memory is still 96.5MB. Free memory was 61.4MB in the beginning and 58.9MB in the end (delta: 2.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 23:57:41,880 INFO L158 Benchmark]: Boogie Preprocessor took 41.52ms. Allocated memory is still 96.5MB. Free memory was 58.9MB in the beginning and 56.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 23:57:41,880 INFO L158 Benchmark]: RCFGBuilder took 611.97ms. Allocated memory was 96.5MB in the beginning and 117.4MB in the end (delta: 21.0MB). Free memory was 56.8MB in the beginning and 89.8MB in the end (delta: -33.0MB). Peak memory consumption was 28.7MB. Max. memory is 16.1GB. [2022-02-20 23:57:41,880 INFO L158 Benchmark]: TraceAbstraction took 14583.80ms. Allocated memory was 117.4MB in the beginning and 207.6MB in the end (delta: 90.2MB). Free memory was 89.2MB in the beginning and 109.4MB in the end (delta: -20.2MB). Peak memory consumption was 72.1MB. Max. memory is 16.1GB. [2022-02-20 23:57:41,881 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.16ms. Allocated memory is still 96.5MB. Free memory is still 74.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 473.12ms. Allocated memory is still 96.5MB. Free memory was 56.5MB in the beginning and 61.4MB in the end (delta: -4.9MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 43.43ms. Allocated memory is still 96.5MB. Free memory was 61.4MB in the beginning and 58.9MB in the end (delta: 2.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 41.52ms. Allocated memory is still 96.5MB. Free memory was 58.9MB in the beginning and 56.8MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 611.97ms. Allocated memory was 96.5MB in the beginning and 117.4MB in the end (delta: 21.0MB). Free memory was 56.8MB in the beginning and 89.8MB in the end (delta: -33.0MB). Peak memory consumption was 28.7MB. Max. memory is 16.1GB. * TraceAbstraction took 14583.80ms. Allocated memory was 117.4MB in the beginning and 207.6MB in the end (delta: 90.2MB). Free memory was 89.2MB in the beginning and 109.4MB in the end (delta: -20.2MB). Peak memory consumption was 72.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: line 286083 column 46: unknown constant v_#length_BEFORE_CALL_8 de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: line 286083 column 46: unknown constant v_#length_BEFORE_CALL_8: de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1458) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 23:57:41,892 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 1 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### 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/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.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 valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash a81d76a671fec08918102c7898e8919d02b265d05707efa1508363dab4714d44 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:57:43,519 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:57:43,522 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:57:43,556 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:57:43,556 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:57:43,559 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:57:43,560 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:57:43,563 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:57:43,565 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:57:43,568 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:57:43,568 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:57:43,569 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:57:43,570 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:57:43,571 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:57:43,572 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:57:43,573 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:57:43,574 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:57:43,574 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:57:43,575 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:57:43,576 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:57:43,577 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:57:43,580 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:57:43,581 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:57:43,581 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:57:43,583 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:57:43,583 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:57:43,583 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:57:43,589 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:57:43,589 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:57:43,590 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:57:43,590 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:57:43,590 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:57:43,591 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:57:43,591 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:57:43,592 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:57:43,592 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:57:43,592 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:57:43,592 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:57:43,593 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:57:43,593 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:57:43,593 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:57:43,595 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2022-02-20 23:57:43,620 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:57:43,620 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:57:43,621 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:57:43,621 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:57:43,622 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:57:43,622 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:57:43,623 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:57:43,623 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:57:43,623 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:57:43,623 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:57:43,624 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:57:43,625 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:57:43,625 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:57:43,625 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:57:43,625 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:57:43,625 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:57:43,625 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:43,630 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:57:43,630 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:57:43,630 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:57:43,630 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:57:43,630 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:57:43,630 INFO L138 SettingsManager]: * Logic for external solver=AUFBV 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 valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) 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 -> a81d76a671fec08918102c7898e8919d02b265d05707efa1508363dab4714d44 [2022-02-20 23:57:43,887 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:57:43,910 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:57:43,911 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:57:43,912 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:57:43,913 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:57:43,914 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i [2022-02-20 23:57:43,954 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbaceb4d9/4ebb04f713604d8e85b9da2fc9277000/FLAGf9685a469 [2022-02-20 23:57:44,342 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:57:44,342 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/dll2c_remove_all_reverse.i [2022-02-20 23:57:44,359 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbaceb4d9/4ebb04f713604d8e85b9da2fc9277000/FLAGf9685a469 [2022-02-20 23:57:44,712 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fbaceb4d9/4ebb04f713604d8e85b9da2fc9277000 [2022-02-20 23:57:44,715 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:57:44,717 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:57:44,718 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:44,718 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:57:44,721 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:57:44,722 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:44" (1/1) ... [2022-02-20 23:57:44,723 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3bd7fab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:44, skipping insertion in model container [2022-02-20 23:57:44,723 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:44" (1/1) ... [2022-02-20 23:57:44,728 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:57:44,762 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:57:45,130 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/list-simple/dll2c_remove_all_reverse.i[24177,24190] [2022-02-20 23:57:45,131 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:45,146 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:57:45,203 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/list-simple/dll2c_remove_all_reverse.i[24177,24190] [2022-02-20 23:57:45,204 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:45,233 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:57:45,233 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45 WrapperNode [2022-02-20 23:57:45,233 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:45,234 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:45,235 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:57:45,235 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:57:45,239 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,266 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,294 INFO L137 Inliner]: procedures = 129, calls = 37, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 112 [2022-02-20 23:57:45,295 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:45,295 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:57:45,295 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:57:45,295 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:57:45,300 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,300 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,311 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,311 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,326 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,329 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,330 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,332 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:57:45,332 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:57:45,333 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:57:45,333 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:57:45,333 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (1/1) ... [2022-02-20 23:57:45,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:45,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:45,379 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 23:57:45,412 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 23:57:45,428 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 23:57:45,428 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 23:57:45,428 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:57:45,428 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:57:45,428 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:57:45,428 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:57:45,429 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:57:45,429 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:57:45,429 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:57:45,429 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:57:45,429 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:57:45,429 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:57:45,429 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:57:45,498 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:57:45,499 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:57:45,906 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:57:45,931 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:57:45,932 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 23:57:45,933 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:45 BoogieIcfgContainer [2022-02-20 23:57:45,933 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:57:45,934 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:57:45,934 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:57:45,936 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:57:45,936 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:57:44" (1/3) ... [2022-02-20 23:57:45,937 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@795aa78f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:45, skipping insertion in model container [2022-02-20 23:57:45,937 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:45" (2/3) ... [2022-02-20 23:57:45,937 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@795aa78f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:45, skipping insertion in model container [2022-02-20 23:57:45,937 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:45" (3/3) ... [2022-02-20 23:57:45,938 INFO L111 eAbstractionObserver]: Analyzing ICFG dll2c_remove_all_reverse.i [2022-02-20 23:57:45,941 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:57:45,941 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 44 error locations. [2022-02-20 23:57:45,969 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:57:45,973 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=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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 23:57:45,973 INFO L340 AbstractCegarLoop]: Starting to check reachability of 44 error locations. [2022-02-20 23:57:45,986 INFO L276 IsEmpty]: Start isEmpty. Operand has 98 states, 50 states have (on average 2.04) internal successors, (102), 94 states have internal predecessors, (102), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:45,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:45,990 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:45,990 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:45,990 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting node_createErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:45,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:45,994 INFO L85 PathProgramCache]: Analyzing trace with hash 893702386, now seen corresponding path program 1 times [2022-02-20 23:57:46,002 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:46,002 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [71271695] [2022-02-20 23:57:46,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:46,003 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:46,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:46,005 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:46,024 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 23:57:46,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:46,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:57:46,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:46,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:46,183 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:46,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {101#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {101#true} is VALID [2022-02-20 23:57:46,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {101#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {101#true} is VALID [2022-02-20 23:57:46,210 INFO L272 TraceCheckUtils]: 2: Hoare triple {101#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {101#true} is VALID [2022-02-20 23:57:46,212 INFO L290 TraceCheckUtils]: 3: Hoare triple {101#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {115#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:46,213 INFO L290 TraceCheckUtils]: 4: Hoare triple {115#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {115#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:46,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {115#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[~temp~0#1.base]); {102#false} is VALID [2022-02-20 23:57:46,215 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 23:57:46,215 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:46,216 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:46,216 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [71271695] [2022-02-20 23:57:46,216 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [71271695] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:46,219 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:46,219 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:46,222 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [76757690] [2022-02-20 23:57:46,223 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:46,226 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:46,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:46,241 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:46,251 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:46,252 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:46,252 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:46,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:46,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:46,269 INFO L87 Difference]: Start difference. First operand has 98 states, 50 states have (on average 2.04) internal successors, (102), 94 states have internal predecessors, (102), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:46,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:46,601 INFO L93 Difference]: Finished difference Result 95 states and 100 transitions. [2022-02-20 23:57:46,602 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:46,602 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:46,602 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:46,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:46,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-02-20 23:57:46,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:46,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 106 transitions. [2022-02-20 23:57:46,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 106 transitions. [2022-02-20 23:57:46,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:46,735 INFO L225 Difference]: With dead ends: 95 [2022-02-20 23:57:46,735 INFO L226 Difference]: Without dead ends: 92 [2022-02-20 23:57:46,736 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:46,739 INFO L933 BasicCegarLoop]: 91 mSDtfsCounter, 10 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:46,739 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 138 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:46,751 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-02-20 23:57:46,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 92. [2022-02-20 23:57:46,761 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:46,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:46,762 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:46,763 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:46,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:46,767 INFO L93 Difference]: Finished difference Result 92 states and 96 transitions. [2022-02-20 23:57:46,767 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2022-02-20 23:57:46,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:46,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:46,769 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:57:46,769 INFO L87 Difference]: Start difference. First operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 92 states. [2022-02-20 23:57:46,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:46,773 INFO L93 Difference]: Finished difference Result 92 states and 96 transitions. [2022-02-20 23:57:46,773 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2022-02-20 23:57:46,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:46,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:46,774 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:46,774 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:46,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 48 states have (on average 1.9166666666666667) internal successors, (92), 88 states have internal predecessors, (92), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:46,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 96 transitions. [2022-02-20 23:57:46,778 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 96 transitions. Word has length 6 [2022-02-20 23:57:46,779 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:46,779 INFO L470 AbstractCegarLoop]: Abstraction has 92 states and 96 transitions. [2022-02-20 23:57:46,779 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:46,779 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2022-02-20 23:57:46,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:46,779 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:46,779 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:46,789 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:46,986 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:46,987 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting node_createErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:46,987 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:46,987 INFO L85 PathProgramCache]: Analyzing trace with hash 893702387, now seen corresponding path program 1 times [2022-02-20 23:57:46,988 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:46,988 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1403257382] [2022-02-20 23:57:46,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:46,988 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:46,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:46,990 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:46,991 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 23:57:47,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:47,033 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:57:47,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:47,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:47,059 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:47,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {492#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {492#true} is VALID [2022-02-20 23:57:47,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {492#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {492#true} is VALID [2022-02-20 23:57:47,076 INFO L272 TraceCheckUtils]: 2: Hoare triple {492#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {492#true} is VALID [2022-02-20 23:57:47,077 INFO L290 TraceCheckUtils]: 3: Hoare triple {492#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {506#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:47,078 INFO L290 TraceCheckUtils]: 4: Hoare triple {506#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {506#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:47,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {506#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, ~temp~0#1.offset), #length[~temp~0#1.base]) && ~bvule32(~temp~0#1.offset, ~bvadd32(4bv32, ~temp~0#1.offset))) && ~bvule32(0bv32, ~temp~0#1.offset)); {493#false} is VALID [2022-02-20 23:57:47,078 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 23:57:47,078 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:47,078 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:47,079 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1403257382] [2022-02-20 23:57:47,079 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1403257382] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:47,079 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:47,079 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:47,079 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1566100988] [2022-02-20 23:57:47,079 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:47,080 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:47,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:47,080 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:47,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:47,087 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:47,087 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:47,087 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:47,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:47,088 INFO L87 Difference]: Start difference. First operand 92 states and 96 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:47,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:47,409 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-02-20 23:57:47,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:47,409 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:57:47,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:47,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:47,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 96 transitions. [2022-02-20 23:57:47,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:47,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 96 transitions. [2022-02-20 23:57:47,412 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 96 transitions. [2022-02-20 23:57:47,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:47,510 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:57:47,510 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:57:47,511 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:47,511 INFO L933 BasicCegarLoop]: 88 mSDtfsCounter, 5 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:47,512 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 140 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:47,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:57:47,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 89. [2022-02-20 23:57:47,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:47,516 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:47,516 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:47,516 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:47,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:47,518 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-02-20 23:57:47,519 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:47,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:47,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:47,519 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:47,520 INFO L87 Difference]: Start difference. First operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:47,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:47,522 INFO L93 Difference]: Finished difference Result 89 states and 93 transitions. [2022-02-20 23:57:47,522 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:47,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:47,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:47,523 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:47,523 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:47,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 48 states have (on average 1.8541666666666667) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:47,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2022-02-20 23:57:47,525 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 6 [2022-02-20 23:57:47,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:47,525 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2022-02-20 23:57:47,525 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:47,525 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:47,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:57:47,525 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:47,526 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:47,534 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:47,732 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:47,732 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:47,733 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:47,733 INFO L85 PathProgramCache]: Analyzing trace with hash -413883200, now seen corresponding path program 1 times [2022-02-20 23:57:47,733 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:47,733 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1656927856] [2022-02-20 23:57:47,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:47,734 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:47,734 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:47,735 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:47,759 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 23:57:47,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:47,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:57:47,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:47,820 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:47,856 INFO L290 TraceCheckUtils]: 0: Hoare triple {868#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {868#true} is VALID [2022-02-20 23:57:47,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {868#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:57:47,857 INFO L272 TraceCheckUtils]: 2: Hoare triple {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {868#true} is VALID [2022-02-20 23:57:47,857 INFO L290 TraceCheckUtils]: 3: Hoare triple {868#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {868#true} is VALID [2022-02-20 23:57:47,857 INFO L290 TraceCheckUtils]: 4: Hoare triple {868#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {868#true} is VALID [2022-02-20 23:57:47,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {868#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {868#true} is VALID [2022-02-20 23:57:47,858 INFO L290 TraceCheckUtils]: 6: Hoare triple {868#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {868#true} is VALID [2022-02-20 23:57:47,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {868#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {868#true} is VALID [2022-02-20 23:57:47,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {868#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {868#true} is VALID [2022-02-20 23:57:47,858 INFO L290 TraceCheckUtils]: 9: Hoare triple {868#true} assume true; {868#true} is VALID [2022-02-20 23:57:47,859 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {868#true} {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} #143#return; {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:57:47,859 INFO L290 TraceCheckUtils]: 11: Hoare triple {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:57:47,859 INFO L290 TraceCheckUtils]: 12: Hoare triple {876#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {869#false} is VALID [2022-02-20 23:57:47,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {869#false} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {869#false} is VALID [2022-02-20 23:57:47,860 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 23:57:47,860 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:47,860 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:47,860 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1656927856] [2022-02-20 23:57:47,860 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1656927856] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:47,868 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:47,868 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:57:47,868 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1134770934] [2022-02-20 23:57:47,868 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:47,868 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-02-20 23:57:47,868 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:47,869 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:47,882 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:47,882 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:47,882 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:47,883 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:47,883 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:47,883 INFO L87 Difference]: Start difference. First operand 89 states and 93 transitions. Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:48,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:48,079 INFO L93 Difference]: Finished difference Result 100 states and 106 transitions. [2022-02-20 23:57:48,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:48,079 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-02-20 23:57:48,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:48,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:48,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 107 transitions. [2022-02-20 23:57:48,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:48,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 107 transitions. [2022-02-20 23:57:48,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 107 transitions. [2022-02-20 23:57:48,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:48,173 INFO L225 Difference]: With dead ends: 100 [2022-02-20 23:57:48,173 INFO L226 Difference]: Without dead ends: 100 [2022-02-20 23:57:48,173 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:48,174 INFO L933 BasicCegarLoop]: 92 mSDtfsCounter, 10 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 5 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:48,174 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 179 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:48,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-02-20 23:57:48,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 90. [2022-02-20 23:57:48,177 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:48,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:48,178 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:48,178 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:48,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:48,180 INFO L93 Difference]: Finished difference Result 100 states and 106 transitions. [2022-02-20 23:57:48,180 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2022-02-20 23:57:48,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:48,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:48,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 100 states. [2022-02-20 23:57:48,181 INFO L87 Difference]: Start difference. First operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 100 states. [2022-02-20 23:57:48,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:48,183 INFO L93 Difference]: Finished difference Result 100 states and 106 transitions. [2022-02-20 23:57:48,183 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2022-02-20 23:57:48,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:48,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:48,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:48,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:48,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 49 states have (on average 1.836734693877551) internal successors, (90), 86 states have internal predecessors, (90), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:48,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 94 transitions. [2022-02-20 23:57:48,186 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 94 transitions. Word has length 14 [2022-02-20 23:57:48,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:48,186 INFO L470 AbstractCegarLoop]: Abstraction has 90 states and 94 transitions. [2022-02-20 23:57:48,186 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:48,186 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 94 transitions. [2022-02-20 23:57:48,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:48,187 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:48,187 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:48,209 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:48,391 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:48,392 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:48,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:48,392 INFO L85 PathProgramCache]: Analyzing trace with hash 1410538016, now seen corresponding path program 1 times [2022-02-20 23:57:48,393 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:48,393 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [86811074] [2022-02-20 23:57:48,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:48,393 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:48,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:48,394 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:48,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 23:57:48,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:48,472 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:57:48,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:48,483 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:48,513 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:48,557 INFO L290 TraceCheckUtils]: 0: Hoare triple {1302#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {1302#true} is VALID [2022-02-20 23:57:48,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {1302#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {1302#true} is VALID [2022-02-20 23:57:48,558 INFO L272 TraceCheckUtils]: 2: Hoare triple {1302#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {1302#true} is VALID [2022-02-20 23:57:48,558 INFO L290 TraceCheckUtils]: 3: Hoare triple {1302#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1302#true} is VALID [2022-02-20 23:57:48,558 INFO L290 TraceCheckUtils]: 4: Hoare triple {1302#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1302#true} is VALID [2022-02-20 23:57:48,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {1302#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {1302#true} is VALID [2022-02-20 23:57:48,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {1302#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {1302#true} is VALID [2022-02-20 23:57:48,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {1302#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {1302#true} is VALID [2022-02-20 23:57:48,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {1302#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1302#true} is VALID [2022-02-20 23:57:48,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {1302#true} assume true; {1302#true} is VALID [2022-02-20 23:57:48,559 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1302#true} {1302#true} #143#return; {1302#true} is VALID [2022-02-20 23:57:48,559 INFO L290 TraceCheckUtils]: 11: Hoare triple {1302#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {1302#true} is VALID [2022-02-20 23:57:48,559 INFO L290 TraceCheckUtils]: 12: Hoare triple {1302#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {1302#true} is VALID [2022-02-20 23:57:48,559 INFO L272 TraceCheckUtils]: 13: Hoare triple {1302#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {1302#true} is VALID [2022-02-20 23:57:48,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {1302#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,561 INFO L290 TraceCheckUtils]: 15: Hoare triple {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,561 INFO L290 TraceCheckUtils]: 16: Hoare triple {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,562 INFO L290 TraceCheckUtils]: 19: Hoare triple {1349#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1365#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {1365#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {1365#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,563 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1365#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {1302#true} #145#return; {1372#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,564 INFO L290 TraceCheckUtils]: 22: Hoare triple {1372#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {1376#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {1376#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~new_head~0#1.base]); {1303#false} is VALID [2022-02-20 23:57:48,565 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:48,565 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:48,565 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:48,565 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [86811074] [2022-02-20 23:57:48,565 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [86811074] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:48,565 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:48,565 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:57:48,566 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [103424948] [2022-02-20 23:57:48,566 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:48,566 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:48,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:48,567 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:48,590 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:48,590 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:48,590 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:48,591 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:48,591 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:48,591 INFO L87 Difference]: Start difference. First operand 90 states and 94 transitions. Second operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:49,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:49,450 INFO L93 Difference]: Finished difference Result 127 states and 134 transitions. [2022-02-20 23:57:49,450 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:57:49,450 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:49,450 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:49,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:49,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 135 transitions. [2022-02-20 23:57:49,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:49,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 135 transitions. [2022-02-20 23:57:49,453 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 135 transitions. [2022-02-20 23:57:49,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:49,554 INFO L225 Difference]: With dead ends: 127 [2022-02-20 23:57:49,555 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 23:57:49,555 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:49,555 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 56 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 213 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 56 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 213 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:49,555 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [56 Valid, 232 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 213 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:49,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 23:57:49,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 89. [2022-02-20 23:57:49,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:49,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:49,559 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:49,559 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:49,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:49,562 INFO L93 Difference]: Finished difference Result 127 states and 134 transitions. [2022-02-20 23:57:49,562 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 134 transitions. [2022-02-20 23:57:49,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:49,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:49,563 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 127 states. [2022-02-20 23:57:49,563 INFO L87 Difference]: Start difference. First operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 127 states. [2022-02-20 23:57:49,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:49,566 INFO L93 Difference]: Finished difference Result 127 states and 134 transitions. [2022-02-20 23:57:49,567 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 134 transitions. [2022-02-20 23:57:49,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:49,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:49,567 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:49,567 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:49,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 49 states have (on average 1.816326530612245) internal successors, (89), 85 states have internal predecessors, (89), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:49,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 93 transitions. [2022-02-20 23:57:49,569 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 93 transitions. Word has length 24 [2022-02-20 23:57:49,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:49,570 INFO L470 AbstractCegarLoop]: Abstraction has 89 states and 93 transitions. [2022-02-20 23:57:49,570 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:49,570 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 93 transitions. [2022-02-20 23:57:49,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:49,570 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:49,570 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:49,580 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 23:57:49,777 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:49,777 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:49,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:49,778 INFO L85 PathProgramCache]: Analyzing trace with hash 1410538017, now seen corresponding path program 1 times [2022-02-20 23:57:49,778 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:49,779 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2077842054] [2022-02-20 23:57:49,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:49,779 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:49,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:49,780 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:49,781 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 23:57:49,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:49,859 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:57:49,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:49,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:49,924 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:50,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {1851#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {1851#true} is VALID [2022-02-20 23:57:50,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {1851#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L272 TraceCheckUtils]: 2: Hoare triple {1851#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {1851#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L290 TraceCheckUtils]: 4: Hoare triple {1851#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {1851#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L290 TraceCheckUtils]: 6: Hoare triple {1851#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {1851#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {1851#true} is VALID [2022-02-20 23:57:50,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {1851#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1851#true} is VALID [2022-02-20 23:57:50,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {1851#true} assume true; {1851#true} is VALID [2022-02-20 23:57:50,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1851#true} {1851#true} #143#return; {1851#true} is VALID [2022-02-20 23:57:50,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {1851#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {1851#true} is VALID [2022-02-20 23:57:50,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {1851#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {1851#true} is VALID [2022-02-20 23:57:50,051 INFO L272 TraceCheckUtils]: 13: Hoare triple {1851#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {1851#true} is VALID [2022-02-20 23:57:50,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {1851#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,054 INFO L290 TraceCheckUtils]: 17: Hoare triple {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {1898#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1914#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:50,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {1914#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} assume true; {1914#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:50,056 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1914#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} {1851#true} #145#return; {1921#(and (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {1921#(and (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv12 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {1925#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:50,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {1925#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, dll_circular_create_~new_head~0#1.offset), #length[dll_circular_create_~new_head~0#1.base]) && ~bvule32(dll_circular_create_~new_head~0#1.offset, ~bvadd32(4bv32, dll_circular_create_~new_head~0#1.offset))) && ~bvule32(0bv32, dll_circular_create_~new_head~0#1.offset)); {1852#false} is VALID [2022-02-20 23:57:50,057 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:57:50,057 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:50,057 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:50,058 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2077842054] [2022-02-20 23:57:50,058 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2077842054] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:50,058 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:50,058 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:57:50,058 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [675429126] [2022-02-20 23:57:50,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:50,059 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:50,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:50,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:50,084 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:50,084 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:50,084 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:50,085 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:50,085 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:50,085 INFO L87 Difference]: Start difference. First operand 89 states and 93 transitions. Second operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:51,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,165 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-02-20 23:57:51,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:57:51,165 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 24 [2022-02-20 23:57:51,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:51,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:51,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 95 transitions. [2022-02-20 23:57:51,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:51,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 95 transitions. [2022-02-20 23:57:51,172 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 95 transitions. [2022-02-20 23:57:51,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:51,297 INFO L225 Difference]: With dead ends: 89 [2022-02-20 23:57:51,297 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 23:57:51,297 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:51,299 INFO L933 BasicCegarLoop]: 58 mSDtfsCounter, 78 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 168 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:51,299 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 214 Invalid, 168 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:57:51,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 23:57:51,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-02-20 23:57:51,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:51,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:51,310 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:51,310 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:51,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,312 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-02-20 23:57:51,312 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 94 transitions. [2022-02-20 23:57:51,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:51,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:51,313 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:51,313 INFO L87 Difference]: Start difference. First operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 89 states. [2022-02-20 23:57:51,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,316 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2022-02-20 23:57:51,316 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 94 transitions. [2022-02-20 23:57:51,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:51,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:51,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:51,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:51,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 49 states have (on average 1.7959183673469388) internal successors, (88), 84 states have internal predecessors, (88), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:57:51,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 92 transitions. [2022-02-20 23:57:51,322 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 92 transitions. Word has length 24 [2022-02-20 23:57:51,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:51,322 INFO L470 AbstractCegarLoop]: Abstraction has 88 states and 92 transitions. [2022-02-20 23:57:51,323 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 4.0) internal successors, (20), 5 states have internal predecessors, (20), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:57:51,323 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 92 transitions. [2022-02-20 23:57:51,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:51,323 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:51,324 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:51,333 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Ended with exit code 0 [2022-02-20 23:57:51,531 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:51,531 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:51,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:51,532 INFO L85 PathProgramCache]: Analyzing trace with hash -1682632447, now seen corresponding path program 1 times [2022-02-20 23:57:51,532 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:51,532 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [636315444] [2022-02-20 23:57:51,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:51,533 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:51,533 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:51,534 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:51,536 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Waiting until timeout for monitored process [2022-02-20 23:57:51,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,646 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:57:51,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,661 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:51,674 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:52,017 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:57:52,018 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 18 treesize of output 25 [2022-02-20 23:57:52,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {2285#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {2285#true} is VALID [2022-02-20 23:57:52,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {2285#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2285#true} is VALID [2022-02-20 23:57:52,045 INFO L272 TraceCheckUtils]: 2: Hoare triple {2285#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2285#true} is VALID [2022-02-20 23:57:52,046 INFO L290 TraceCheckUtils]: 3: Hoare triple {2285#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,046 INFO L290 TraceCheckUtils]: 4: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,047 INFO L290 TraceCheckUtils]: 6: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,049 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {2285#true} #143#return; {2322#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {2322#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,050 INFO L272 TraceCheckUtils]: 13: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2333#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:57:52,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {2333#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,054 INFO L290 TraceCheckUtils]: 16: Hoare triple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,061 INFO L290 TraceCheckUtils]: 20: Hoare triple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume true; {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:52,063 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2337#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_168 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_168) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} #145#return; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,063 INFO L290 TraceCheckUtils]: 22: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,064 INFO L290 TraceCheckUtils]: 24: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,064 INFO L290 TraceCheckUtils]: 25: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {2286#false} is VALID [2022-02-20 23:57:52,065 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:52,065 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:52,422 INFO L290 TraceCheckUtils]: 25: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {2286#false} is VALID [2022-02-20 23:57:52,423 INFO L290 TraceCheckUtils]: 24: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,423 INFO L290 TraceCheckUtils]: 23: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,423 INFO L290 TraceCheckUtils]: 22: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,427 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} #145#return; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} assume true; {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,428 INFO L290 TraceCheckUtils]: 18: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,429 INFO L290 TraceCheckUtils]: 17: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,429 INFO L290 TraceCheckUtils]: 16: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,432 INFO L272 TraceCheckUtils]: 13: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2386#(forall ((|v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_dll_circular_create_~head~0#1.base_BEFORE_CALL_2|) (_ bv1 1)))))} is VALID [2022-02-20 23:57:52,433 INFO L290 TraceCheckUtils]: 12: Hoare triple {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,433 INFO L290 TraceCheckUtils]: 11: Hoare triple {2322#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {2326#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,434 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {2285#true} #143#return; {2322#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,435 INFO L290 TraceCheckUtils]: 8: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2315#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,437 INFO L290 TraceCheckUtils]: 6: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,447 INFO L290 TraceCheckUtils]: 4: Hoare triple {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {2285#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2299#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:52,448 INFO L272 TraceCheckUtils]: 2: Hoare triple {2285#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2285#true} is VALID [2022-02-20 23:57:52,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {2285#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2285#true} is VALID [2022-02-20 23:57:52,448 INFO L290 TraceCheckUtils]: 0: Hoare triple {2285#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {2285#true} is VALID [2022-02-20 23:57:52,448 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:52,449 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:52,449 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [636315444] [2022-02-20 23:57:52,449 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [636315444] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:52,449 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:52,449 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 8 [2022-02-20 23:57:52,449 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1238585085] [2022-02-20 23:57:52,449 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:52,450 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-02-20 23:57:52,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:52,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:52,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:52,488 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:57:52,488 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:52,488 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:57:52,488 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:57:52,488 INFO L87 Difference]: Start difference. First operand 88 states and 92 transitions. Second operand has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:53,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:53,390 INFO L93 Difference]: Finished difference Result 140 states and 147 transitions. [2022-02-20 23:57:53,390 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:57:53,391 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-02-20 23:57:53,391 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:53,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:53,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 148 transitions. [2022-02-20 23:57:53,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:53,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 148 transitions. [2022-02-20 23:57:53,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 148 transitions. [2022-02-20 23:57:53,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:53,517 INFO L225 Difference]: With dead ends: 140 [2022-02-20 23:57:53,517 INFO L226 Difference]: Without dead ends: 140 [2022-02-20 23:57:53,517 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 40 SyntacticMatches, 3 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:57:53,520 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 43 mSDsluCounter, 197 mSDsCounter, 0 mSdLazyCounter, 224 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 290 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 224 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 63 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:53,521 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 260 Invalid, 290 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 224 Invalid, 0 Unknown, 63 Unchecked, 0.3s Time] [2022-02-20 23:57:53,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-02-20 23:57:53,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 101. [2022-02-20 23:57:53,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:53,523 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 101 states, 60 states have (on average 1.6833333333333333) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:53,524 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 101 states, 60 states have (on average 1.6833333333333333) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:53,524 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 101 states, 60 states have (on average 1.6833333333333333) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:53,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:53,526 INFO L93 Difference]: Finished difference Result 140 states and 147 transitions. [2022-02-20 23:57:53,526 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 147 transitions. [2022-02-20 23:57:53,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:53,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:53,527 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 60 states have (on average 1.6833333333333333) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 140 states. [2022-02-20 23:57:53,527 INFO L87 Difference]: Start difference. First operand has 101 states, 60 states have (on average 1.6833333333333333) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 140 states. [2022-02-20 23:57:53,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:53,529 INFO L93 Difference]: Finished difference Result 140 states and 147 transitions. [2022-02-20 23:57:53,529 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 147 transitions. [2022-02-20 23:57:53,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:53,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:53,530 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:53,530 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:53,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 60 states have (on average 1.6833333333333333) internal successors, (101), 95 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:57:53,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 107 transitions. [2022-02-20 23:57:53,553 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 107 transitions. Word has length 26 [2022-02-20 23:57:53,553 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:53,553 INFO L470 AbstractCegarLoop]: Abstraction has 101 states and 107 transitions. [2022-02-20 23:57:53,554 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.625) internal successors, (29), 7 states have internal predecessors, (29), 2 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:53,554 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 107 transitions. [2022-02-20 23:57:53,554 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:53,554 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:53,554 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:53,576 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Ended with exit code 0 [2022-02-20 23:57:53,762 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:53,762 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:57:53,763 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:53,763 INFO L85 PathProgramCache]: Analyzing trace with hash -1682632446, now seen corresponding path program 1 times [2022-02-20 23:57:53,763 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:53,763 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [999360954] [2022-02-20 23:57:53,763 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:53,763 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:53,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:53,764 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:53,766 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Waiting until timeout for monitored process [2022-02-20 23:57:53,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:53,867 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:57:53,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:53,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:53,915 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:53,922 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:56,259 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:57:56,260 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:57:56,268 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:56,268 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 12 [2022-02-20 23:57:56,335 INFO L290 TraceCheckUtils]: 0: Hoare triple {2973#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {2973#true} is VALID [2022-02-20 23:57:56,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {2973#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2973#true} is VALID [2022-02-20 23:57:56,335 INFO L272 TraceCheckUtils]: 2: Hoare triple {2973#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2973#true} is VALID [2022-02-20 23:57:56,336 INFO L290 TraceCheckUtils]: 3: Hoare triple {2973#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,337 INFO L290 TraceCheckUtils]: 4: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,347 INFO L290 TraceCheckUtils]: 6: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:57:56,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} assume true; {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:57:56,350 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} {2973#true} #143#return; {3010#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,351 INFO L290 TraceCheckUtils]: 11: Hoare triple {3010#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv12 32)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,352 INFO L272 TraceCheckUtils]: 13: Hoare triple {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3021#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:57:56,353 INFO L290 TraceCheckUtils]: 14: Hoare triple {3021#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,358 INFO L290 TraceCheckUtils]: 18: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume true; {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:56,361 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} #145#return; {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,362 INFO L290 TraceCheckUtils]: 22: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,362 INFO L290 TraceCheckUtils]: 23: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,363 INFO L290 TraceCheckUtils]: 24: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:56,363 INFO L290 TraceCheckUtils]: 25: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset)), #length[dll_circular_create_~head~0#1.base]) && ~bvule32(~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset))); {2974#false} is VALID [2022-02-20 23:57:56,364 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:56,364 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:58,631 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:58,632 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [999360954] [2022-02-20 23:57:58,632 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [999360954] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:58,632 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1974293151] [2022-02-20 23:57:58,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:58,632 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:57:58,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:57:58,634 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:57:58,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Waiting until timeout for monitored process [2022-02-20 23:57:58,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,802 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:57:58,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,818 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:58,834 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:58,840 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:59,101 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:57:59,102 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:57:59,109 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:59,110 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 12 [2022-02-20 23:57:59,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {2973#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {2973#true} is VALID [2022-02-20 23:57:59,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {2973#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {2973#true} is VALID [2022-02-20 23:57:59,138 INFO L272 TraceCheckUtils]: 2: Hoare triple {2973#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2973#true} is VALID [2022-02-20 23:57:59,139 INFO L290 TraceCheckUtils]: 3: Hoare triple {2973#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,139 INFO L290 TraceCheckUtils]: 4: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,141 INFO L290 TraceCheckUtils]: 6: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,141 INFO L290 TraceCheckUtils]: 7: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {2987#(and (= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1)) (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:57:59,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} assume true; {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} is VALID [2022-02-20 23:57:59,143 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3003#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)) (= (select |#valid| |node_create_#res#1.base|) (_ bv1 1)))} {2973#true} #143#return; {3010#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,151 INFO L290 TraceCheckUtils]: 11: Hoare triple {3010#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv12 32)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,152 INFO L272 TraceCheckUtils]: 13: Hoare triple {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3021#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:57:59,153 INFO L290 TraceCheckUtils]: 14: Hoare triple {3021#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,154 INFO L290 TraceCheckUtils]: 15: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,159 INFO L290 TraceCheckUtils]: 18: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,160 INFO L290 TraceCheckUtils]: 19: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,160 INFO L290 TraceCheckUtils]: 20: Hoare triple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume true; {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:57:59,162 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3025#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_223 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_223))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} {3014#(and (= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1)) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} #145#return; {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,162 INFO L290 TraceCheckUtils]: 22: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,163 INFO L290 TraceCheckUtils]: 24: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:57:59,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {3047#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset)), #length[dll_circular_create_~head~0#1.base]) && ~bvule32(~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset))); {2974#false} is VALID [2022-02-20 23:57:59,164 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:59,164 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:01,413 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1974293151] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:01,413 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:01,413 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-02-20 23:58:01,413 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [994459823] [2022-02-20 23:58:01,413 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:01,413 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 23:58:01,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:01,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:01,443 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:01,443 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:58:01,443 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:01,444 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:58:01,444 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=85, Unknown=2, NotChecked=0, Total=110 [2022-02-20 23:58:01,444 INFO L87 Difference]: Start difference. First operand 101 states and 107 transitions. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:03,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,125 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2022-02-20 23:58:03,125 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:58:03,125 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-02-20 23:58:03,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:03,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:03,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-02-20 23:58:03,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:03,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-02-20 23:58:03,127 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 102 transitions. [2022-02-20 23:58:03,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:03,239 INFO L225 Difference]: With dead ends: 103 [2022-02-20 23:58:03,239 INFO L226 Difference]: Without dead ends: 103 [2022-02-20 23:58:03,239 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 6.3s TimeCoverageRelationStatistics Valid=31, Invalid=123, Unknown=2, NotChecked=0, Total=156 [2022-02-20 23:58:03,240 INFO L933 BasicCegarLoop]: 81 mSDtfsCounter, 2 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 326 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 312 SdHoareTripleChecker+Invalid, 383 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 326 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 53 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:03,240 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 312 Invalid, 383 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 326 Invalid, 0 Unknown, 53 Unchecked, 0.6s Time] [2022-02-20 23:58:03,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-02-20 23:58:03,242 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 101. [2022-02-20 23:58:03,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:03,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 101 states, 60 states have (on average 1.6666666666666667) internal successors, (100), 95 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:03,243 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 101 states, 60 states have (on average 1.6666666666666667) internal successors, (100), 95 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:03,243 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 101 states, 60 states have (on average 1.6666666666666667) internal successors, (100), 95 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:03,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,245 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2022-02-20 23:58:03,245 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2022-02-20 23:58:03,245 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:03,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:03,246 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 60 states have (on average 1.6666666666666667) internal successors, (100), 95 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 103 states. [2022-02-20 23:58:03,262 INFO L87 Difference]: Start difference. First operand has 101 states, 60 states have (on average 1.6666666666666667) internal successors, (100), 95 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 103 states. [2022-02-20 23:58:03,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,267 INFO L93 Difference]: Finished difference Result 103 states and 108 transitions. [2022-02-20 23:58:03,268 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2022-02-20 23:58:03,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:03,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:03,271 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:03,271 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:03,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 60 states have (on average 1.6666666666666667) internal successors, (100), 95 states have internal predecessors, (100), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:03,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 106 transitions. [2022-02-20 23:58:03,274 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 106 transitions. Word has length 26 [2022-02-20 23:58:03,275 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:03,275 INFO L470 AbstractCegarLoop]: Abstraction has 101 states and 106 transitions. [2022-02-20 23:58:03,275 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:03,275 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 106 transitions. [2022-02-20 23:58:03,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:58:03,275 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:03,276 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:03,279 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Ended with exit code 0 [2022-02-20 23:58:03,486 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:03,678 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:03,679 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:03,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:03,679 INFO L85 PathProgramCache]: Analyzing trace with hash -2101924137, now seen corresponding path program 1 times [2022-02-20 23:58:03,679 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:03,680 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1717754963] [2022-02-20 23:58:03,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:03,680 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:03,680 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:03,681 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:03,682 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Waiting until timeout for monitored process [2022-02-20 23:58:03,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:03,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:58:03,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:03,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:03,864 INFO L290 TraceCheckUtils]: 0: Hoare triple {3580#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {3580#true} is VALID [2022-02-20 23:58:03,864 INFO L290 TraceCheckUtils]: 1: Hoare triple {3580#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3580#true} is VALID [2022-02-20 23:58:03,864 INFO L272 TraceCheckUtils]: 2: Hoare triple {3580#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3580#true} is VALID [2022-02-20 23:58:03,865 INFO L290 TraceCheckUtils]: 3: Hoare triple {3580#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,865 INFO L290 TraceCheckUtils]: 4: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,866 INFO L290 TraceCheckUtils]: 6: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,866 INFO L290 TraceCheckUtils]: 7: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} assume true; {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,868 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} {3580#true} #143#return; {3617#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,868 INFO L290 TraceCheckUtils]: 11: Hoare triple {3617#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| (_ bv0 32)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,869 INFO L290 TraceCheckUtils]: 12: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,869 INFO L272 TraceCheckUtils]: 13: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3580#true} is VALID [2022-02-20 23:58:03,869 INFO L290 TraceCheckUtils]: 14: Hoare triple {3580#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3580#true} is VALID [2022-02-20 23:58:03,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {3580#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3580#true} is VALID [2022-02-20 23:58:03,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {3580#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {3580#true} is VALID [2022-02-20 23:58:03,869 INFO L290 TraceCheckUtils]: 17: Hoare triple {3580#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {3580#true} is VALID [2022-02-20 23:58:03,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {3580#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {3580#true} is VALID [2022-02-20 23:58:03,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {3580#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3580#true} is VALID [2022-02-20 23:58:03,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {3580#true} assume true; {3580#true} is VALID [2022-02-20 23:58:03,871 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3580#true} {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} #145#return; {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,871 INFO L290 TraceCheckUtils]: 22: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,874 INFO L290 TraceCheckUtils]: 23: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,875 INFO L290 TraceCheckUtils]: 24: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} assume !(dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32); {3581#false} is VALID [2022-02-20 23:58:03,875 INFO L290 TraceCheckUtils]: 25: Hoare triple {3581#false} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {3581#false} is VALID [2022-02-20 23:58:03,875 INFO L290 TraceCheckUtils]: 26: Hoare triple {3581#false} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {3581#false} is VALID [2022-02-20 23:58:03,875 INFO L290 TraceCheckUtils]: 27: Hoare triple {3581#false} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {3581#false} is VALID [2022-02-20 23:58:03,875 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:03,875 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:03,977 INFO L290 TraceCheckUtils]: 27: Hoare triple {3581#false} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {3581#false} is VALID [2022-02-20 23:58:03,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {3581#false} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {3581#false} is VALID [2022-02-20 23:58:03,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {3581#false} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {3581#false} is VALID [2022-02-20 23:58:03,977 INFO L290 TraceCheckUtils]: 24: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} assume !(dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32); {3581#false} is VALID [2022-02-20 23:58:03,978 INFO L290 TraceCheckUtils]: 23: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,978 INFO L290 TraceCheckUtils]: 22: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,979 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3580#true} {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} #145#return; {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {3580#true} assume true; {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {3580#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {3580#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 17: Hoare triple {3580#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 16: Hoare triple {3580#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {3580#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {3580#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3580#true} is VALID [2022-02-20 23:58:03,979 INFO L272 TraceCheckUtils]: 13: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3580#true} is VALID [2022-02-20 23:58:03,980 INFO L290 TraceCheckUtils]: 12: Hoare triple {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,980 INFO L290 TraceCheckUtils]: 11: Hoare triple {3617#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| (_ bv0 32)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {3621#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} {3580#true} #143#return; {3617#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} assume true; {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3610#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:58:03,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,982 INFO L290 TraceCheckUtils]: 6: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,983 INFO L290 TraceCheckUtils]: 4: Hoare triple {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,983 INFO L290 TraceCheckUtils]: 3: Hoare triple {3580#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {3594#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:58:03,983 INFO L272 TraceCheckUtils]: 2: Hoare triple {3580#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3580#true} is VALID [2022-02-20 23:58:03,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {3580#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {3580#true} is VALID [2022-02-20 23:58:03,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {3580#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {3580#true} is VALID [2022-02-20 23:58:03,984 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:03,984 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:03,984 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1717754963] [2022-02-20 23:58:03,984 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1717754963] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:58:03,984 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:03,984 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2022-02-20 23:58:03,984 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [618848608] [2022-02-20 23:58:03,984 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:03,985 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 28 [2022-02-20 23:58:03,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:03,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:04,010 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:04,011 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:58:04,011 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:04,011 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:58:04,011 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:58:04,011 INFO L87 Difference]: Start difference. First operand 101 states and 106 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:04,661 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,661 INFO L93 Difference]: Finished difference Result 102 states and 106 transitions. [2022-02-20 23:58:04,662 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:58:04,662 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 28 [2022-02-20 23:58:04,663 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:04,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:04,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-02-20 23:58:04,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:04,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 100 transitions. [2022-02-20 23:58:04,668 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 100 transitions. [2022-02-20 23:58:04,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:04,740 INFO L225 Difference]: With dead ends: 102 [2022-02-20 23:58:04,741 INFO L226 Difference]: Without dead ends: 102 [2022-02-20 23:58:04,745 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:04,746 INFO L933 BasicCegarLoop]: 83 mSDtfsCounter, 4 mSDsluCounter, 316 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 399 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:04,747 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 399 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:04,747 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-02-20 23:58:04,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 101. [2022-02-20 23:58:04,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:04,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 101 states, 60 states have (on average 1.65) internal successors, (99), 95 states have internal predecessors, (99), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:04,760 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 101 states, 60 states have (on average 1.65) internal successors, (99), 95 states have internal predecessors, (99), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:04,761 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 101 states, 60 states have (on average 1.65) internal successors, (99), 95 states have internal predecessors, (99), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:04,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,764 INFO L93 Difference]: Finished difference Result 102 states and 106 transitions. [2022-02-20 23:58:04,764 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 106 transitions. [2022-02-20 23:58:04,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:04,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:04,771 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 60 states have (on average 1.65) internal successors, (99), 95 states have internal predecessors, (99), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 102 states. [2022-02-20 23:58:04,773 INFO L87 Difference]: Start difference. First operand has 101 states, 60 states have (on average 1.65) internal successors, (99), 95 states have internal predecessors, (99), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 102 states. [2022-02-20 23:58:04,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,776 INFO L93 Difference]: Finished difference Result 102 states and 106 transitions. [2022-02-20 23:58:04,776 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 106 transitions. [2022-02-20 23:58:04,777 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:04,777 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:04,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:04,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:04,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 60 states have (on average 1.65) internal successors, (99), 95 states have internal predecessors, (99), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:04,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 105 transitions. [2022-02-20 23:58:04,788 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 105 transitions. Word has length 28 [2022-02-20 23:58:04,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:04,788 INFO L470 AbstractCegarLoop]: Abstraction has 101 states and 105 transitions. [2022-02-20 23:58:04,788 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 2 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:04,789 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 105 transitions. [2022-02-20 23:58:04,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:58:04,794 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:04,794 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:04,802 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:05,001 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:05,001 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:05,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:05,002 INFO L85 PathProgramCache]: Analyzing trace with hash -739919470, now seen corresponding path program 1 times [2022-02-20 23:58:05,002 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:05,003 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1458606038] [2022-02-20 23:58:05,003 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:05,003 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:05,003 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:05,004 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:05,012 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Waiting until timeout for monitored process [2022-02-20 23:58:05,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:05,095 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:58:05,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:05,104 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:05,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {4159#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {4159#true} is VALID [2022-02-20 23:58:05,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {4159#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4159#true} is VALID [2022-02-20 23:58:05,205 INFO L272 TraceCheckUtils]: 2: Hoare triple {4159#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4159#true} is VALID [2022-02-20 23:58:05,205 INFO L290 TraceCheckUtils]: 3: Hoare triple {4159#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,205 INFO L290 TraceCheckUtils]: 4: Hoare triple {4159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4159#true} is VALID [2022-02-20 23:58:05,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4159#true} is VALID [2022-02-20 23:58:05,206 INFO L290 TraceCheckUtils]: 6: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4159#true} is VALID [2022-02-20 23:58:05,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {4159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4159#true} is VALID [2022-02-20 23:58:05,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {4159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {4159#true} assume true; {4159#true} is VALID [2022-02-20 23:58:05,206 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4159#true} {4159#true} #143#return; {4159#true} is VALID [2022-02-20 23:58:05,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {4159#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,210 INFO L290 TraceCheckUtils]: 12: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,212 INFO L272 TraceCheckUtils]: 13: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4159#true} is VALID [2022-02-20 23:58:05,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {4159#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,218 INFO L290 TraceCheckUtils]: 15: Hoare triple {4159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4159#true} is VALID [2022-02-20 23:58:05,218 INFO L290 TraceCheckUtils]: 16: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4159#true} is VALID [2022-02-20 23:58:05,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4159#true} is VALID [2022-02-20 23:58:05,219 INFO L290 TraceCheckUtils]: 18: Hoare triple {4159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4159#true} is VALID [2022-02-20 23:58:05,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {4159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {4159#true} assume true; {4159#true} is VALID [2022-02-20 23:58:05,222 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4159#true} {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} #145#return; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,224 INFO L290 TraceCheckUtils]: 24: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,224 INFO L290 TraceCheckUtils]: 25: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:58:05,225 INFO L290 TraceCheckUtils]: 26: Hoare triple {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:58:05,225 INFO L290 TraceCheckUtils]: 27: Hoare triple {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:58:05,226 INFO L290 TraceCheckUtils]: 28: Hoare triple {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {4160#false} is VALID [2022-02-20 23:58:05,226 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:58:05,226 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:05,248 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:58:05,249 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 11 [2022-02-20 23:58:05,315 INFO L290 TraceCheckUtils]: 28: Hoare triple {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {4160#false} is VALID [2022-02-20 23:58:05,315 INFO L290 TraceCheckUtils]: 27: Hoare triple {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:58:05,316 INFO L290 TraceCheckUtils]: 26: Hoare triple {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:58:05,316 INFO L290 TraceCheckUtils]: 25: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {4240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:58:05,317 INFO L290 TraceCheckUtils]: 24: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,318 INFO L290 TraceCheckUtils]: 23: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,318 INFO L290 TraceCheckUtils]: 22: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,319 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4159#true} {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} #145#return; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {4159#true} assume true; {4159#true} is VALID [2022-02-20 23:58:05,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {4159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,319 INFO L290 TraceCheckUtils]: 18: Hoare triple {4159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4159#true} is VALID [2022-02-20 23:58:05,320 INFO L290 TraceCheckUtils]: 17: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4159#true} is VALID [2022-02-20 23:58:05,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4159#true} is VALID [2022-02-20 23:58:05,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {4159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4159#true} is VALID [2022-02-20 23:58:05,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {4159#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,320 INFO L272 TraceCheckUtils]: 13: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4159#true} is VALID [2022-02-20 23:58:05,321 INFO L290 TraceCheckUtils]: 12: Hoare triple {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {4159#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:58:05,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4159#true} {4159#true} #143#return; {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {4159#true} assume true; {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {4159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {4159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 6: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {4159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 4: Hoare triple {4159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4159#true} is VALID [2022-02-20 23:58:05,322 INFO L290 TraceCheckUtils]: 3: Hoare triple {4159#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4159#true} is VALID [2022-02-20 23:58:05,323 INFO L272 TraceCheckUtils]: 2: Hoare triple {4159#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4159#true} is VALID [2022-02-20 23:58:05,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {4159#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4159#true} is VALID [2022-02-20 23:58:05,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {4159#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {4159#true} is VALID [2022-02-20 23:58:05,324 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:58:05,324 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:05,325 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1458606038] [2022-02-20 23:58:05,325 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1458606038] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:58:05,325 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:05,325 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 3 [2022-02-20 23:58:05,325 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [440722517] [2022-02-20 23:58:05,325 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:05,326 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-02-20 23:58:05,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:05,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:05,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:05,356 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:05,356 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:05,357 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:05,357 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:05,357 INFO L87 Difference]: Start difference. First operand 101 states and 105 transitions. Second operand has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:05,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:05,984 INFO L93 Difference]: Finished difference Result 143 states and 151 transitions. [2022-02-20 23:58:05,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:05,984 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-02-20 23:58:05,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:05,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:05,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 145 transitions. [2022-02-20 23:58:05,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:05,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 145 transitions. [2022-02-20 23:58:05,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 145 transitions. [2022-02-20 23:58:06,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:06,116 INFO L225 Difference]: With dead ends: 143 [2022-02-20 23:58:06,116 INFO L226 Difference]: Without dead ends: 143 [2022-02-20 23:58:06,117 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 54 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 23:58:06,117 INFO L933 BasicCegarLoop]: 71 mSDtfsCounter, 45 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:06,117 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 174 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:58:06,117 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-02-20 23:58:06,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 104. [2022-02-20 23:58:06,119 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:06,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 104 states, 63 states have (on average 1.6507936507936507) internal successors, (104), 98 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:06,119 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 104 states, 63 states have (on average 1.6507936507936507) internal successors, (104), 98 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:06,120 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 104 states, 63 states have (on average 1.6507936507936507) internal successors, (104), 98 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:06,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,122 INFO L93 Difference]: Finished difference Result 143 states and 151 transitions. [2022-02-20 23:58:06,122 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 151 transitions. [2022-02-20 23:58:06,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:06,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:06,123 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 63 states have (on average 1.6507936507936507) internal successors, (104), 98 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 143 states. [2022-02-20 23:58:06,123 INFO L87 Difference]: Start difference. First operand has 104 states, 63 states have (on average 1.6507936507936507) internal successors, (104), 98 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 143 states. [2022-02-20 23:58:06,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,128 INFO L93 Difference]: Finished difference Result 143 states and 151 transitions. [2022-02-20 23:58:06,128 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 151 transitions. [2022-02-20 23:58:06,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:06,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:06,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:06,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:06,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 63 states have (on average 1.6507936507936507) internal successors, (104), 98 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:06,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 110 transitions. [2022-02-20 23:58:06,146 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 110 transitions. Word has length 29 [2022-02-20 23:58:06,146 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:06,147 INFO L470 AbstractCegarLoop]: Abstraction has 104 states and 110 transitions. [2022-02-20 23:58:06,147 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 6.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:58:06,147 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 110 transitions. [2022-02-20 23:58:06,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:58:06,147 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:06,147 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:06,154 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (11)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:06,354 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:06,354 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:06,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:06,355 INFO L85 PathProgramCache]: Analyzing trace with hash -739919469, now seen corresponding path program 1 times [2022-02-20 23:58:06,355 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:06,355 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [2094466872] [2022-02-20 23:58:06,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:06,356 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:06,356 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:06,357 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:06,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Waiting until timeout for monitored process [2022-02-20 23:58:06,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:58:06,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:06,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {4868#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {4868#true} is VALID [2022-02-20 23:58:06,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {4868#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4868#true} is VALID [2022-02-20 23:58:06,681 INFO L272 TraceCheckUtils]: 2: Hoare triple {4868#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4868#true} is VALID [2022-02-20 23:58:06,681 INFO L290 TraceCheckUtils]: 3: Hoare triple {4868#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,681 INFO L290 TraceCheckUtils]: 4: Hoare triple {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,682 INFO L290 TraceCheckUtils]: 6: Hoare triple {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {4882#(= |node_create_~temp~0#1.offset| (_ bv0 32))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4898#(= |node_create_#res#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#(= |node_create_#res#1.offset| (_ bv0 32))} assume true; {4898#(= |node_create_#res#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,684 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#(= |node_create_#res#1.offset| (_ bv0 32))} {4868#true} #143#return; {4905#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:06,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {4905#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:58:06,684 INFO L290 TraceCheckUtils]: 12: Hoare triple {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:58:06,684 INFO L272 TraceCheckUtils]: 13: Hoare triple {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {4868#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {4868#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {4868#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 17: Hoare triple {4868#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 18: Hoare triple {4868#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 19: Hoare triple {4868#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4868#true} is VALID [2022-02-20 23:58:06,685 INFO L290 TraceCheckUtils]: 20: Hoare triple {4868#true} assume true; {4868#true} is VALID [2022-02-20 23:58:06,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4868#true} {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} #145#return; {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:58:06,686 INFO L290 TraceCheckUtils]: 22: Hoare triple {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:58:06,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:58:06,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} is VALID [2022-02-20 23:58:06,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {4909#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| |ULTIMATE.start_dll_circular_create_~head~0#1.offset|))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {4952#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv0 32)) (bvule (_ bv8 32) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:06,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {4952#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv0 32)) (bvule (_ bv8 32) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {4952#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv0 32)) (bvule (_ bv8 32) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:06,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {4952#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv0 32)) (bvule (_ bv8 32) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {4952#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv0 32)) (bvule (_ bv8 32) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:06,690 INFO L290 TraceCheckUtils]: 28: Hoare triple {4952#(and (= |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv0 32)) (bvule (_ bv8 32) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, dll_circular_create_~last~0#1.offset), #length[dll_circular_create_~last~0#1.base]) && ~bvule32(dll_circular_create_~last~0#1.offset, ~bvadd32(4bv32, dll_circular_create_~last~0#1.offset))) && ~bvule32(0bv32, dll_circular_create_~last~0#1.offset)); {4869#false} is VALID [2022-02-20 23:58:06,690 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:06,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:06,769 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:58:06,770 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 26 [2022-02-20 23:58:07,203 INFO L290 TraceCheckUtils]: 28: Hoare triple {4962#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, dll_circular_create_~last~0#1.offset), #length[dll_circular_create_~last~0#1.base]) && ~bvule32(dll_circular_create_~last~0#1.offset, ~bvadd32(4bv32, dll_circular_create_~last~0#1.offset))) && ~bvule32(0bv32, dll_circular_create_~last~0#1.offset)); {4869#false} is VALID [2022-02-20 23:58:07,204 INFO L290 TraceCheckUtils]: 27: Hoare triple {4962#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {4962#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:07,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {4962#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {4962#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:07,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {4962#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (select |#length| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)))} is VALID [2022-02-20 23:58:07,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,221 INFO L290 TraceCheckUtils]: 23: Hoare triple {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,221 INFO L290 TraceCheckUtils]: 22: Hoare triple {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,222 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4868#true} {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} #145#return; {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,222 INFO L290 TraceCheckUtils]: 20: Hoare triple {4868#true} assume true; {4868#true} is VALID [2022-02-20 23:58:07,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {4868#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4868#true} is VALID [2022-02-20 23:58:07,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {4868#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4868#true} is VALID [2022-02-20 23:58:07,222 INFO L290 TraceCheckUtils]: 17: Hoare triple {4868#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4868#true} is VALID [2022-02-20 23:58:07,222 INFO L290 TraceCheckUtils]: 16: Hoare triple {4868#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4868#true} is VALID [2022-02-20 23:58:07,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {4868#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4868#true} is VALID [2022-02-20 23:58:07,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {4868#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {4868#true} is VALID [2022-02-20 23:58:07,223 INFO L272 TraceCheckUtils]: 13: Hoare triple {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {4868#true} is VALID [2022-02-20 23:58:07,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,224 INFO L290 TraceCheckUtils]: 11: Hoare triple {5015#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)) (bvule |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {4972#(and (bvule |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32))) (= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (bvule (bvadd |ULTIMATE.start_dll_circular_create_~last~0#1.offset| (_ bv4 32)) (bvadd |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,224 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5022#(and (bvule |node_create_#res#1.offset| (bvadd (_ bv4 32) |node_create_#res#1.offset|)) (bvule (bvadd (_ bv4 32) |node_create_#res#1.offset|) (bvadd |node_create_#res#1.offset| (_ bv8 32))))} {4868#true} #143#return; {5015#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|) (bvadd (_ bv8 32) |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)) (bvule |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)))} is VALID [2022-02-20 23:58:07,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {5022#(and (bvule |node_create_#res#1.offset| (bvadd (_ bv4 32) |node_create_#res#1.offset|)) (bvule (bvadd (_ bv4 32) |node_create_#res#1.offset|) (bvadd |node_create_#res#1.offset| (_ bv8 32))))} assume true; {5022#(and (bvule |node_create_#res#1.offset| (bvadd (_ bv4 32) |node_create_#res#1.offset|)) (bvule (bvadd (_ bv4 32) |node_create_#res#1.offset|) (bvadd |node_create_#res#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5022#(and (bvule |node_create_#res#1.offset| (bvadd (_ bv4 32) |node_create_#res#1.offset|)) (bvule (bvadd (_ bv4 32) |node_create_#res#1.offset|) (bvadd |node_create_#res#1.offset| (_ bv8 32))))} is VALID [2022-02-20 23:58:07,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} is VALID [2022-02-20 23:58:07,234 INFO L290 TraceCheckUtils]: 6: Hoare triple {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} is VALID [2022-02-20 23:58:07,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} is VALID [2022-02-20 23:58:07,235 INFO L290 TraceCheckUtils]: 4: Hoare triple {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} is VALID [2022-02-20 23:58:07,235 INFO L290 TraceCheckUtils]: 3: Hoare triple {4868#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5029#(and (bvule (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|) (bvadd |node_create_~temp~0#1.offset| (_ bv8 32))) (bvule |node_create_~temp~0#1.offset| (bvadd (_ bv4 32) |node_create_~temp~0#1.offset|)))} is VALID [2022-02-20 23:58:07,235 INFO L272 TraceCheckUtils]: 2: Hoare triple {4868#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4868#true} is VALID [2022-02-20 23:58:07,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {4868#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {4868#true} is VALID [2022-02-20 23:58:07,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {4868#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {4868#true} is VALID [2022-02-20 23:58:07,236 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:07,236 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:07,236 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [2094466872] [2022-02-20 23:58:07,237 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [2094466872] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:58:07,237 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:07,237 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 11 [2022-02-20 23:58:07,237 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2069185192] [2022-02-20 23:58:07,237 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:07,238 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 23:58:07,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:07,238 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:07,299 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:07,299 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:58:07,299 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:07,300 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:58:07,300 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:58:07,300 INFO L87 Difference]: Start difference. First operand 104 states and 110 transitions. Second operand has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:09,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:09,862 INFO L93 Difference]: Finished difference Result 168 states and 175 transitions. [2022-02-20 23:58:09,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:58:09,863 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 23:58:09,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:09,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:09,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 169 transitions. [2022-02-20 23:58:09,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:09,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 169 transitions. [2022-02-20 23:58:09,867 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 169 transitions. [2022-02-20 23:58:10,062 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 23:58:10,064 INFO L225 Difference]: With dead ends: 168 [2022-02-20 23:58:10,064 INFO L226 Difference]: Without dead ends: 168 [2022-02-20 23:58:10,064 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=144, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:58:10,064 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 202 mSDsluCounter, 338 mSDsCounter, 0 mSdLazyCounter, 250 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 202 SdHoareTripleChecker+Valid, 399 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 250 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:10,064 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [202 Valid, 399 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 250 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 23:58:10,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2022-02-20 23:58:10,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 104. [2022-02-20 23:58:10,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:10,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand has 104 states, 63 states have (on average 1.6349206349206349) internal successors, (103), 98 states have internal predecessors, (103), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:10,067 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand has 104 states, 63 states have (on average 1.6349206349206349) internal successors, (103), 98 states have internal predecessors, (103), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:10,067 INFO L87 Difference]: Start difference. First operand 168 states. Second operand has 104 states, 63 states have (on average 1.6349206349206349) internal successors, (103), 98 states have internal predecessors, (103), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:10,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:10,070 INFO L93 Difference]: Finished difference Result 168 states and 175 transitions. [2022-02-20 23:58:10,070 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 175 transitions. [2022-02-20 23:58:10,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:10,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:10,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 63 states have (on average 1.6349206349206349) internal successors, (103), 98 states have internal predecessors, (103), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 168 states. [2022-02-20 23:58:10,072 INFO L87 Difference]: Start difference. First operand has 104 states, 63 states have (on average 1.6349206349206349) internal successors, (103), 98 states have internal predecessors, (103), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 168 states. [2022-02-20 23:58:10,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:10,074 INFO L93 Difference]: Finished difference Result 168 states and 175 transitions. [2022-02-20 23:58:10,074 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 175 transitions. [2022-02-20 23:58:10,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:10,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:10,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:10,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:10,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 63 states have (on average 1.6349206349206349) internal successors, (103), 98 states have internal predecessors, (103), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:10,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 109 transitions. [2022-02-20 23:58:10,076 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 109 transitions. Word has length 29 [2022-02-20 23:58:10,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:10,076 INFO L470 AbstractCegarLoop]: Abstraction has 104 states and 109 transitions. [2022-02-20 23:58:10,077 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 10 states have internal predecessors, (41), 3 states have call successors, (3), 1 states have call predecessors, (3), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:58:10,077 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 109 transitions. [2022-02-20 23:58:10,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:58:10,077 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:10,077 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:10,087 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (12)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:10,284 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:10,284 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:10,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:10,285 INFO L85 PathProgramCache]: Analyzing trace with hash -1462667085, now seen corresponding path program 1 times [2022-02-20 23:58:10,285 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:10,285 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1507113101] [2022-02-20 23:58:10,286 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:10,286 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:10,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:10,287 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:10,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Waiting until timeout for monitored process [2022-02-20 23:58:10,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:10,420 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:58:10,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:10,433 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:10,464 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:10,529 INFO L290 TraceCheckUtils]: 0: Hoare triple {5662#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {5662#true} is VALID [2022-02-20 23:58:10,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {5662#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {5662#true} is VALID [2022-02-20 23:58:10,529 INFO L272 TraceCheckUtils]: 2: Hoare triple {5662#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5662#true} is VALID [2022-02-20 23:58:10,529 INFO L290 TraceCheckUtils]: 3: Hoare triple {5662#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 4: Hoare triple {5662#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {5662#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 6: Hoare triple {5662#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 7: Hoare triple {5662#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 8: Hoare triple {5662#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 9: Hoare triple {5662#true} assume true; {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5662#true} {5662#true} #143#return; {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 11: Hoare triple {5662#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L290 TraceCheckUtils]: 12: Hoare triple {5662#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {5662#true} is VALID [2022-02-20 23:58:10,530 INFO L272 TraceCheckUtils]: 13: Hoare triple {5662#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {5662#true} is VALID [2022-02-20 23:58:10,531 INFO L290 TraceCheckUtils]: 14: Hoare triple {5662#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,531 INFO L290 TraceCheckUtils]: 15: Hoare triple {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,532 INFO L290 TraceCheckUtils]: 16: Hoare triple {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,532 INFO L290 TraceCheckUtils]: 17: Hoare triple {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,532 INFO L290 TraceCheckUtils]: 18: Hoare triple {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {5709#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5725#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {5725#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {5725#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,533 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5725#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {5662#true} #145#return; {5732#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,534 INFO L290 TraceCheckUtils]: 22: Hoare triple {5732#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,538 INFO L290 TraceCheckUtils]: 26: Hoare triple {5736#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {5749#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {5749#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {5749#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,539 INFO L290 TraceCheckUtils]: 28: Hoare triple {5749#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {5749#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:10,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {5749#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {5663#false} is VALID [2022-02-20 23:58:10,540 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:10,540 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:10,540 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:10,540 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1507113101] [2022-02-20 23:58:10,540 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1507113101] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:10,540 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:10,540 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:58:10,540 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306408747] [2022-02-20 23:58:10,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:10,540 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:58:10,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:10,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:10,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:10,568 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:58:10,568 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:10,568 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:58:10,568 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:10,568 INFO L87 Difference]: Start difference. First operand 104 states and 109 transitions. Second operand has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:11,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:11,664 INFO L93 Difference]: Finished difference Result 141 states and 148 transitions. [2022-02-20 23:58:11,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:11,664 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:58:11,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:11,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:11,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 134 transitions. [2022-02-20 23:58:11,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:11,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 134 transitions. [2022-02-20 23:58:11,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 134 transitions. [2022-02-20 23:58:11,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:11,809 INFO L225 Difference]: With dead ends: 141 [2022-02-20 23:58:11,810 INFO L226 Difference]: Without dead ends: 141 [2022-02-20 23:58:11,810 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:58:11,810 INFO L933 BasicCegarLoop]: 61 mSDtfsCounter, 94 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 262 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:11,810 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 259 Invalid, 262 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:58:11,811 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-02-20 23:58:11,812 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 103. [2022-02-20 23:58:11,812 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:11,812 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 103 states, 63 states have (on average 1.619047619047619) internal successors, (102), 97 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:11,812 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 103 states, 63 states have (on average 1.619047619047619) internal successors, (102), 97 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:11,812 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 103 states, 63 states have (on average 1.619047619047619) internal successors, (102), 97 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:11,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:11,814 INFO L93 Difference]: Finished difference Result 141 states and 148 transitions. [2022-02-20 23:58:11,814 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 148 transitions. [2022-02-20 23:58:11,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:11,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:11,815 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 63 states have (on average 1.619047619047619) internal successors, (102), 97 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 141 states. [2022-02-20 23:58:11,817 INFO L87 Difference]: Start difference. First operand has 103 states, 63 states have (on average 1.619047619047619) internal successors, (102), 97 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 141 states. [2022-02-20 23:58:11,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:11,819 INFO L93 Difference]: Finished difference Result 141 states and 148 transitions. [2022-02-20 23:58:11,819 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 148 transitions. [2022-02-20 23:58:11,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:11,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:11,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:11,820 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:11,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 63 states have (on average 1.619047619047619) internal successors, (102), 97 states have internal predecessors, (102), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:11,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 108 transitions. [2022-02-20 23:58:11,821 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 108 transitions. Word has length 30 [2022-02-20 23:58:11,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:11,822 INFO L470 AbstractCegarLoop]: Abstraction has 103 states and 108 transitions. [2022-02-20 23:58:11,822 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:11,822 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 108 transitions. [2022-02-20 23:58:11,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:58:11,823 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:11,823 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:11,830 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:12,027 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:12,027 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:12,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:12,029 INFO L85 PathProgramCache]: Analyzing trace with hash -1462667084, now seen corresponding path program 1 times [2022-02-20 23:58:12,029 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:12,029 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [835553432] [2022-02-20 23:58:12,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:12,029 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:12,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:12,030 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:12,031 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Waiting until timeout for monitored process [2022-02-20 23:58:12,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:12,138 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:58:12,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:12,152 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:12,184 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {6289#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {6289#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L272 TraceCheckUtils]: 2: Hoare triple {6289#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 3: Hoare triple {6289#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 4: Hoare triple {6289#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 5: Hoare triple {6289#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 6: Hoare triple {6289#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {6289#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {6289#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 9: Hoare triple {6289#true} assume true; {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6289#true} {6289#true} #143#return; {6289#true} is VALID [2022-02-20 23:58:12,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {6289#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6289#true} is VALID [2022-02-20 23:58:12,309 INFO L290 TraceCheckUtils]: 12: Hoare triple {6289#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {6289#true} is VALID [2022-02-20 23:58:12,309 INFO L272 TraceCheckUtils]: 13: Hoare triple {6289#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6289#true} is VALID [2022-02-20 23:58:12,310 INFO L290 TraceCheckUtils]: 14: Hoare triple {6289#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,310 INFO L290 TraceCheckUtils]: 15: Hoare triple {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,312 INFO L290 TraceCheckUtils]: 19: Hoare triple {6336#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6352#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:12,312 INFO L290 TraceCheckUtils]: 20: Hoare triple {6352#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} assume true; {6352#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:12,313 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6352#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} {6289#true} #145#return; {6359#(and (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {6359#(and (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv12 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,317 INFO L290 TraceCheckUtils]: 23: Hoare triple {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,317 INFO L290 TraceCheckUtils]: 24: Hoare triple {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,318 INFO L290 TraceCheckUtils]: 25: Hoare triple {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,318 INFO L290 TraceCheckUtils]: 26: Hoare triple {6363#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {6376#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,319 INFO L290 TraceCheckUtils]: 27: Hoare triple {6376#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {6376#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,319 INFO L290 TraceCheckUtils]: 28: Hoare triple {6376#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {6376#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:12,320 INFO L290 TraceCheckUtils]: 29: Hoare triple {6376#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset)), #length[dll_circular_create_~head~0#1.base]) && ~bvule32(~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset))); {6290#false} is VALID [2022-02-20 23:58:12,320 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:12,320 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:12,320 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:12,320 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [835553432] [2022-02-20 23:58:12,320 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [835553432] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:12,320 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:12,320 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:58:12,320 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2090964580] [2022-02-20 23:58:12,320 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:12,321 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:58:12,321 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:12,321 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:12,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:12,359 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:58:12,359 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:12,360 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:58:12,360 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:12,360 INFO L87 Difference]: Start difference. First operand 103 states and 108 transitions. Second operand has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:13,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:13,588 INFO L93 Difference]: Finished difference Result 102 states and 107 transitions. [2022-02-20 23:58:13,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:13,589 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:58:13,589 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:13,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:13,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-02-20 23:58:13,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:13,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-02-20 23:58:13,590 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2022-02-20 23:58:13,700 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:13,701 INFO L225 Difference]: With dead ends: 102 [2022-02-20 23:58:13,701 INFO L226 Difference]: Without dead ends: 102 [2022-02-20 23:58:13,701 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:58:13,701 INFO L933 BasicCegarLoop]: 56 mSDtfsCounter, 138 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 210 SdHoareTripleChecker+Invalid, 188 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:13,702 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [138 Valid, 210 Invalid, 188 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:58:13,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-02-20 23:58:13,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-02-20 23:58:13,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:13,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 102 states, 63 states have (on average 1.6031746031746033) internal successors, (101), 96 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:13,704 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 102 states, 63 states have (on average 1.6031746031746033) internal successors, (101), 96 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:13,704 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 102 states, 63 states have (on average 1.6031746031746033) internal successors, (101), 96 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:13,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:13,705 INFO L93 Difference]: Finished difference Result 102 states and 107 transitions. [2022-02-20 23:58:13,705 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 107 transitions. [2022-02-20 23:58:13,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:13,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:13,705 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 63 states have (on average 1.6031746031746033) internal successors, (101), 96 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 102 states. [2022-02-20 23:58:13,706 INFO L87 Difference]: Start difference. First operand has 102 states, 63 states have (on average 1.6031746031746033) internal successors, (101), 96 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 102 states. [2022-02-20 23:58:13,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:13,707 INFO L93 Difference]: Finished difference Result 102 states and 107 transitions. [2022-02-20 23:58:13,708 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 107 transitions. [2022-02-20 23:58:13,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:13,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:13,708 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:13,708 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:13,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 63 states have (on average 1.6031746031746033) internal successors, (101), 96 states have internal predecessors, (101), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:13,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 107 transitions. [2022-02-20 23:58:13,710 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 107 transitions. Word has length 30 [2022-02-20 23:58:13,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:13,710 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 107 transitions. [2022-02-20 23:58:13,710 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 4.333333333333333) internal successors, (26), 6 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:13,710 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 107 transitions. [2022-02-20 23:58:13,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:58:13,711 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:13,711 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:13,731 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (14)] Ended with exit code 0 [2022-02-20 23:58:13,918 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:13,918 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:13,919 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:13,919 INFO L85 PathProgramCache]: Analyzing trace with hash 2100539894, now seen corresponding path program 1 times [2022-02-20 23:58:13,919 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:13,919 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [966752798] [2022-02-20 23:58:13,919 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:13,919 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:13,920 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:13,921 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:13,922 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Waiting until timeout for monitored process [2022-02-20 23:58:14,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:14,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:58:14,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:14,079 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:14,086 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:14,203 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:58:14,204 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 18 treesize of output 25 [2022-02-20 23:58:16,282 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:58:16,282 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 17 [2022-02-20 23:58:16,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {6798#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {6798#true} is VALID [2022-02-20 23:58:16,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {6798#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,332 INFO L272 TraceCheckUtils]: 2: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6810#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:58:16,333 INFO L290 TraceCheckUtils]: 3: Hoare triple {6810#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,333 INFO L290 TraceCheckUtils]: 4: Hoare triple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,334 INFO L290 TraceCheckUtils]: 5: Hoare triple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,334 INFO L290 TraceCheckUtils]: 6: Hoare triple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume true; {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:16,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6814#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_626 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_626) |#valid|)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} #143#return; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,338 INFO L290 TraceCheckUtils]: 12: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,338 INFO L272 TraceCheckUtils]: 13: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6810#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:58:16,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {6810#(= |old(#valid)| |#valid|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,344 INFO L290 TraceCheckUtils]: 19: Hoare triple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,344 INFO L290 TraceCheckUtils]: 20: Hoare triple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} assume true; {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} is VALID [2022-02-20 23:58:16,345 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6848#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} #145#return; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,345 INFO L290 TraceCheckUtils]: 22: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,346 INFO L290 TraceCheckUtils]: 24: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,347 INFO L290 TraceCheckUtils]: 25: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,347 INFO L290 TraceCheckUtils]: 26: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,347 INFO L290 TraceCheckUtils]: 27: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,348 INFO L290 TraceCheckUtils]: 28: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,348 INFO L290 TraceCheckUtils]: 29: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,349 INFO L290 TraceCheckUtils]: 30: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,349 INFO L290 TraceCheckUtils]: 31: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:16,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {6903#(= (select |#valid| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:16,350 INFO L290 TraceCheckUtils]: 33: Hoare triple {6903#(= (select |#valid| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_remove_last_~head#1.base]); {6799#false} is VALID [2022-02-20 23:58:16,350 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 7 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 23:58:16,350 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:18,688 INFO L290 TraceCheckUtils]: 33: Hoare triple {6903#(= (select |#valid| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_remove_last_~head#1.base]); {6799#false} is VALID [2022-02-20 23:58:18,688 INFO L290 TraceCheckUtils]: 32: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {6903#(= (select |#valid| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:18,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,690 INFO L290 TraceCheckUtils]: 29: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,690 INFO L290 TraceCheckUtils]: 28: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,691 INFO L290 TraceCheckUtils]: 27: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,691 INFO L290 TraceCheckUtils]: 26: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,692 INFO L290 TraceCheckUtils]: 24: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,692 INFO L290 TraceCheckUtils]: 23: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,693 INFO L290 TraceCheckUtils]: 22: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,694 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} #145#return; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,695 INFO L290 TraceCheckUtils]: 20: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} assume true; {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,695 INFO L290 TraceCheckUtils]: 19: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,696 INFO L290 TraceCheckUtils]: 17: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,697 INFO L290 TraceCheckUtils]: 16: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,699 INFO L272 TraceCheckUtils]: 13: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,699 INFO L290 TraceCheckUtils]: 12: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} #143#return; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} assume true; {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,702 INFO L290 TraceCheckUtils]: 8: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,702 INFO L290 TraceCheckUtils]: 7: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,704 INFO L290 TraceCheckUtils]: 4: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,705 INFO L290 TraceCheckUtils]: 3: Hoare triple {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,706 INFO L272 TraceCheckUtils]: 2: Hoare triple {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6946#(forall ((|v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3| (_ BitVec 32))) (or (= (select |#valid| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)) (not (= (select |old(#valid)| |v_ULTIMATE.start_main_~#s~0#1.base_BEFORE_CALL_3|) (_ bv1 1)))))} is VALID [2022-02-20 23:58:18,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {6798#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {6806#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:18,707 INFO L290 TraceCheckUtils]: 0: Hoare triple {6798#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {6798#true} is VALID [2022-02-20 23:58:18,707 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:18,707 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:18,707 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [966752798] [2022-02-20 23:58:18,707 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [966752798] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:18,707 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:58:18,707 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 7 [2022-02-20 23:58:18,707 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1835477224] [2022-02-20 23:58:18,708 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:18,708 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-20 23:58:18,708 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:18,708 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:18,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:18,738 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:58:18,738 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:18,739 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:58:18,739 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=38, Unknown=2, NotChecked=0, Total=56 [2022-02-20 23:58:18,739 INFO L87 Difference]: Start difference. First operand 102 states and 107 transitions. Second operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:19,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:19,253 INFO L93 Difference]: Finished difference Result 132 states and 139 transitions. [2022-02-20 23:58:19,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:58:19,253 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-20 23:58:19,254 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:19,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:19,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 128 transitions. [2022-02-20 23:58:19,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:19,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 128 transitions. [2022-02-20 23:58:19,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 128 transitions. [2022-02-20 23:58:19,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:19,372 INFO L225 Difference]: With dead ends: 132 [2022-02-20 23:58:19,372 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:58:19,372 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 53 SyntacticMatches, 7 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 4.1s TimeCoverageRelationStatistics Valid=20, Invalid=50, Unknown=2, NotChecked=0, Total=72 [2022-02-20 23:58:19,372 INFO L933 BasicCegarLoop]: 53 mSDtfsCounter, 105 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 92 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 150 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 92 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 48 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:19,373 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [105 Valid, 137 Invalid, 150 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 92 Invalid, 0 Unknown, 48 Unchecked, 0.2s Time] [2022-02-20 23:58:19,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:58:19,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 102. [2022-02-20 23:58:19,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:19,374 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 102 states, 66 states have (on average 1.5757575757575757) internal successors, (104), 96 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:19,374 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 102 states, 66 states have (on average 1.5757575757575757) internal successors, (104), 96 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:19,375 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 102 states, 66 states have (on average 1.5757575757575757) internal successors, (104), 96 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:19,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:19,377 INFO L93 Difference]: Finished difference Result 132 states and 139 transitions. [2022-02-20 23:58:19,377 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 139 transitions. [2022-02-20 23:58:19,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:19,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:19,377 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 66 states have (on average 1.5757575757575757) internal successors, (104), 96 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 132 states. [2022-02-20 23:58:19,378 INFO L87 Difference]: Start difference. First operand has 102 states, 66 states have (on average 1.5757575757575757) internal successors, (104), 96 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 132 states. [2022-02-20 23:58:19,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:19,379 INFO L93 Difference]: Finished difference Result 132 states and 139 transitions. [2022-02-20 23:58:19,379 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 139 transitions. [2022-02-20 23:58:19,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:19,380 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:19,380 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:19,380 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:19,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 66 states have (on average 1.5757575757575757) internal successors, (104), 96 states have internal predecessors, (104), 3 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:58:19,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 110 transitions. [2022-02-20 23:58:19,381 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 110 transitions. Word has length 34 [2022-02-20 23:58:19,382 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:19,382 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 110 transitions. [2022-02-20 23:58:19,382 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 5.75) internal successors, (23), 5 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:19,382 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 110 transitions. [2022-02-20 23:58:19,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:58:19,382 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:19,382 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:19,390 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:19,590 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:19,591 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:19,591 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:19,591 INFO L85 PathProgramCache]: Analyzing trace with hash 2100539895, now seen corresponding path program 1 times [2022-02-20 23:58:19,591 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:19,591 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [236161573] [2022-02-20 23:58:19,591 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:19,592 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:19,592 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:19,593 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:19,593 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Waiting until timeout for monitored process [2022-02-20 23:58:19,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:19,745 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:58:19,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:19,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:19,774 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:19,779 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:19,920 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:19,921 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:58:19,929 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:58:19,930 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 12 [2022-02-20 23:58:20,049 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:58:20,049 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 12 treesize of output 18 [2022-02-20 23:58:20,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {7506#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {7506#true} is VALID [2022-02-20 23:58:20,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {7506#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {7514#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:20,377 INFO L272 TraceCheckUtils]: 2: Hoare triple {7514#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {7518#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:58:20,378 INFO L290 TraceCheckUtils]: 3: Hoare triple {7518#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,379 INFO L290 TraceCheckUtils]: 4: Hoare triple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,382 INFO L290 TraceCheckUtils]: 6: Hoare triple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,384 INFO L290 TraceCheckUtils]: 7: Hoare triple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} assume true; {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} is VALID [2022-02-20 23:58:20,387 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7522#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (exists ((v_ArrVal_700 (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_700))) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|)))))} {7514#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #143#return; {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:20,387 INFO L290 TraceCheckUtils]: 11: Hoare triple {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:20,387 INFO L290 TraceCheckUtils]: 12: Hoare triple {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:20,388 INFO L272 TraceCheckUtils]: 13: Hoare triple {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7554#(= |#length| |old(#length)|)} is VALID [2022-02-20 23:58:20,389 INFO L290 TraceCheckUtils]: 14: Hoare triple {7554#(= |#length| |old(#length)|)} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,390 INFO L290 TraceCheckUtils]: 17: Hoare triple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,390 INFO L290 TraceCheckUtils]: 19: Hoare triple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} assume true; {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} is VALID [2022-02-20 23:58:20,392 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7558#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| (_ bv12 32))))} {7544#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #145#return; {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,393 INFO L290 TraceCheckUtils]: 22: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,395 INFO L290 TraceCheckUtils]: 23: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,396 INFO L290 TraceCheckUtils]: 24: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,397 INFO L290 TraceCheckUtils]: 25: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,399 INFO L290 TraceCheckUtils]: 26: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,401 INFO L290 TraceCheckUtils]: 28: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,404 INFO L290 TraceCheckUtils]: 30: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} is VALID [2022-02-20 23:58:20,407 INFO L290 TraceCheckUtils]: 32: Hoare triple {7580#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)) (or (= |ULTIMATE.start_main_~#s~0#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|))))))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {7614#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (or (= |ULTIMATE.start_dll_circular_remove_last_~head#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|))) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} is VALID [2022-02-20 23:58:20,408 INFO L290 TraceCheckUtils]: 33: Hoare triple {7614#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (and (or (= |ULTIMATE.start_dll_circular_remove_last_~head#1.base| |node_create_~temp~0#1.base|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|))) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} assume !((~bvule32(~bvadd32(4bv32, dll_circular_remove_last_~head#1.offset), #length[dll_circular_remove_last_~head#1.base]) && ~bvule32(dll_circular_remove_last_~head#1.offset, ~bvadd32(4bv32, dll_circular_remove_last_~head#1.offset))) && ~bvule32(0bv32, dll_circular_remove_last_~head#1.offset)); {7507#false} is VALID [2022-02-20 23:58:20,408 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:20,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:20,794 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:20,794 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [236161573] [2022-02-20 23:58:20,794 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [236161573] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:20,794 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [314967230] [2022-02-20 23:58:20,794 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:20,794 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:58:20,794 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:58:20,795 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (exit command is (exit), workingDir is null) [2022-02-20 23:58:20,797 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (17)] Waiting until timeout for monitored process [2022-02-20 23:58:21,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:21,045 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:58:21,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:21,069 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:21,084 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:21,125 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:58:21,329 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:21,331 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:58:21,400 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:58:21,604 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:21,606 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 14 [2022-02-20 23:58:22,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {7506#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {7506#true} is VALID [2022-02-20 23:58:22,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {7506#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {7663#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,019 INFO L272 TraceCheckUtils]: 2: Hoare triple {7663#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {7667#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,020 INFO L290 TraceCheckUtils]: 3: Hoare triple {7667#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,021 INFO L290 TraceCheckUtils]: 4: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,027 INFO L290 TraceCheckUtils]: 7: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,033 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {7663#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #143#return; {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,034 INFO L290 TraceCheckUtils]: 11: Hoare triple {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,035 INFO L272 TraceCheckUtils]: 13: Hoare triple {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7703#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv0 32))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {7703#(and (= |#length| |old(#length)|) (not (= |#StackHeapBarrier| (_ bv0 32))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,039 INFO L290 TraceCheckUtils]: 16: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,040 INFO L290 TraceCheckUtils]: 17: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:22,054 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7671#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_770 (_ BitVec 32))) (and (= |#length| (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_770)) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {7693#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (not (= |#StackHeapBarrier| (_ bv0 32))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} #145#return; {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,055 INFO L290 TraceCheckUtils]: 22: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,059 INFO L290 TraceCheckUtils]: 28: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,060 INFO L290 TraceCheckUtils]: 29: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,060 INFO L290 TraceCheckUtils]: 30: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:22,061 INFO L290 TraceCheckUtils]: 32: Hoare triple {7728#(and (= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv4 32) (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {7762#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)))} is VALID [2022-02-20 23:58:22,062 INFO L290 TraceCheckUtils]: 33: Hoare triple {7762#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (= (_ bv4 32) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)))} assume !((~bvule32(~bvadd32(4bv32, dll_circular_remove_last_~head#1.offset), #length[dll_circular_remove_last_~head#1.base]) && ~bvule32(dll_circular_remove_last_~head#1.offset, ~bvadd32(4bv32, dll_circular_remove_last_~head#1.offset))) && ~bvule32(0bv32, dll_circular_remove_last_~head#1.offset)); {7507#false} is VALID [2022-02-20 23:58:22,062 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:58:22,062 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:22,331 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [314967230] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:22,331 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:22,331 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 16 [2022-02-20 23:58:22,332 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1894911793] [2022-02-20 23:58:22,332 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:22,332 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 34 [2022-02-20 23:58:22,332 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:22,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:22,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:22,494 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 23:58:22,494 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:22,495 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 23:58:22,495 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=353, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:58:22,495 INFO L87 Difference]: Start difference. First operand 102 states and 110 transitions. Second operand has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:24,221 INFO L93 Difference]: Finished difference Result 149 states and 164 transitions. [2022-02-20 23:58:24,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:58:24,223 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 34 [2022-02-20 23:58:24,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:24,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 154 transitions. [2022-02-20 23:58:24,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 154 transitions. [2022-02-20 23:58:24,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 154 transitions. [2022-02-20 23:58:24,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:24,463 INFO L225 Difference]: With dead ends: 149 [2022-02-20 23:58:24,463 INFO L226 Difference]: Without dead ends: 149 [2022-02-20 23:58:24,463 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 155 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=110, Invalid=646, Unknown=0, NotChecked=0, Total=756 [2022-02-20 23:58:24,464 INFO L933 BasicCegarLoop]: 73 mSDtfsCounter, 18 mSDsluCounter, 581 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 654 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 234 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:24,464 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 654 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 150 Invalid, 0 Unknown, 234 Unchecked, 0.3s Time] [2022-02-20 23:58:24,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-02-20 23:58:24,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 131. [2022-02-20 23:58:24,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:24,469 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 131 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 122 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,469 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 131 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 122 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,469 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 131 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 122 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:24,499 INFO L93 Difference]: Finished difference Result 149 states and 164 transitions. [2022-02-20 23:58:24,499 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 164 transitions. [2022-02-20 23:58:24,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:24,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:24,500 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 122 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 149 states. [2022-02-20 23:58:24,500 INFO L87 Difference]: Start difference. First operand has 131 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 122 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 149 states. [2022-02-20 23:58:24,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:24,502 INFO L93 Difference]: Finished difference Result 149 states and 164 transitions. [2022-02-20 23:58:24,502 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 164 transitions. [2022-02-20 23:58:24,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:24,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:24,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:24,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:24,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 92 states have (on average 1.4891304347826086) internal successors, (137), 122 states have internal predecessors, (137), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 145 transitions. [2022-02-20 23:58:24,506 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 145 transitions. Word has length 34 [2022-02-20 23:58:24,506 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:24,506 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 145 transitions. [2022-02-20 23:58:24,506 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 13 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:24,506 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 145 transitions. [2022-02-20 23:58:24,507 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:58:24,507 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:24,507 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:24,514 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (17)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:24,718 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (16)] Ended with exit code 0 [2022-02-20 23:58:24,911 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:24,911 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr35REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:24,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:24,911 INFO L85 PathProgramCache]: Analyzing trace with hash 2100539891, now seen corresponding path program 1 times [2022-02-20 23:58:24,911 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:24,911 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1195040517] [2022-02-20 23:58:24,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:24,912 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:24,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:24,913 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:24,914 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Waiting until timeout for monitored process [2022-02-20 23:58:25,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:25,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 229 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:58:25,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:25,058 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:25,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {8398#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {8398#true} is VALID [2022-02-20 23:58:25,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {8398#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,176 INFO L272 TraceCheckUtils]: 2: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {8398#true} is VALID [2022-02-20 23:58:25,176 INFO L290 TraceCheckUtils]: 3: Hoare triple {8398#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {8398#true} is VALID [2022-02-20 23:58:25,176 INFO L290 TraceCheckUtils]: 4: Hoare triple {8398#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8398#true} is VALID [2022-02-20 23:58:25,177 INFO L290 TraceCheckUtils]: 5: Hoare triple {8398#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8398#true} is VALID [2022-02-20 23:58:25,177 INFO L290 TraceCheckUtils]: 6: Hoare triple {8398#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8398#true} is VALID [2022-02-20 23:58:25,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {8398#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8398#true} is VALID [2022-02-20 23:58:25,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {8398#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8398#true} is VALID [2022-02-20 23:58:25,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {8398#true} assume true; {8398#true} is VALID [2022-02-20 23:58:25,178 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8398#true} {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} #143#return; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,178 INFO L290 TraceCheckUtils]: 12: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,178 INFO L272 TraceCheckUtils]: 13: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 14: Hoare triple {8398#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 15: Hoare triple {8398#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {8398#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 17: Hoare triple {8398#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 18: Hoare triple {8398#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 19: Hoare triple {8398#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8398#true} is VALID [2022-02-20 23:58:25,179 INFO L290 TraceCheckUtils]: 20: Hoare triple {8398#true} assume true; {8398#true} is VALID [2022-02-20 23:58:25,180 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8398#true} {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} #145#return; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,180 INFO L290 TraceCheckUtils]: 22: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,182 INFO L290 TraceCheckUtils]: 26: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,182 INFO L290 TraceCheckUtils]: 28: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,182 INFO L290 TraceCheckUtils]: 29: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,183 INFO L290 TraceCheckUtils]: 30: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:25,183 INFO L290 TraceCheckUtils]: 31: Hoare triple {8406#(= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {8497#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|))} is VALID [2022-02-20 23:58:25,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {8497#(and (= |ULTIMATE.start_main_~i~0#1| (_ bv0 32)) (= (_ bv2 32) |ULTIMATE.start_main_~len~0#1|))} assume !~bvslt32(main_~i~0#1, main_~len~0#1); {8399#false} is VALID [2022-02-20 23:58:25,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {8399#false} assume !((~bvule32(~bvadd32(4bv32, main_~#s~0#1.offset), #length[main_~#s~0#1.base]) && ~bvule32(main_~#s~0#1.offset, ~bvadd32(4bv32, main_~#s~0#1.offset))) && ~bvule32(0bv32, main_~#s~0#1.offset)); {8399#false} is VALID [2022-02-20 23:58:25,184 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:25,184 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:25,184 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:25,184 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1195040517] [2022-02-20 23:58:25,184 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1195040517] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:25,185 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:25,185 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:58:25,185 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1824624437] [2022-02-20 23:58:25,185 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:25,185 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-20 23:58:25,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:25,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:25,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:25,213 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:25,213 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:25,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:25,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:25,213 INFO L87 Difference]: Start difference. First operand 131 states and 145 transitions. Second operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:25,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:25,522 INFO L93 Difference]: Finished difference Result 174 states and 185 transitions. [2022-02-20 23:58:25,522 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:58:25,522 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 34 [2022-02-20 23:58:25,522 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:25,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:25,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 134 transitions. [2022-02-20 23:58:25,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:25,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 134 transitions. [2022-02-20 23:58:25,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 134 transitions. [2022-02-20 23:58:25,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:25,654 INFO L225 Difference]: With dead ends: 174 [2022-02-20 23:58:25,654 INFO L226 Difference]: Without dead ends: 174 [2022-02-20 23:58:25,654 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:25,654 INFO L933 BasicCegarLoop]: 84 mSDtfsCounter, 153 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 153 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:25,655 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [153 Valid, 163 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:25,655 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-02-20 23:58:25,656 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 130. [2022-02-20 23:58:25,656 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:25,657 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 130 states, 91 states have (on average 1.4615384615384615) internal successors, (133), 121 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:25,657 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 130 states, 91 states have (on average 1.4615384615384615) internal successors, (133), 121 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:25,657 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 130 states, 91 states have (on average 1.4615384615384615) internal successors, (133), 121 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:25,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:25,663 INFO L93 Difference]: Finished difference Result 174 states and 185 transitions. [2022-02-20 23:58:25,663 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 185 transitions. [2022-02-20 23:58:25,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:25,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:25,663 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 91 states have (on average 1.4615384615384615) internal successors, (133), 121 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 174 states. [2022-02-20 23:58:25,664 INFO L87 Difference]: Start difference. First operand has 130 states, 91 states have (on average 1.4615384615384615) internal successors, (133), 121 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 174 states. [2022-02-20 23:58:25,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:25,666 INFO L93 Difference]: Finished difference Result 174 states and 185 transitions. [2022-02-20 23:58:25,666 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 185 transitions. [2022-02-20 23:58:25,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:25,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:25,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:25,667 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:25,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 91 states have (on average 1.4615384615384615) internal successors, (133), 121 states have internal predecessors, (133), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:25,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 141 transitions. [2022-02-20 23:58:25,668 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 141 transitions. Word has length 34 [2022-02-20 23:58:25,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:25,669 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 141 transitions. [2022-02-20 23:58:25,669 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.75) internal successors, (23), 4 states have internal predecessors, (23), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:25,669 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 141 transitions. [2022-02-20 23:58:25,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 23:58:25,669 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:25,670 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:25,679 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (18)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:25,877 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:25,878 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr10REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:25,879 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:25,879 INFO L85 PathProgramCache]: Analyzing trace with hash 692227296, now seen corresponding path program 1 times [2022-02-20 23:58:25,879 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:25,879 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1917294928] [2022-02-20 23:58:25,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:25,879 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:25,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:25,881 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:25,883 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Waiting until timeout for monitored process [2022-02-20 23:58:26,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:26,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 23:58:26,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:26,038 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:26,072 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:26,189 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 0: Hoare triple {9155#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {9155#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L272 TraceCheckUtils]: 2: Hoare triple {9155#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 3: Hoare triple {9155#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 4: Hoare triple {9155#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {9155#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 6: Hoare triple {9155#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {9155#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {9155#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 9: Hoare triple {9155#true} assume true; {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9155#true} {9155#true} #143#return; {9155#true} is VALID [2022-02-20 23:58:26,201 INFO L290 TraceCheckUtils]: 11: Hoare triple {9155#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {9155#true} is VALID [2022-02-20 23:58:26,206 INFO L290 TraceCheckUtils]: 12: Hoare triple {9155#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {9155#true} is VALID [2022-02-20 23:58:26,206 INFO L272 TraceCheckUtils]: 13: Hoare triple {9155#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {9155#true} is VALID [2022-02-20 23:58:26,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {9155#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,208 INFO L290 TraceCheckUtils]: 17: Hoare triple {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,208 INFO L290 TraceCheckUtils]: 18: Hoare triple {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,208 INFO L290 TraceCheckUtils]: 19: Hoare triple {9202#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {9218#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,208 INFO L290 TraceCheckUtils]: 20: Hoare triple {9218#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {9218#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,209 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9218#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {9155#true} #145#return; {9225#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {9225#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,210 INFO L290 TraceCheckUtils]: 23: Hoare triple {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,210 INFO L290 TraceCheckUtils]: 25: Hoare triple {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,210 INFO L290 TraceCheckUtils]: 26: Hoare triple {9229#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,211 INFO L290 TraceCheckUtils]: 28: Hoare triple {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,212 INFO L290 TraceCheckUtils]: 30: Hoare triple {9242#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {9255#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:26,212 INFO L290 TraceCheckUtils]: 31: Hoare triple {9255#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#res#1.base|) (_ bv1 1))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {9259#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv1 1))} is VALID [2022-02-20 23:58:26,212 INFO L290 TraceCheckUtils]: 32: Hoare triple {9259#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv1 1))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {9263#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|)) (_ bv1 1))} is VALID [2022-02-20 23:58:26,213 INFO L290 TraceCheckUtils]: 33: Hoare triple {9263#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|)) (_ bv1 1))} SUMMARY for call dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L602 {9267#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_remove_last_#t~mem7#1.base|))} is VALID [2022-02-20 23:58:26,213 INFO L290 TraceCheckUtils]: 34: Hoare triple {9267#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_remove_last_#t~mem7#1.base|))} assume !(1bv1 == #valid[dll_circular_remove_last_#t~mem7#1.base]); {9156#false} is VALID [2022-02-20 23:58:26,213 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:26,213 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:26,213 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:26,213 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1917294928] [2022-02-20 23:58:26,214 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1917294928] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:26,214 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:26,214 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 23:58:26,214 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [952948640] [2022-02-20 23:58:26,214 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:26,214 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 35 [2022-02-20 23:58:26,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:26,214 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:26,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:26,253 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:58:26,253 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:26,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:58:26,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:58:26,254 INFO L87 Difference]: Start difference. First operand 130 states and 141 transitions. Second operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:28,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:28,550 INFO L93 Difference]: Finished difference Result 157 states and 168 transitions. [2022-02-20 23:58:28,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:58:28,550 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 35 [2022-02-20 23:58:28,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:28,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:28,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 119 transitions. [2022-02-20 23:58:28,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:28,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 119 transitions. [2022-02-20 23:58:28,552 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 119 transitions. [2022-02-20 23:58:28,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:28,665 INFO L225 Difference]: With dead ends: 157 [2022-02-20 23:58:28,666 INFO L226 Difference]: Without dead ends: 157 [2022-02-20 23:58:28,666 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:58:28,666 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 151 mSDsluCounter, 337 mSDsCounter, 0 mSdLazyCounter, 457 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 151 SdHoareTripleChecker+Valid, 397 SdHoareTripleChecker+Invalid, 460 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 457 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:28,666 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [151 Valid, 397 Invalid, 460 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 457 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 23:58:28,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2022-02-20 23:58:28,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 131. [2022-02-20 23:58:28,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:28,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand has 131 states, 92 states have (on average 1.4673913043478262) internal successors, (135), 122 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:28,668 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand has 131 states, 92 states have (on average 1.4673913043478262) internal successors, (135), 122 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:28,669 INFO L87 Difference]: Start difference. First operand 157 states. Second operand has 131 states, 92 states have (on average 1.4673913043478262) internal successors, (135), 122 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:28,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:28,670 INFO L93 Difference]: Finished difference Result 157 states and 168 transitions. [2022-02-20 23:58:28,670 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 168 transitions. [2022-02-20 23:58:28,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:28,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:28,671 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 92 states have (on average 1.4673913043478262) internal successors, (135), 122 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 157 states. [2022-02-20 23:58:28,675 INFO L87 Difference]: Start difference. First operand has 131 states, 92 states have (on average 1.4673913043478262) internal successors, (135), 122 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 157 states. [2022-02-20 23:58:28,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:28,677 INFO L93 Difference]: Finished difference Result 157 states and 168 transitions. [2022-02-20 23:58:28,677 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 168 transitions. [2022-02-20 23:58:28,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:28,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:28,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:28,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:28,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 92 states have (on average 1.4673913043478262) internal successors, (135), 122 states have internal predecessors, (135), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:28,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 143 transitions. [2022-02-20 23:58:28,680 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 143 transitions. Word has length 35 [2022-02-20 23:58:28,680 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:28,680 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 143 transitions. [2022-02-20 23:58:28,680 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:28,680 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 143 transitions. [2022-02-20 23:58:28,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 23:58:28,681 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:28,681 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:28,705 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (19)] Ended with exit code 0 [2022-02-20 23:58:28,888 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:28,889 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:28,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:28,889 INFO L85 PathProgramCache]: Analyzing trace with hash 692227297, now seen corresponding path program 1 times [2022-02-20 23:58:28,889 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:28,889 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1556721594] [2022-02-20 23:58:28,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:28,890 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:28,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:28,891 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:28,934 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Waiting until timeout for monitored process [2022-02-20 23:58:29,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:29,030 INFO L263 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 23:58:29,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:29,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:29,084 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:58:29,294 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:58:29,296 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 9 [2022-02-20 23:58:29,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {9885#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {9885#true} is VALID [2022-02-20 23:58:29,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {9885#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {9885#true} is VALID [2022-02-20 23:58:29,314 INFO L272 TraceCheckUtils]: 2: Hoare triple {9885#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {9885#true} is VALID [2022-02-20 23:58:29,314 INFO L290 TraceCheckUtils]: 3: Hoare triple {9885#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {9885#true} is VALID [2022-02-20 23:58:29,314 INFO L290 TraceCheckUtils]: 4: Hoare triple {9885#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {9885#true} is VALID [2022-02-20 23:58:29,314 INFO L290 TraceCheckUtils]: 5: Hoare triple {9885#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {9885#true} is VALID [2022-02-20 23:58:29,314 INFO L290 TraceCheckUtils]: 6: Hoare triple {9885#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {9885#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {9885#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {9885#true} assume true; {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9885#true} {9885#true} #143#return; {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L290 TraceCheckUtils]: 11: Hoare triple {9885#true} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L290 TraceCheckUtils]: 12: Hoare triple {9885#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {9885#true} is VALID [2022-02-20 23:58:29,315 INFO L272 TraceCheckUtils]: 13: Hoare triple {9885#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {9885#true} is VALID [2022-02-20 23:58:29,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {9885#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,317 INFO L290 TraceCheckUtils]: 16: Hoare triple {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,318 INFO L290 TraceCheckUtils]: 17: Hoare triple {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,318 INFO L290 TraceCheckUtils]: 18: Hoare triple {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,319 INFO L290 TraceCheckUtils]: 19: Hoare triple {9932#(and (= |node_create_~temp~0#1.offset| (_ bv0 32)) (= (select |#length| |node_create_~temp~0#1.base|) (_ bv12 32)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {9948#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:29,319 INFO L290 TraceCheckUtils]: 20: Hoare triple {9948#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} assume true; {9948#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:29,320 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9948#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} {9885#true} #145#return; {9955#(and (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,320 INFO L290 TraceCheckUtils]: 22: Hoare triple {9955#(and (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv12 32)))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,321 INFO L290 TraceCheckUtils]: 24: Hoare triple {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {9959#(and (= (_ bv0 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.offset|) (= (select |#length| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv12 32)))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,322 INFO L290 TraceCheckUtils]: 27: Hoare triple {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,323 INFO L290 TraceCheckUtils]: 28: Hoare triple {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,323 INFO L290 TraceCheckUtils]: 29: Hoare triple {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,324 INFO L290 TraceCheckUtils]: 30: Hoare triple {9972#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| (_ bv0 32)) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv12 32)))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {9985#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#res#1.base|) (_ bv12 32)) (= |ULTIMATE.start_dll_circular_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:29,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {9985#(and (= (select |#length| |ULTIMATE.start_dll_circular_create_#res#1.base|) (_ bv12 32)) (= |ULTIMATE.start_dll_circular_create_#res#1.offset| (_ bv0 32)))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {9989#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv12 32)))} is VALID [2022-02-20 23:58:29,325 INFO L290 TraceCheckUtils]: 32: Hoare triple {9989#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|) (_ bv0 32)) (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~#s~0#1.base|) |ULTIMATE.start_main_~#s~0#1.offset|)) (_ bv12 32)))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {9993#(and (= (_ bv12 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (_ bv0 32)))} is VALID [2022-02-20 23:58:29,325 INFO L290 TraceCheckUtils]: 33: Hoare triple {9993#(and (= (_ bv12 32) (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (_ bv0 32)))} SUMMARY for call dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L602 {9997#(and (= (select |#length| |ULTIMATE.start_dll_circular_remove_last_#t~mem7#1.base|) (_ bv12 32)) (= |ULTIMATE.start_dll_circular_remove_last_#t~mem7#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:29,326 INFO L290 TraceCheckUtils]: 34: Hoare triple {9997#(and (= (select |#length| |ULTIMATE.start_dll_circular_remove_last_#t~mem7#1.base|) (_ bv12 32)) (= |ULTIMATE.start_dll_circular_remove_last_#t~mem7#1.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_remove_last_#t~mem7#1.offset)), #length[dll_circular_remove_last_#t~mem7#1.base]) && ~bvule32(~bvadd32(4bv32, dll_circular_remove_last_#t~mem7#1.offset), ~bvadd32(4bv32, ~bvadd32(4bv32, dll_circular_remove_last_#t~mem7#1.offset)))) && ~bvule32(0bv32, ~bvadd32(4bv32, dll_circular_remove_last_#t~mem7#1.offset))); {9886#false} is VALID [2022-02-20 23:58:29,326 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:29,326 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:29,326 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:29,326 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1556721594] [2022-02-20 23:58:29,326 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1556721594] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:29,326 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:29,326 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 23:58:29,326 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1252021658] [2022-02-20 23:58:29,326 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:29,327 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 35 [2022-02-20 23:58:29,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:29,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:29,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:29,362 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:58:29,362 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:29,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:58:29,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:58:29,363 INFO L87 Difference]: Start difference. First operand 131 states and 143 transitions. Second operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:32,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:32,348 INFO L93 Difference]: Finished difference Result 163 states and 174 transitions. [2022-02-20 23:58:32,348 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:58:32,348 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 35 [2022-02-20 23:58:32,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:32,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:32,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 126 transitions. [2022-02-20 23:58:32,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:32,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 126 transitions. [2022-02-20 23:58:32,350 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 126 transitions. [2022-02-20 23:58:32,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:32,539 INFO L225 Difference]: With dead ends: 163 [2022-02-20 23:58:32,539 INFO L226 Difference]: Without dead ends: 163 [2022-02-20 23:58:32,539 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:58:32,541 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 355 mSDsluCounter, 267 mSDsCounter, 0 mSdLazyCounter, 372 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 355 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 378 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 372 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:32,541 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [355 Valid, 316 Invalid, 378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 372 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-02-20 23:58:32,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-02-20 23:58:32,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 131. [2022-02-20 23:58:32,544 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:32,545 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 131 states, 92 states have (on average 1.4565217391304348) internal successors, (134), 122 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:32,545 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 131 states, 92 states have (on average 1.4565217391304348) internal successors, (134), 122 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:32,546 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 131 states, 92 states have (on average 1.4565217391304348) internal successors, (134), 122 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:32,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:32,550 INFO L93 Difference]: Finished difference Result 163 states and 174 transitions. [2022-02-20 23:58:32,550 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 174 transitions. [2022-02-20 23:58:32,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:32,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:32,551 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 92 states have (on average 1.4565217391304348) internal successors, (134), 122 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 163 states. [2022-02-20 23:58:32,551 INFO L87 Difference]: Start difference. First operand has 131 states, 92 states have (on average 1.4565217391304348) internal successors, (134), 122 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 163 states. [2022-02-20 23:58:32,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:32,554 INFO L93 Difference]: Finished difference Result 163 states and 174 transitions. [2022-02-20 23:58:32,554 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 174 transitions. [2022-02-20 23:58:32,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:32,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:32,555 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:32,555 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:32,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 92 states have (on average 1.4565217391304348) internal successors, (134), 122 states have internal predecessors, (134), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:32,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 142 transitions. [2022-02-20 23:58:32,558 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 142 transitions. Word has length 35 [2022-02-20 23:58:32,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:32,558 INFO L470 AbstractCegarLoop]: Abstraction has 131 states and 142 transitions. [2022-02-20 23:58:32,558 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 1 states have call successors, (2), 1 states have call predecessors, (2), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:32,558 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 142 transitions. [2022-02-20 23:58:32,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:58:32,559 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:32,559 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:32,581 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (20)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:32,767 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:32,767 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr13REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:32,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:32,768 INFO L85 PathProgramCache]: Analyzing trace with hash -489498622, now seen corresponding path program 1 times [2022-02-20 23:58:32,768 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:32,768 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1490449966] [2022-02-20 23:58:32,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:32,768 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:32,769 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:32,770 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:32,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Waiting until timeout for monitored process [2022-02-20 23:58:32,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:32,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 247 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:58:32,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:32,971 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:33,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {10633#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);currentRoundingMode := ~roundNearestTiesToEven;call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(27bv32, 2bv32); {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {10633#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~post15#1, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2bv32;main_~data~0#1 := 1bv32;call main_~#s~0#1.base, main_~#s~0#1.offset := #Ultimate.allocOnStack(4bv32);assume { :begin_inline_dll_circular_create } true;dll_circular_create_#in~len#1, dll_circular_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset, dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset, dll_circular_create_#t~post6#1, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~len#1, dll_circular_create_~data#1, dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset;dll_circular_create_~len#1 := dll_circular_create_#in~len#1;dll_circular_create_~data#1 := dll_circular_create_#in~data#1; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,047 INFO L272 TraceCheckUtils]: 2: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {10633#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {10633#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 5: Hoare triple {10633#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 6: Hoare triple {10633#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {10633#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {10633#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {10633#true} is VALID [2022-02-20 23:58:33,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {10633#true} assume true; {10633#true} is VALID [2022-02-20 23:58:33,048 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10633#true} {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} #143#return; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;havoc dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset;dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,048 INFO L272 TraceCheckUtils]: 13: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {10633#true} ~data#1 := #in~data#1;call #t~malloc3#1.base, #t~malloc3#1.offset := #Ultimate.allocOnHeap(12bv32);~temp~0#1.base, ~temp~0#1.offset := #t~malloc3#1.base, #t~malloc3#1.offset;havoc #t~malloc3#1.base, #t~malloc3#1.offset; {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {10633#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {10633#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 17: Hoare triple {10633#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {10633#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {10633#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {10633#true} is VALID [2022-02-20 23:58:33,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {10633#true} assume true; {10633#true} is VALID [2022-02-20 23:58:33,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10633#true} {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} #145#return; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,050 INFO L290 TraceCheckUtils]: 22: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset := dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset;havoc dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, 4bv32); srcloc: L590 {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L592 {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,051 INFO L290 TraceCheckUtils]: 26: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset := dll_circular_create_~new_head~0#1.base, dll_circular_create_~new_head~0#1.offset;dll_circular_create_#t~post6#1 := dll_circular_create_~len#1;dll_circular_create_~len#1 := ~bvsub32(dll_circular_create_#t~post6#1, 1bv32);havoc dll_circular_create_#t~post6#1; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,051 INFO L290 TraceCheckUtils]: 28: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset, dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, 4bv32); srcloc: L588-3 {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,052 INFO L290 TraceCheckUtils]: 29: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} SUMMARY for call write~$Pointer$(dll_circular_create_~last~0#1.base, dll_circular_create_~last~0#1.offset, dll_circular_create_~head~0#1.base, ~bvadd32(4bv32, dll_circular_create_~head~0#1.offset), 4bv32); srcloc: L597 {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,052 INFO L290 TraceCheckUtils]: 30: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset := dll_circular_create_~head~0#1.base, dll_circular_create_~head~0#1.offset; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,052 INFO L290 TraceCheckUtils]: 31: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_circular_create_#res#1.base, dll_circular_create_#res#1.offset;assume { :end_inline_dll_circular_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0bv32; {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:58:33,052 INFO L290 TraceCheckUtils]: 32: Hoare triple {10641#(= |ULTIMATE.start_main_~#s~0#1.offset| (_ bv0 32))} assume !!~bvslt32(main_~i~0#1, main_~len~0#1);assume { :begin_inline_dll_circular_remove_last } true;dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset := main_~#s~0#1.base, main_~#s~0#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset, dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset, dll_circular_remove_last_#t~mem9#1.base, dll_circular_remove_last_#t~mem9#1.offset, dll_circular_remove_last_#t~mem10#1.base, dll_circular_remove_last_#t~mem10#1.offset, dll_circular_remove_last_#t~mem11#1.base, dll_circular_remove_last_#t~mem11#1.offset, dll_circular_remove_last_#t~mem12#1.base, dll_circular_remove_last_#t~mem12#1.offset, dll_circular_remove_last_#t~mem13#1.base, dll_circular_remove_last_#t~mem13#1.offset, dll_circular_remove_last_~snd_to_last~0#1.base, dll_circular_remove_last_~snd_to_last~0#1.offset, dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset;dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset := dll_circular_remove_last_#in~head#1.base, dll_circular_remove_last_#in~head#1.offset; {10735#(= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|)} is VALID [2022-02-20 23:58:33,054 INFO L290 TraceCheckUtils]: 33: Hoare triple {10735#(= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|)} SUMMARY for call dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset := read~$Pointer$(dll_circular_remove_last_~head#1.base, dll_circular_remove_last_~head#1.offset, 4bv32); srcloc: L602 {10739#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} is VALID [2022-02-20 23:58:33,054 INFO L290 TraceCheckUtils]: 34: Hoare triple {10739#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} SUMMARY for call dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset := read~$Pointer$(dll_circular_remove_last_#t~mem7#1.base, ~bvadd32(4bv32, dll_circular_remove_last_#t~mem7#1.offset), 4bv32); srcloc: L602-1 {10739#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} is VALID [2022-02-20 23:58:33,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {10739#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} dll_circular_remove_last_~last~1#1.base, dll_circular_remove_last_~last~1#1.offset := dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset;havoc dll_circular_remove_last_#t~mem7#1.base, dll_circular_remove_last_#t~mem7#1.offset;havoc dll_circular_remove_last_#t~mem8#1.base, dll_circular_remove_last_#t~mem8#1.offset; {10739#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} is VALID [2022-02-20 23:58:33,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {10739#(and (bvule (bvadd (_ bv4 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|) (select |#length| |ULTIMATE.start_dll_circular_remove_last_~head#1.base|)) (= (_ bv0 32) |ULTIMATE.start_dll_circular_remove_last_~head#1.offset|))} assume !((~bvule32(~bvadd32(4bv32, dll_circular_remove_last_~head#1.offset), #length[dll_circular_remove_last_~head#1.base]) && ~bvule32(dll_circular_remove_last_~head#1.offset, ~bvadd32(4bv32, dll_circular_remove_last_~head#1.offset))) && ~bvule32(0bv32, dll_circular_remove_last_~head#1.offset)); {10634#false} is VALID [2022-02-20 23:58:33,055 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:33,055 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:33,056 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:33,056 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1490449966] [2022-02-20 23:58:33,056 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1490449966] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:33,056 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:33,056 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:58:33,056 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [184230671] [2022-02-20 23:58:33,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:33,057 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 37 [2022-02-20 23:58:33,057 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:33,057 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:33,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:33,083 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:58:33,084 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:33,084 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:58:33,084 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:58:33,084 INFO L87 Difference]: Start difference. First operand 131 states and 142 transitions. Second operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:33,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:33,369 INFO L93 Difference]: Finished difference Result 126 states and 137 transitions. [2022-02-20 23:58:33,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:58:33,369 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 37 [2022-02-20 23:58:33,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:33,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:33,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-02-20 23:58:33,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:33,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 87 transitions. [2022-02-20 23:58:33,371 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 87 transitions. [2022-02-20 23:58:33,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:33,463 INFO L225 Difference]: With dead ends: 126 [2022-02-20 23:58:33,463 INFO L226 Difference]: Without dead ends: 126 [2022-02-20 23:58:33,463 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:33,464 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 149 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 149 SdHoareTripleChecker+Valid, 100 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:33,464 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [149 Valid, 100 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:33,464 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2022-02-20 23:58:33,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 126. [2022-02-20 23:58:33,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:33,466 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand has 126 states, 92 states have (on average 1.4021739130434783) internal successors, (129), 117 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:33,466 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand has 126 states, 92 states have (on average 1.4021739130434783) internal successors, (129), 117 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:33,466 INFO L87 Difference]: Start difference. First operand 126 states. Second operand has 126 states, 92 states have (on average 1.4021739130434783) internal successors, (129), 117 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:33,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:33,467 INFO L93 Difference]: Finished difference Result 126 states and 137 transitions. [2022-02-20 23:58:33,467 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 137 transitions. [2022-02-20 23:58:33,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:33,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:33,468 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 92 states have (on average 1.4021739130434783) internal successors, (129), 117 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 126 states. [2022-02-20 23:58:33,468 INFO L87 Difference]: Start difference. First operand has 126 states, 92 states have (on average 1.4021739130434783) internal successors, (129), 117 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 126 states. [2022-02-20 23:58:33,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:33,469 INFO L93 Difference]: Finished difference Result 126 states and 137 transitions. [2022-02-20 23:58:33,470 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 137 transitions. [2022-02-20 23:58:33,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:33,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:33,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:33,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:33,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 92 states have (on average 1.4021739130434783) internal successors, (129), 117 states have internal predecessors, (129), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:33,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 137 transitions. [2022-02-20 23:58:33,472 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 137 transitions. Word has length 37 [2022-02-20 23:58:33,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:33,472 INFO L470 AbstractCegarLoop]: Abstraction has 126 states and 137 transitions. [2022-02-20 23:58:33,472 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:58:33,472 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 137 transitions. [2022-02-20 23:58:33,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 23:58:33,472 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:33,473 INFO L514 BasicCegarLoop]: trace histogram [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] [2022-02-20 23:58:33,482 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (21)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:33,673 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:58:33,673 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr21REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 40 more)] === [2022-02-20 23:58:33,673 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:33,673 INFO L85 PathProgramCache]: Analyzing trace with hash 2038227298, now seen corresponding path program 1 times [2022-02-20 23:58:33,674 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:33,674 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [790335179] [2022-02-20 23:58:33,674 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:33,674 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:33,674 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:33,675 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:58:33,677 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (22)] Waiting until timeout for monitored process [2022-02-20 23:58:33,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:33,826 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:58:33,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:33,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:34,021 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 23:58:34,136 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7