./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-simple/dll2c_append_unequal.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_append_unequal.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 9aabbeff87ba819b44dc608a3105d0ba81b71cd88693ecf2e6bf3860a7863e64 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:57:15,976 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:57:15,978 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:57:16,007 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:57:16,008 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:57:16,010 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:57:16,012 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:57:16,016 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:57:16,018 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:57:16,021 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:57:16,022 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:57:16,023 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:57:16,024 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:57:16,025 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:57:16,027 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:57:16,030 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:57:16,030 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:57:16,031 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:57:16,033 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:57:16,038 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:57:16,039 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:57:16,040 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:57:16,041 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:57:16,041 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:57:16,046 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:57:16,047 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:57:16,047 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:57:16,048 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:57:16,049 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:57:16,049 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:57:16,050 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:57:16,051 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:57:16,052 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:57:16,053 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:57:16,055 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:57:16,055 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:57:16,056 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:57:16,056 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:57:16,056 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:57:16,056 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:57:16,057 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:57:16,059 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:16,076 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:57:16,077 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:57:16,077 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:57:16,077 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:57:16,078 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:57:16,078 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:57:16,078 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:57:16,078 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:57:16,078 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:57:16,079 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:57:16,079 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:57:16,079 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:57:16,079 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:57:16,079 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:57:16,079 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:57:16,080 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:57:16,080 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:57:16,080 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:57:16,080 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:57:16,080 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:57:16,080 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:57:16,081 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:57:16,081 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:57:16,081 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:57:16,081 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:57:16,081 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:16,081 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:57:16,082 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:57:16,082 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:57:16,082 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:57:16,082 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 -> 9aabbeff87ba819b44dc608a3105d0ba81b71cd88693ecf2e6bf3860a7863e64 [2022-02-20 23:57:16,313 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:57:16,334 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:57:16,336 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:57:16,338 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:57:16,338 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:57:16,339 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/dll2c_append_unequal.i [2022-02-20 23:57:16,382 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2ed452241/5cadfe123fec42b88992d5f56749c284/FLAG38aa723c9 [2022-02-20 23:57:16,793 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:57:16,793 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/dll2c_append_unequal.i [2022-02-20 23:57:16,823 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2ed452241/5cadfe123fec42b88992d5f56749c284/FLAG38aa723c9 [2022-02-20 23:57:17,173 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2ed452241/5cadfe123fec42b88992d5f56749c284 [2022-02-20 23:57:17,176 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:57:17,177 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:57:17,179 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:17,179 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:57:17,187 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:57:17,188 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:17" (1/1) ... [2022-02-20 23:57:17,190 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6bc7fd6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:17, skipping insertion in model container [2022-02-20 23:57:17,190 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:17" (1/1) ... [2022-02-20 23:57:17,196 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:57:17,230 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:57:17,499 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_append_unequal.i[24672,24685] [2022-02-20 23:57:17,503 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:17,518 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:57:17,568 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_append_unequal.i[24672,24685] [2022-02-20 23:57:17,576 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:17,600 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:57:17,600 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:17 WrapperNode [2022-02-20 23:57:17,602 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:17,603 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:17,603 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:57:17,604 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:57:17,609 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:17" (1/1) ... [2022-02-20 23:57:17,636 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:17" (1/1) ... [2022-02-20 23:57:17,676 INFO L137 Inliner]: procedures = 127, calls = 49, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 152 [2022-02-20 23:57:17,676 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:17,677 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:57:17,677 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:57:17,677 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:57:17,683 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:17" (1/1) ... [2022-02-20 23:57:17,684 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:17" (1/1) ... [2022-02-20 23:57:17,692 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:17" (1/1) ... [2022-02-20 23:57:17,692 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:17" (1/1) ... [2022-02-20 23:57:17,707 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:17" (1/1) ... [2022-02-20 23:57:17,712 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:17" (1/1) ... [2022-02-20 23:57:17,714 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:17" (1/1) ... [2022-02-20 23:57:17,716 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:57:17,717 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:57:17,717 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:57:17,717 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:57:17,718 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:17" (1/1) ... [2022-02-20 23:57:17,729 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:17,736 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:17,747 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:17,749 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:17,786 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:57:17,786 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 23:57:17,787 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:57:17,787 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:57:17,788 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:57:17,788 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:57:17,874 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:57:17,878 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:57:18,394 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:57:18,400 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:57:18,401 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:57:18,403 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:18 BoogieIcfgContainer [2022-02-20 23:57:18,403 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:57:18,406 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:57:18,406 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:57:18,409 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:57:18,409 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:57:17" (1/3) ... [2022-02-20 23:57:18,410 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29097700 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:18, skipping insertion in model container [2022-02-20 23:57:18,410 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:17" (2/3) ... [2022-02-20 23:57:18,410 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29097700 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:18, skipping insertion in model container [2022-02-20 23:57:18,410 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:18" (3/3) ... [2022-02-20 23:57:18,412 INFO L111 eAbstractionObserver]: Analyzing ICFG dll2c_append_unequal.i [2022-02-20 23:57:18,415 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:57:18,416 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 64 error locations. [2022-02-20 23:57:18,451 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:57:18,455 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:18,456 INFO L340 AbstractCegarLoop]: Starting to check reachability of 64 error locations. [2022-02-20 23:57:18,474 INFO L276 IsEmpty]: Start isEmpty. Operand has 138 states, 69 states have (on average 2.1159420289855073) internal successors, (146), 133 states have internal predecessors, (146), 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:18,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:18,479 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:18,480 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:18,480 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting node_createErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:18,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:18,484 INFO L85 PathProgramCache]: Analyzing trace with hash 895672562, now seen corresponding path program 1 times [2022-02-20 23:57:18,491 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:18,491 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [852085526] [2022-02-20 23:57:18,491 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:18,492 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:18,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:18,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {141#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(23, 2); {141#true} is VALID [2022-02-20 23:57:18,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {141#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {141#true} is VALID [2022-02-20 23:57:18,636 INFO L272 TraceCheckUtils]: 2: Hoare triple {141#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {141#true} is VALID [2022-02-20 23:57:18,637 INFO L290 TraceCheckUtils]: 3: Hoare triple {141#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; {143#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:18,638 INFO L290 TraceCheckUtils]: 4: Hoare triple {143#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {143#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:18,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {143#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(1 == #valid[~temp~0#1.base]); {142#false} is VALID [2022-02-20 23:57:18,639 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:18,640 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:18,640 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [852085526] [2022-02-20 23:57:18,640 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [852085526] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:18,641 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:18,641 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:18,642 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [429579083] [2022-02-20 23:57:18,643 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:18,647 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:18,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:18,650 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:18,656 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:18,656 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:18,657 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:18,677 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:18,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:18,684 INFO L87 Difference]: Start difference. First operand has 138 states, 69 states have (on average 2.1159420289855073) internal successors, (146), 133 states have internal predecessors, (146), 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 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:18,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:18,960 INFO L93 Difference]: Finished difference Result 135 states and 145 transitions. [2022-02-20 23:57:18,960 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:18,960 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:18,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:18,961 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:18,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 152 transitions. [2022-02-20 23:57:18,970 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:18,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 152 transitions. [2022-02-20 23:57:18,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 152 transitions. [2022-02-20 23:57:19,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:19,103 INFO L225 Difference]: With dead ends: 135 [2022-02-20 23:57:19,103 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:57:19,104 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:19,107 INFO L933 BasicCegarLoop]: 136 mSDtfsCounter, 10 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:19,108 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 207 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:19,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:57:19,134 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-02-20 23:57:19,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:19,135 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:19,136 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:19,137 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:19,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:19,144 INFO L93 Difference]: Finished difference Result 132 states and 141 transitions. [2022-02-20 23:57:19,144 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 141 transitions. [2022-02-20 23:57:19,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:19,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:19,146 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:19,146 INFO L87 Difference]: Start difference. First operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:19,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:19,153 INFO L93 Difference]: Finished difference Result 132 states and 141 transitions. [2022-02-20 23:57:19,153 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 141 transitions. [2022-02-20 23:57:19,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:19,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:19,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:19,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:19,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:19,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 141 transitions. [2022-02-20 23:57:19,169 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 141 transitions. Word has length 6 [2022-02-20 23:57:19,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:19,170 INFO L470 AbstractCegarLoop]: Abstraction has 132 states and 141 transitions. [2022-02-20 23:57:19,170 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:19,170 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 141 transitions. [2022-02-20 23:57:19,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:19,171 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:19,171 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:19,172 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:57:19,177 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting node_createErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:19,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:19,180 INFO L85 PathProgramCache]: Analyzing trace with hash 895672563, now seen corresponding path program 1 times [2022-02-20 23:57:19,180 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:19,181 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309506286] [2022-02-20 23:57:19,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:19,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:19,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:19,251 INFO L290 TraceCheckUtils]: 0: Hoare triple {677#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(23, 2); {677#true} is VALID [2022-02-20 23:57:19,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {677#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {677#true} is VALID [2022-02-20 23:57:19,252 INFO L272 TraceCheckUtils]: 2: Hoare triple {677#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {677#true} is VALID [2022-02-20 23:57:19,253 INFO L290 TraceCheckUtils]: 3: Hoare triple {677#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; {679#(and (= |node_create_~temp~0#1.offset| 0) (<= 12 (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:19,254 INFO L290 TraceCheckUtils]: 4: Hoare triple {679#(and (= |node_create_~temp~0#1.offset| 0) (<= 12 (select |#length| |node_create_~temp~0#1.base|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {679#(and (= |node_create_~temp~0#1.offset| 0) (<= 12 (select |#length| |node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:57:19,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {679#(and (= |node_create_~temp~0#1.offset| 0) (<= 12 (select |#length| |node_create_~temp~0#1.base|)))} assume !(4 + ~temp~0#1.offset <= #length[~temp~0#1.base] && 0 <= ~temp~0#1.offset); {678#false} is VALID [2022-02-20 23:57:19,254 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:19,255 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:19,255 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309506286] [2022-02-20 23:57:19,255 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1309506286] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:19,255 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:19,255 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:19,256 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1497127820] [2022-02-20 23:57:19,256 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:19,257 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:19,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:19,257 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:19,262 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:19,263 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:19,263 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:19,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:19,264 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:19,264 INFO L87 Difference]: Start difference. First operand 132 states and 141 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:19,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:19,480 INFO L93 Difference]: Finished difference Result 129 states and 138 transitions. [2022-02-20 23:57:19,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:19,481 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:19,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:19,481 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:19,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:57:19,486 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:19,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:57:19,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 141 transitions. [2022-02-20 23:57:19,592 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:19,594 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:57:19,594 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:57:19,595 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:19,596 INFO L933 BasicCegarLoop]: 133 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:19,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 209 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:19,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:57:19,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-02-20 23:57:19,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:19,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:19,601 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:19,602 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:19,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:19,605 INFO L93 Difference]: Finished difference Result 129 states and 138 transitions. [2022-02-20 23:57:19,605 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:19,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:19,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:19,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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 129 states. [2022-02-20 23:57:19,607 INFO L87 Difference]: Start difference. First operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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 129 states. [2022-02-20 23:57:19,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:19,614 INFO L93 Difference]: Finished difference Result 129 states and 138 transitions. [2022-02-20 23:57:19,615 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:19,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:19,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:19,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:19,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:19,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:19,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 138 transitions. [2022-02-20 23:57:19,624 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 138 transitions. Word has length 6 [2022-02-20 23:57:19,624 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:19,625 INFO L470 AbstractCegarLoop]: Abstraction has 129 states and 138 transitions. [2022-02-20 23:57:19,625 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:19,626 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:19,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:57:19,626 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:19,627 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:19,628 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:57:19,628 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:19,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:19,629 INFO L85 PathProgramCache]: Analyzing trace with hash -753542016, now seen corresponding path program 1 times [2022-02-20 23:57:19,629 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:19,629 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1540051306] [2022-02-20 23:57:19,629 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:19,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:19,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:19,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:19,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:19,720 INFO L290 TraceCheckUtils]: 0: Hoare triple {1209#(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; {1198#true} is VALID [2022-02-20 23:57:19,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {1198#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1198#true} is VALID [2022-02-20 23:57:19,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {1198#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1198#true} is VALID [2022-02-20 23:57:19,721 INFO L290 TraceCheckUtils]: 3: Hoare triple {1198#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1198#true} is VALID [2022-02-20 23:57:19,721 INFO L290 TraceCheckUtils]: 4: Hoare triple {1198#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1198#true} is VALID [2022-02-20 23:57:19,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {1198#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1198#true} is VALID [2022-02-20 23:57:19,721 INFO L290 TraceCheckUtils]: 6: Hoare triple {1198#true} assume true; {1198#true} is VALID [2022-02-20 23:57:19,722 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1198#true} {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #207#return; {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:19,722 INFO L290 TraceCheckUtils]: 0: Hoare triple {1198#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(23, 2); {1198#true} is VALID [2022-02-20 23:57:19,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {1198#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:19,724 INFO L272 TraceCheckUtils]: 2: Hoare triple {1200#(= (+ (- 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); {1209#(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:19,724 INFO L290 TraceCheckUtils]: 3: Hoare triple {1209#(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; {1198#true} is VALID [2022-02-20 23:57:19,724 INFO L290 TraceCheckUtils]: 4: Hoare triple {1198#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1198#true} is VALID [2022-02-20 23:57:19,724 INFO L290 TraceCheckUtils]: 5: Hoare triple {1198#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1198#true} is VALID [2022-02-20 23:57:19,724 INFO L290 TraceCheckUtils]: 6: Hoare triple {1198#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1198#true} is VALID [2022-02-20 23:57:19,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {1198#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1198#true} is VALID [2022-02-20 23:57:19,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {1198#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1198#true} is VALID [2022-02-20 23:57:19,725 INFO L290 TraceCheckUtils]: 9: Hoare triple {1198#true} assume true; {1198#true} is VALID [2022-02-20 23:57:19,726 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1198#true} {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #207#return; {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:19,726 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#(= (+ (- 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; {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:19,726 INFO L290 TraceCheckUtils]: 12: Hoare triple {1200#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} assume !(dll_circular_create_~len#1 > 1); {1199#false} is VALID [2022-02-20 23:57:19,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {1199#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {1199#false} is VALID [2022-02-20 23:57:19,727 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:19,727 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:19,727 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1540051306] [2022-02-20 23:57:19,727 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1540051306] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:19,727 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:19,727 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:57:19,728 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [824357254] [2022-02-20 23:57:19,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:19,728 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:19,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:19,728 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:19,739 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:19,739 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:57:19,739 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:19,739 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:57:19,739 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:57:19,740 INFO L87 Difference]: Start difference. First operand 129 states and 138 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:20,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:20,042 INFO L93 Difference]: Finished difference Result 140 states and 151 transitions. [2022-02-20 23:57:20,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:57:20,042 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:20,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:20,043 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:20,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 152 transitions. [2022-02-20 23:57:20,046 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:20,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 152 transitions. [2022-02-20 23:57:20,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 152 transitions. [2022-02-20 23:57:20,186 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:20,189 INFO L225 Difference]: With dead ends: 140 [2022-02-20 23:57:20,189 INFO L226 Difference]: Without dead ends: 140 [2022-02-20 23:57:20,189 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:20,190 INFO L933 BasicCegarLoop]: 136 mSDtfsCounter, 10 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 313 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:20,191 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 313 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:20,191 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-02-20 23:57:20,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 130. [2022-02-20 23:57:20,195 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:20,196 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:20,196 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:20,197 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:20,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:20,200 INFO L93 Difference]: Finished difference Result 140 states and 151 transitions. [2022-02-20 23:57:20,201 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 151 transitions. [2022-02-20 23:57:20,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:20,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:20,202 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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 140 states. [2022-02-20 23:57:20,202 INFO L87 Difference]: Start difference. First operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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 140 states. [2022-02-20 23:57:20,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:20,206 INFO L93 Difference]: Finished difference Result 140 states and 151 transitions. [2022-02-20 23:57:20,206 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 151 transitions. [2022-02-20 23:57:20,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:20,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:20,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:20,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:20,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:20,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 139 transitions. [2022-02-20 23:57:20,211 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 139 transitions. Word has length 14 [2022-02-20 23:57:20,211 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:20,211 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 139 transitions. [2022-02-20 23:57:20,212 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:20,212 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 139 transitions. [2022-02-20 23:57:20,212 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:20,212 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:20,212 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:20,213 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:57:20,213 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:20,213 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:20,213 INFO L85 PathProgramCache]: Analyzing trace with hash 265974304, now seen corresponding path program 1 times [2022-02-20 23:57:20,214 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:20,214 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [647163389] [2022-02-20 23:57:20,214 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:20,214 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:20,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:20,292 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:20,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:20,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {1782#(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; {1762#true} is VALID [2022-02-20 23:57:20,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {1762#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1762#true} is VALID [2022-02-20 23:57:20,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {1762#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1762#true} is VALID [2022-02-20 23:57:20,327 INFO L290 TraceCheckUtils]: 3: Hoare triple {1762#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1762#true} is VALID [2022-02-20 23:57:20,327 INFO L290 TraceCheckUtils]: 4: Hoare triple {1762#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1762#true} is VALID [2022-02-20 23:57:20,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {1762#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1762#true} is VALID [2022-02-20 23:57:20,327 INFO L290 TraceCheckUtils]: 6: Hoare triple {1762#true} assume true; {1762#true} is VALID [2022-02-20 23:57:20,328 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1762#true} {1762#true} #207#return; {1762#true} is VALID [2022-02-20 23:57:20,328 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:20,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:20,383 INFO L290 TraceCheckUtils]: 0: Hoare triple {1782#(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; {1762#true} is VALID [2022-02-20 23:57:20,384 INFO L290 TraceCheckUtils]: 1: Hoare triple {1762#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1762#true} is VALID [2022-02-20 23:57:20,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {1762#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:20,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {1783#(= 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 {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:20,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {1783#(= 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 {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:20,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:20,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:20,388 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} {1762#true} #209#return; {1780#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:20,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {1762#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(23, 2); {1762#true} is VALID [2022-02-20 23:57:20,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {1762#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {1762#true} is VALID [2022-02-20 23:57:20,391 INFO L272 TraceCheckUtils]: 2: Hoare triple {1762#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {1782#(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:20,392 INFO L290 TraceCheckUtils]: 3: Hoare triple {1782#(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; {1762#true} is VALID [2022-02-20 23:57:20,392 INFO L290 TraceCheckUtils]: 4: Hoare triple {1762#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1762#true} is VALID [2022-02-20 23:57:20,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {1762#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1762#true} is VALID [2022-02-20 23:57:20,392 INFO L290 TraceCheckUtils]: 6: Hoare triple {1762#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {1762#true} is VALID [2022-02-20 23:57:20,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {1762#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {1762#true} is VALID [2022-02-20 23:57:20,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {1762#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1762#true} is VALID [2022-02-20 23:57:20,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {1762#true} assume true; {1762#true} is VALID [2022-02-20 23:57:20,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1762#true} {1762#true} #207#return; {1762#true} is VALID [2022-02-20 23:57:20,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {1762#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; {1762#true} is VALID [2022-02-20 23:57:20,393 INFO L290 TraceCheckUtils]: 12: Hoare triple {1762#true} assume !!(dll_circular_create_~len#1 > 1); {1762#true} is VALID [2022-02-20 23:57:20,395 INFO L272 TraceCheckUtils]: 13: Hoare triple {1762#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {1782#(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:20,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {1782#(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; {1762#true} is VALID [2022-02-20 23:57:20,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {1762#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {1762#true} is VALID [2022-02-20 23:57:20,396 INFO L290 TraceCheckUtils]: 16: Hoare triple {1762#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:20,397 INFO L290 TraceCheckUtils]: 17: Hoare triple {1783#(= 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 {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:20,397 INFO L290 TraceCheckUtils]: 18: Hoare triple {1783#(= 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 {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:20,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {1783#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:20,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:20,399 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1784#(= (select |#valid| |node_create_#res#1.base|) 1)} {1762#true} #209#return; {1780#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:20,400 INFO L290 TraceCheckUtils]: 22: Hoare triple {1780#(= (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; {1781#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:20,400 INFO L290 TraceCheckUtils]: 23: Hoare triple {1781#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~new_head~0#1.base]); {1763#false} is VALID [2022-02-20 23:57:20,401 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:20,401 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:20,401 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [647163389] [2022-02-20 23:57:20,401 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [647163389] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:20,401 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:20,401 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:57:20,402 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1145658151] [2022-02-20 23:57:20,402 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:20,402 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:20,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:20,403 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:20,419 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:20,419 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:20,420 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:20,420 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:20,420 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:20,421 INFO L87 Difference]: Start difference. First operand 130 states and 139 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:21,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:21,081 INFO L93 Difference]: Finished difference Result 130 states and 140 transitions. [2022-02-20 23:57:21,082 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:21,082 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:21,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:21,082 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:21,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 141 transitions. [2022-02-20 23:57:21,084 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:21,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 141 transitions. [2022-02-20 23:57:21,086 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 141 transitions. [2022-02-20 23:57:21,190 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:21,192 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:57:21,192 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:57:21,192 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:21,193 INFO L933 BasicCegarLoop]: 124 mSDtfsCounter, 21 mSDsluCounter, 302 mSDsCounter, 0 mSdLazyCounter, 380 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 426 SdHoareTripleChecker+Invalid, 382 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 380 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:21,194 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 426 Invalid, 382 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 380 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:21,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:57:21,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 129. [2022-02-20 23:57:21,198 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:21,198 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:21,198 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:21,199 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:21,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:21,201 INFO L93 Difference]: Finished difference Result 130 states and 140 transitions. [2022-02-20 23:57:21,202 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 140 transitions. [2022-02-20 23:57:21,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:21,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:21,202 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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 130 states. [2022-02-20 23:57:21,202 INFO L87 Difference]: Start difference. First operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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 130 states. [2022-02-20 23:57:21,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:21,206 INFO L93 Difference]: Finished difference Result 130 states and 140 transitions. [2022-02-20 23:57:21,206 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 140 transitions. [2022-02-20 23:57:21,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:21,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:21,206 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:21,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:21,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:21,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 138 transitions. [2022-02-20 23:57:21,209 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 138 transitions. Word has length 24 [2022-02-20 23:57:21,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:21,210 INFO L470 AbstractCegarLoop]: Abstraction has 129 states and 138 transitions. [2022-02-20 23:57:21,210 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:21,210 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:21,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:21,211 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:21,211 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:21,211 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:57:21,211 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:21,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:21,212 INFO L85 PathProgramCache]: Analyzing trace with hash 265974305, now seen corresponding path program 1 times [2022-02-20 23:57:21,212 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:21,212 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [645517223] [2022-02-20 23:57:21,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:21,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:21,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:21,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:21,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:21,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {2328#(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; {2308#true} is VALID [2022-02-20 23:57:21,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {2308#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2308#true} is VALID [2022-02-20 23:57:21,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {2308#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2308#true} is VALID [2022-02-20 23:57:21,295 INFO L290 TraceCheckUtils]: 3: Hoare triple {2308#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2308#true} is VALID [2022-02-20 23:57:21,295 INFO L290 TraceCheckUtils]: 4: Hoare triple {2308#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2308#true} is VALID [2022-02-20 23:57:21,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {2308#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2308#true} is VALID [2022-02-20 23:57:21,296 INFO L290 TraceCheckUtils]: 6: Hoare triple {2308#true} assume true; {2308#true} is VALID [2022-02-20 23:57:21,296 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2308#true} {2308#true} #207#return; {2308#true} is VALID [2022-02-20 23:57:21,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:21,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:21,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {2328#(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; {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {2329#(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); {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {2329#(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 {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,336 INFO L290 TraceCheckUtils]: 3: Hoare triple {2329#(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 {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,336 INFO L290 TraceCheckUtils]: 4: Hoare triple {2329#(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 {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {2329#(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; {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:21,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:21,338 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {2308#true} #209#return; {2326#(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:21,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {2308#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(23, 2); {2308#true} is VALID [2022-02-20 23:57:21,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {2308#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {2308#true} is VALID [2022-02-20 23:57:21,339 INFO L272 TraceCheckUtils]: 2: Hoare triple {2308#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2328#(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:21,339 INFO L290 TraceCheckUtils]: 3: Hoare triple {2328#(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; {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L290 TraceCheckUtils]: 4: Hoare triple {2308#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {2308#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L290 TraceCheckUtils]: 6: Hoare triple {2308#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {2308#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {2308#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {2308#true} assume true; {2308#true} is VALID [2022-02-20 23:57:21,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2308#true} {2308#true} #207#return; {2308#true} is VALID [2022-02-20 23:57:21,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {2308#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; {2308#true} is VALID [2022-02-20 23:57:21,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {2308#true} assume !!(dll_circular_create_~len#1 > 1); {2308#true} is VALID [2022-02-20 23:57:21,342 INFO L272 TraceCheckUtils]: 13: Hoare triple {2308#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2328#(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:21,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {2328#(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; {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,357 INFO L290 TraceCheckUtils]: 15: Hoare triple {2329#(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); {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,358 INFO L290 TraceCheckUtils]: 16: Hoare triple {2329#(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 {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,358 INFO L290 TraceCheckUtils]: 17: Hoare triple {2329#(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 {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,359 INFO L290 TraceCheckUtils]: 18: Hoare triple {2329#(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 {2329#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:21,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {2329#(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; {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:21,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:21,360 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2330#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {2308#true} #209#return; {2326#(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:21,361 INFO L290 TraceCheckUtils]: 22: Hoare triple {2326#(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; {2327#(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:21,361 INFO L290 TraceCheckUtils]: 23: Hoare triple {2327#(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); {2309#false} is VALID [2022-02-20 23:57:21,362 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:21,362 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:21,362 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [645517223] [2022-02-20 23:57:21,363 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [645517223] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:21,363 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:21,363 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:57:21,363 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [449575748] [2022-02-20 23:57:21,363 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:21,363 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:21,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:21,364 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:21,380 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:21,381 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:21,381 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:21,381 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:21,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:21,382 INFO L87 Difference]: Start difference. First operand 129 states and 138 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:22,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:22,147 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2022-02-20 23:57:22,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:22,147 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:22,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:22,147 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:22,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 140 transitions. [2022-02-20 23:57:22,150 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:22,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 140 transitions. [2022-02-20 23:57:22,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 140 transitions. [2022-02-20 23:57:22,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:22,242 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:57:22,242 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:57:22,243 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:22,243 INFO L933 BasicCegarLoop]: 124 mSDtfsCounter, 19 mSDsluCounter, 326 mSDsCounter, 0 mSdLazyCounter, 351 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 450 SdHoareTripleChecker+Invalid, 352 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 351 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:22,247 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 450 Invalid, 352 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 351 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:22,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:57:22,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 128. [2022-02-20 23:57:22,252 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:22,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:22,253 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:22,253 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:22,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:22,255 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2022-02-20 23:57:22,255 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 139 transitions. [2022-02-20 23:57:22,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:22,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:22,256 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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 129 states. [2022-02-20 23:57:22,256 INFO L87 Difference]: Start difference. First operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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 129 states. [2022-02-20 23:57:22,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:22,259 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2022-02-20 23:57:22,259 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 139 transitions. [2022-02-20 23:57:22,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:22,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:22,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:22,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:22,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:22,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 137 transitions. [2022-02-20 23:57:22,262 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 137 transitions. Word has length 24 [2022-02-20 23:57:22,262 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:22,262 INFO L470 AbstractCegarLoop]: Abstraction has 128 states and 137 transitions. [2022-02-20 23:57:22,262 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:22,262 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 137 transitions. [2022-02-20 23:57:22,263 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:22,263 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:22,263 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:22,263 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:57:22,263 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:22,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:22,264 INFO L85 PathProgramCache]: Analyzing trace with hash -2096731903, now seen corresponding path program 1 times [2022-02-20 23:57:22,264 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:22,264 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [59660809] [2022-02-20 23:57:22,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:22,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:22,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:22,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:22,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:22,361 INFO L290 TraceCheckUtils]: 0: Hoare triple {2870#(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; {2850#true} is VALID [2022-02-20 23:57:22,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {2850#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2850#true} is VALID [2022-02-20 23:57:22,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {2850#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:22,364 INFO L290 TraceCheckUtils]: 3: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:22,364 INFO L290 TraceCheckUtils]: 4: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:22,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:22,365 INFO L290 TraceCheckUtils]: 6: Hoare triple {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:22,366 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} {2850#true} #207#return; {2860#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:57:22,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:22,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:22,444 INFO L290 TraceCheckUtils]: 0: Hoare triple {2870#(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; {2873#(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:22,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {2873#(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); {2873#(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:22,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {2873#(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 {2873#(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:22,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {2873#(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 {2873#(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:22,449 INFO L290 TraceCheckUtils]: 4: Hoare triple {2873#(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 {2873#(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:22,450 INFO L290 TraceCheckUtils]: 5: Hoare triple {2873#(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; {2874#(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:22,450 INFO L290 TraceCheckUtils]: 6: Hoare triple {2874#(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; {2874#(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:22,451 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {2874#(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|))} {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} #209#return; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {2850#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(23, 2); {2850#true} is VALID [2022-02-20 23:57:22,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {2850#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {2850#true} is VALID [2022-02-20 23:57:22,453 INFO L272 TraceCheckUtils]: 2: Hoare triple {2850#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2870#(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:22,453 INFO L290 TraceCheckUtils]: 3: Hoare triple {2870#(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; {2850#true} is VALID [2022-02-20 23:57:22,453 INFO L290 TraceCheckUtils]: 4: Hoare triple {2850#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2850#true} is VALID [2022-02-20 23:57:22,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {2850#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:22,454 INFO L290 TraceCheckUtils]: 6: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:22,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:22,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:22,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:22,456 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} {2850#true} #207#return; {2860#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:57:22,456 INFO L290 TraceCheckUtils]: 11: Hoare triple {2860#(= (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; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,456 INFO L290 TraceCheckUtils]: 12: Hoare triple {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !!(dll_circular_create_~len#1 > 1); {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,457 INFO L272 TraceCheckUtils]: 13: Hoare triple {2861#(= (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); {2870#(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:22,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {2870#(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; {2873#(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:22,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {2873#(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); {2873#(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:22,459 INFO L290 TraceCheckUtils]: 16: Hoare triple {2873#(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 {2873#(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:22,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {2873#(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 {2873#(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:22,460 INFO L290 TraceCheckUtils]: 18: Hoare triple {2873#(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 {2873#(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:22,460 INFO L290 TraceCheckUtils]: 19: Hoare triple {2873#(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; {2874#(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:22,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {2874#(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; {2874#(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:22,462 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2874#(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|))} {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} #209#return; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,462 INFO L290 TraceCheckUtils]: 22: Hoare triple {2861#(= (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; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,463 INFO L290 TraceCheckUtils]: 23: Hoare triple {2861#(= (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 {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,463 INFO L290 TraceCheckUtils]: 24: Hoare triple {2861#(= (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; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:22,463 INFO L290 TraceCheckUtils]: 25: Hoare triple {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {2851#false} is VALID [2022-02-20 23:57:22,463 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:22,463 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:22,464 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [59660809] [2022-02-20 23:57:22,464 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [59660809] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:22,464 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1964977957] [2022-02-20 23:57:22,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:22,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:22,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:22,478 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:22,483 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:22,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:22,616 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:57:22,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:22,637 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:22,725 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:23,048 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:57:23,049 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:23,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {2850#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(23, 2); {2850#true} is VALID [2022-02-20 23:57:23,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {2850#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {2850#true} is VALID [2022-02-20 23:57:23,070 INFO L272 TraceCheckUtils]: 2: Hoare triple {2850#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2850#true} is VALID [2022-02-20 23:57:23,070 INFO L290 TraceCheckUtils]: 3: Hoare triple {2850#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; {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:23,071 INFO L290 TraceCheckUtils]: 4: Hoare triple {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:23,071 INFO L290 TraceCheckUtils]: 5: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:23,072 INFO L290 TraceCheckUtils]: 6: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:23,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {2871#(= 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 {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:23,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {2871#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:23,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:23,074 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2872#(= (select |#valid| |node_create_#res#1.base|) 1)} {2850#true} #207#return; {2860#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 1)} is VALID [2022-02-20 23:57:23,074 INFO L290 TraceCheckUtils]: 11: Hoare triple {2860#(= (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; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:23,074 INFO L290 TraceCheckUtils]: 12: Hoare triple {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !!(dll_circular_create_~len#1 > 1); {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:23,075 INFO L272 TraceCheckUtils]: 13: Hoare triple {2861#(= (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); {2917#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:57:23,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {2917#(= |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; {2921#(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:23,077 INFO L290 TraceCheckUtils]: 15: Hoare triple {2921#(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); {2921#(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:23,078 INFO L290 TraceCheckUtils]: 16: Hoare triple {2921#(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 {2921#(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:23,079 INFO L290 TraceCheckUtils]: 17: Hoare triple {2921#(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 {2921#(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:23,082 INFO L290 TraceCheckUtils]: 18: Hoare triple {2921#(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 {2921#(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:23,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {2921#(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; {2921#(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:23,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {2921#(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; {2921#(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:23,085 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2921#(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|))))} {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} #209#return; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:23,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {2861#(= (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; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:23,085 INFO L290 TraceCheckUtils]: 23: Hoare triple {2861#(= (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 {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:23,087 INFO L290 TraceCheckUtils]: 24: Hoare triple {2861#(= (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; {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:23,087 INFO L290 TraceCheckUtils]: 25: Hoare triple {2861#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {2851#false} is VALID [2022-02-20 23:57:23,088 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:23,088 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:23,204 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1964977957] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:23,204 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:23,204 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-02-20 23:57:23,204 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027475578] [2022-02-20 23:57:23,204 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:23,205 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:23,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:23,207 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:23,253 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:23,253 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:57:23,253 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:23,254 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:57:23,254 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:57:23,255 INFO L87 Difference]: Start difference. First operand 128 states and 137 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:23,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:23,941 INFO L93 Difference]: Finished difference Result 143 states and 153 transitions. [2022-02-20 23:57:23,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:57:23,941 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:23,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:23,941 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:23,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 154 transitions. [2022-02-20 23:57:23,947 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:23,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 154 transitions. [2022-02-20 23:57:23,949 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 154 transitions. [2022-02-20 23:57:24,061 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:57:24,062 INFO L225 Difference]: With dead ends: 143 [2022-02-20 23:57:24,062 INFO L226 Difference]: Without dead ends: 143 [2022-02-20 23:57:24,063 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:57:24,063 INFO L933 BasicCegarLoop]: 123 mSDtfsCounter, 15 mSDsluCounter, 379 mSDsCounter, 0 mSdLazyCounter, 321 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 502 SdHoareTripleChecker+Invalid, 402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 321 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 78 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:24,063 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 502 Invalid, 402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 321 Invalid, 0 Unknown, 78 Unchecked, 0.2s Time] [2022-02-20 23:57:24,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-02-20 23:57:24,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-02-20 23:57:24,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:24,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 79 states have (on average 1.8227848101265822) internal successors, (144), 134 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:24,067 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 79 states have (on average 1.8227848101265822) internal successors, (144), 134 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:24,067 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 79 states have (on average 1.8227848101265822) internal successors, (144), 134 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:24,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:24,070 INFO L93 Difference]: Finished difference Result 143 states and 153 transitions. [2022-02-20 23:57:24,070 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 153 transitions. [2022-02-20 23:57:24,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:24,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:24,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 79 states have (on average 1.8227848101265822) internal successors, (144), 134 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 143 states. [2022-02-20 23:57:24,071 INFO L87 Difference]: Start difference. First operand has 141 states, 79 states have (on average 1.8227848101265822) internal successors, (144), 134 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 143 states. [2022-02-20 23:57:24,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:24,073 INFO L93 Difference]: Finished difference Result 143 states and 153 transitions. [2022-02-20 23:57:24,074 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 153 transitions. [2022-02-20 23:57:24,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:24,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:24,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:24,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:24,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 79 states have (on average 1.8227848101265822) internal successors, (144), 134 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:24,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 152 transitions. [2022-02-20 23:57:24,076 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 152 transitions. Word has length 26 [2022-02-20 23:57:24,077 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:24,077 INFO L470 AbstractCegarLoop]: Abstraction has 141 states and 152 transitions. [2022-02-20 23:57:24,077 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:24,077 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 152 transitions. [2022-02-20 23:57:24,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:24,077 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:24,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] [2022-02-20 23:57:24,095 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 23:57:24,295 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:24,296 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:24,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:24,296 INFO L85 PathProgramCache]: Analyzing trace with hash -2096731902, now seen corresponding path program 1 times [2022-02-20 23:57:24,296 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:24,296 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1438113876] [2022-02-20 23:57:24,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:24,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:24,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:24,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:24,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:24,448 INFO L290 TraceCheckUtils]: 0: Hoare triple {3567#(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; {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {3568#(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); {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {3568#(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 {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,450 INFO L290 TraceCheckUtils]: 3: Hoare triple {3568#(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 {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,451 INFO L290 TraceCheckUtils]: 4: Hoare triple {3568#(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 {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {3568#(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; {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:24,451 INFO L290 TraceCheckUtils]: 6: Hoare triple {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:24,452 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {3547#true} #207#return; {3557#(and (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 12))} is VALID [2022-02-20 23:57:24,452 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:24,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:24,495 INFO L290 TraceCheckUtils]: 0: Hoare triple {3567#(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; {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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); {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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 {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,497 INFO L290 TraceCheckUtils]: 3: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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 {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,498 INFO L290 TraceCheckUtils]: 4: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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 {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,499 INFO L290 TraceCheckUtils]: 5: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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; {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} is VALID [2022-02-20 23:57:24,499 INFO L290 TraceCheckUtils]: 6: Hoare triple {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} assume true; {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} is VALID [2022-02-20 23:57:24,501 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} #209#return; {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,501 INFO L290 TraceCheckUtils]: 0: Hoare triple {3547#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(23, 2); {3547#true} is VALID [2022-02-20 23:57:24,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {3547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {3547#true} is VALID [2022-02-20 23:57:24,502 INFO L272 TraceCheckUtils]: 2: Hoare triple {3547#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3567#(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:24,506 INFO L290 TraceCheckUtils]: 3: Hoare triple {3567#(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; {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,507 INFO L290 TraceCheckUtils]: 4: Hoare triple {3568#(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); {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {3568#(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 {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,508 INFO L290 TraceCheckUtils]: 6: Hoare triple {3568#(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 {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {3568#(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 {3568#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:24,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {3568#(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; {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:24,509 INFO L290 TraceCheckUtils]: 9: Hoare triple {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:24,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3569#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {3547#true} #207#return; {3557#(and (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) 12))} is VALID [2022-02-20 23:57:24,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {3557#(and (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0) (= (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; {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} assume !!(dll_circular_create_~len#1 > 1); {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,512 INFO L272 TraceCheckUtils]: 13: Hoare triple {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {3567#(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:24,512 INFO L290 TraceCheckUtils]: 14: Hoare triple {3567#(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; {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,513 INFO L290 TraceCheckUtils]: 15: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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); {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,513 INFO L290 TraceCheckUtils]: 16: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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 {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,514 INFO L290 TraceCheckUtils]: 17: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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 {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,514 INFO L290 TraceCheckUtils]: 18: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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 {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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:24,515 INFO L290 TraceCheckUtils]: 19: Hoare triple {3570#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= (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; {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} is VALID [2022-02-20 23:57:24,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} assume true; {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} is VALID [2022-02-20 23:57:24,517 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3571#(and (or (= |old(#length)| |#length|) (= (select |#length| (@diff |old(#length)| |#length|)) 12)) (= |#length| (store |old(#length)| (@diff |old(#length)| |#length|) (select |#length| (@diff |old(#length)| |#length|)))))} {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} #209#return; {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,517 INFO L290 TraceCheckUtils]: 22: Hoare triple {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} 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; {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,518 INFO L290 TraceCheckUtils]: 23: Hoare triple {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} 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 {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,518 INFO L290 TraceCheckUtils]: 24: Hoare triple {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} is VALID [2022-02-20 23:57:24,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {3558#(and (= |ULTIMATE.start_dll_circular_create_~head~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 12))} 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); {3548#false} is VALID [2022-02-20 23:57:24,519 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:24,521 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:24,521 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1438113876] [2022-02-20 23:57:24,521 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1438113876] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:24,521 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [829200733] [2022-02-20 23:57:24,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:24,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:24,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:24,522 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:24,523 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:24,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:24,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 31 conjunts are in the unsatisfiable core [2022-02-20 23:57:24,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:24,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:24,646 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:24,982 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:24,983 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:24,991 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 14 treesize of output 16 [2022-02-20 23:57:25,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {3547#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(23, 2); {3547#true} is VALID [2022-02-20 23:57:25,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {3547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {3547#true} is VALID [2022-02-20 23:57:25,057 INFO L272 TraceCheckUtils]: 2: Hoare triple {3547#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3547#true} is VALID [2022-02-20 23:57:25,058 INFO L290 TraceCheckUtils]: 3: Hoare triple {3547#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; {3584#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:25,058 INFO L290 TraceCheckUtils]: 4: Hoare triple {3584#(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); {3584#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:25,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {3584#(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 {3584#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:25,059 INFO L290 TraceCheckUtils]: 6: Hoare triple {3584#(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 {3584#(and (= 1 (select |#valid| |node_create_~temp~0#1.base|)) (<= 0 |node_create_~temp~0#1.offset|))} is VALID [2022-02-20 23:57:25,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {3584#(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 {3597#(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:25,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {3597#(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; {3601#(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:25,061 INFO L290 TraceCheckUtils]: 9: Hoare triple {3601#(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; {3601#(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:25,062 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3601#(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))} {3547#true} #207#return; {3608#(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:25,062 INFO L290 TraceCheckUtils]: 11: Hoare triple {3608#(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; {3612#(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:25,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {3612#(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); {3612#(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:25,063 INFO L272 TraceCheckUtils]: 13: Hoare triple {3612#(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); {3619#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:57:25,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {3619#(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; {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} is VALID [2022-02-20 23:57:25,065 INFO L290 TraceCheckUtils]: 15: Hoare triple {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} is VALID [2022-02-20 23:57:25,067 INFO L290 TraceCheckUtils]: 16: Hoare triple {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} is VALID [2022-02-20 23:57:25,068 INFO L290 TraceCheckUtils]: 17: Hoare triple {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} is VALID [2022-02-20 23:57:25,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} is VALID [2022-02-20 23:57:25,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {3623#(and (= 0 (select |old(#valid)| |node_create_~temp~0#1.base|)) (exists ((v_ArrVal_493 Int)) (= (store |old(#length)| |node_create_~temp~0#1.base| v_ArrVal_493) |#length|)))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3639#(and (exists ((v_ArrVal_493 Int)) (= |#length| (store |old(#length)| |node_create_#res#1.base| v_ArrVal_493))) (= (select |old(#valid)| |node_create_#res#1.base|) 0))} is VALID [2022-02-20 23:57:25,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {3639#(and (exists ((v_ArrVal_493 Int)) (= |#length| (store |old(#length)| |node_create_#res#1.base| v_ArrVal_493))) (= (select |old(#valid)| |node_create_#res#1.base|) 0))} assume true; {3639#(and (exists ((v_ArrVal_493 Int)) (= |#length| (store |old(#length)| |node_create_#res#1.base| v_ArrVal_493))) (= (select |old(#valid)| |node_create_#res#1.base|) 0))} is VALID [2022-02-20 23:57:25,071 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3639#(and (exists ((v_ArrVal_493 Int)) (= |#length| (store |old(#length)| |node_create_#res#1.base| v_ArrVal_493))) (= (select |old(#valid)| |node_create_#res#1.base|) 0))} {3612#(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|))} #209#return; {3646#(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:25,072 INFO L290 TraceCheckUtils]: 22: Hoare triple {3646#(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; {3650#(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:25,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {3650#(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 {3650#(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:25,073 INFO L290 TraceCheckUtils]: 24: Hoare triple {3650#(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; {3650#(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:25,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {3650#(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); {3548#false} is VALID [2022-02-20 23:57:25,080 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:25,080 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:25,269 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [829200733] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:25,269 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:25,269 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 11] total 18 [2022-02-20 23:57:25,269 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136598320] [2022-02-20 23:57:25,269 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:25,270 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:25,270 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:25,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:25,319 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:25,320 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:57:25,320 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:25,320 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:57:25,320 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=368, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:57:25,321 INFO L87 Difference]: Start difference. First operand 141 states and 152 transitions. Second operand has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:26,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:26,961 INFO L93 Difference]: Finished difference Result 143 states and 153 transitions. [2022-02-20 23:57:26,961 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:57:26,962 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:26,962 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:26,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:26,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 147 transitions. [2022-02-20 23:57:26,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:26,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 147 transitions. [2022-02-20 23:57:26,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 147 transitions. [2022-02-20 23:57:27,061 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:27,063 INFO L225 Difference]: With dead ends: 143 [2022-02-20 23:57:27,063 INFO L226 Difference]: Without dead ends: 143 [2022-02-20 23:57:27,063 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 21 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=83, Invalid=567, Unknown=0, NotChecked=0, Total=650 [2022-02-20 23:57:27,064 INFO L933 BasicCegarLoop]: 125 mSDtfsCounter, 3 mSDsluCounter, 858 mSDsCounter, 0 mSdLazyCounter, 831 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 983 SdHoareTripleChecker+Invalid, 994 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 831 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 154 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:27,064 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 983 Invalid, 994 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 831 Invalid, 0 Unknown, 154 Unchecked, 0.6s Time] [2022-02-20 23:57:27,065 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-02-20 23:57:27,075 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 141. [2022-02-20 23:57:27,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:27,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 141 states, 79 states have (on average 1.8101265822784811) internal successors, (143), 134 states have internal predecessors, (143), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:27,076 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 141 states, 79 states have (on average 1.8101265822784811) internal successors, (143), 134 states have internal predecessors, (143), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:27,076 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 141 states, 79 states have (on average 1.8101265822784811) internal successors, (143), 134 states have internal predecessors, (143), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:27,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:27,079 INFO L93 Difference]: Finished difference Result 143 states and 153 transitions. [2022-02-20 23:57:27,079 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 153 transitions. [2022-02-20 23:57:27,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:27,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:27,080 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 79 states have (on average 1.8101265822784811) internal successors, (143), 134 states have internal predecessors, (143), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 143 states. [2022-02-20 23:57:27,080 INFO L87 Difference]: Start difference. First operand has 141 states, 79 states have (on average 1.8101265822784811) internal successors, (143), 134 states have internal predecessors, (143), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 143 states. [2022-02-20 23:57:27,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:27,083 INFO L93 Difference]: Finished difference Result 143 states and 153 transitions. [2022-02-20 23:57:27,083 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 153 transitions. [2022-02-20 23:57:27,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:27,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:27,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:27,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:27,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 79 states have (on average 1.8101265822784811) internal successors, (143), 134 states have internal predecessors, (143), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:27,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 151 transitions. [2022-02-20 23:57:27,087 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 151 transitions. Word has length 26 [2022-02-20 23:57:27,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:27,087 INFO L470 AbstractCegarLoop]: Abstraction has 141 states and 151 transitions. [2022-02-20 23:57:27,087 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.3333333333333335) internal successors, (42), 14 states have internal predecessors, (42), 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:27,087 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 151 transitions. [2022-02-20 23:57:27,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:57:27,088 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:27,088 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:27,115 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:27,303 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:27,303 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:27,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:27,304 INFO L85 PathProgramCache]: Analyzing trace with hash -619542825, now seen corresponding path program 1 times [2022-02-20 23:57:27,304 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:27,304 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1979645292] [2022-02-20 23:57:27,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:27,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:27,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:27,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:27,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:27,386 INFO L290 TraceCheckUtils]: 0: Hoare triple {4278#(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; {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {4279#(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); {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,390 INFO L290 TraceCheckUtils]: 4: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {4279#(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; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,408 INFO L290 TraceCheckUtils]: 6: Hoare triple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,409 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {4258#true} #207#return; {4268#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:27,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:27,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:27,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {4278#(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; {4258#true} is VALID [2022-02-20 23:57:27,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {4258#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4258#true} is VALID [2022-02-20 23:57:27,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4258#true} is VALID [2022-02-20 23:57:27,424 INFO L290 TraceCheckUtils]: 3: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4258#true} is VALID [2022-02-20 23:57:27,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {4258#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4258#true} is VALID [2022-02-20 23:57:27,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {4258#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4258#true} is VALID [2022-02-20 23:57:27,424 INFO L290 TraceCheckUtils]: 6: Hoare triple {4258#true} assume true; {4258#true} is VALID [2022-02-20 23:57:27,425 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {4258#true} {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #209#return; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {4258#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(23, 2); {4258#true} is VALID [2022-02-20 23:57:27,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {4258#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {4258#true} is VALID [2022-02-20 23:57:27,426 INFO L272 TraceCheckUtils]: 2: Hoare triple {4258#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4278#(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:27,427 INFO L290 TraceCheckUtils]: 3: Hoare triple {4278#(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; {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,427 INFO L290 TraceCheckUtils]: 4: Hoare triple {4279#(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); {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {4279#(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; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {4258#true} #207#return; {4268#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:27,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {4268#(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; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,430 INFO L290 TraceCheckUtils]: 12: Hoare triple {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !!(dll_circular_create_~len#1 > 1); {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,431 INFO L272 TraceCheckUtils]: 13: Hoare triple {4269#(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); {4278#(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:27,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {4278#(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; {4258#true} is VALID [2022-02-20 23:57:27,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {4258#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4258#true} is VALID [2022-02-20 23:57:27,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4258#true} is VALID [2022-02-20 23:57:27,431 INFO L290 TraceCheckUtils]: 17: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4258#true} is VALID [2022-02-20 23:57:27,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {4258#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4258#true} is VALID [2022-02-20 23:57:27,432 INFO L290 TraceCheckUtils]: 19: Hoare triple {4258#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4258#true} is VALID [2022-02-20 23:57:27,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {4258#true} assume true; {4258#true} is VALID [2022-02-20 23:57:27,432 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4258#true} {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #209#return; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,433 INFO L290 TraceCheckUtils]: 22: Hoare triple {4269#(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; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {4269#(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 {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,433 INFO L290 TraceCheckUtils]: 24: Hoare triple {4269#(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); {4259#false} is VALID [2022-02-20 23:57:27,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {4259#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; {4259#false} is VALID [2022-02-20 23:57:27,433 INFO L290 TraceCheckUtils]: 26: Hoare triple {4259#false} assume !(dll_circular_create_~len#1 > 1); {4259#false} is VALID [2022-02-20 23:57:27,434 INFO L290 TraceCheckUtils]: 27: Hoare triple {4259#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {4259#false} is VALID [2022-02-20 23:57:27,434 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:27,434 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:27,434 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1979645292] [2022-02-20 23:57:27,434 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1979645292] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:27,434 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1408810212] [2022-02-20 23:57:27,435 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:27,435 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:27,435 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:27,447 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:27,448 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:27,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:27,548 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:57:27,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:27,560 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:27,701 INFO L290 TraceCheckUtils]: 0: Hoare triple {4258#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(23, 2); {4258#true} is VALID [2022-02-20 23:57:27,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {4258#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {4258#true} is VALID [2022-02-20 23:57:27,701 INFO L272 TraceCheckUtils]: 2: Hoare triple {4258#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4258#true} is VALID [2022-02-20 23:57:27,702 INFO L290 TraceCheckUtils]: 3: Hoare triple {4258#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; {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,702 INFO L290 TraceCheckUtils]: 4: Hoare triple {4279#(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); {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,703 INFO L290 TraceCheckUtils]: 8: Hoare triple {4279#(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; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,705 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {4258#true} #207#return; {4268#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:27,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {4268#(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; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !!(dll_circular_create_~len#1 > 1); {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,706 INFO L272 TraceCheckUtils]: 13: Hoare triple {4269#(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); {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {4258#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; {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 15: Hoare triple {4258#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 16: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 17: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {4258#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {4258#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4258#true} is VALID [2022-02-20 23:57:27,706 INFO L290 TraceCheckUtils]: 20: Hoare triple {4258#true} assume true; {4258#true} is VALID [2022-02-20 23:57:27,714 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4258#true} {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #209#return; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {4269#(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; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {4269#(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 {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {4269#(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); {4259#false} is VALID [2022-02-20 23:57:27,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {4259#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; {4259#false} is VALID [2022-02-20 23:57:27,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {4259#false} assume !(dll_circular_create_~len#1 > 1); {4259#false} is VALID [2022-02-20 23:57:27,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {4259#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {4259#false} is VALID [2022-02-20 23:57:27,716 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:27,716 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:27,928 INFO L290 TraceCheckUtils]: 27: Hoare triple {4259#false} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {4259#false} is VALID [2022-02-20 23:57:27,928 INFO L290 TraceCheckUtils]: 26: Hoare triple {4259#false} assume !(dll_circular_create_~len#1 > 1); {4259#false} is VALID [2022-02-20 23:57:27,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {4259#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; {4259#false} is VALID [2022-02-20 23:57:27,929 INFO L290 TraceCheckUtils]: 24: Hoare triple {4269#(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); {4259#false} is VALID [2022-02-20 23:57:27,929 INFO L290 TraceCheckUtils]: 23: Hoare triple {4269#(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 {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,929 INFO L290 TraceCheckUtils]: 22: Hoare triple {4269#(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; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,930 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4258#true} {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} #209#return; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 20: Hoare triple {4258#true} assume true; {4258#true} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {4258#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4258#true} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 18: Hoare triple {4258#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {4258#true} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 17: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {4258#true} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 16: Hoare triple {4258#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {4258#true} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 15: Hoare triple {4258#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {4258#true} is VALID [2022-02-20 23:57:27,930 INFO L290 TraceCheckUtils]: 14: Hoare triple {4258#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; {4258#true} is VALID [2022-02-20 23:57:27,931 INFO L272 TraceCheckUtils]: 13: Hoare triple {4269#(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); {4258#true} is VALID [2022-02-20 23:57:27,933 INFO L290 TraceCheckUtils]: 12: Hoare triple {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} assume !!(dll_circular_create_~len#1 > 1); {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,933 INFO L290 TraceCheckUtils]: 11: Hoare triple {4268#(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; {4269#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:27,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} {4258#true} #207#return; {4268#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| 0))} is VALID [2022-02-20 23:57:27,934 INFO L290 TraceCheckUtils]: 9: Hoare triple {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} assume true; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,935 INFO L290 TraceCheckUtils]: 8: Hoare triple {4279#(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; {4280#(or (<= (+ |node_create_#res#1.base| 1) 0) (<= 1 |node_create_#res#1.base|))} is VALID [2022-02-20 23:57:27,935 INFO L290 TraceCheckUtils]: 7: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,935 INFO L290 TraceCheckUtils]: 6: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,936 INFO L290 TraceCheckUtils]: 5: Hoare triple {4279#(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 {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,936 INFO L290 TraceCheckUtils]: 4: Hoare triple {4279#(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); {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {4258#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; {4279#(or (not (<= |node_create_~temp~0#1.base| 0)) (<= (+ |node_create_~temp~0#1.base| 1) 0))} is VALID [2022-02-20 23:57:27,937 INFO L272 TraceCheckUtils]: 2: Hoare triple {4258#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4258#true} is VALID [2022-02-20 23:57:27,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {4258#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {4258#true} is VALID [2022-02-20 23:57:27,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {4258#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(23, 2); {4258#true} is VALID [2022-02-20 23:57:27,937 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:27,937 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1408810212] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:27,937 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:27,937 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 7 [2022-02-20 23:57:27,937 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786736501] [2022-02-20 23:57:27,937 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:27,938 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:27,938 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:27,938 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:27,984 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:27,984 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:27,984 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:27,984 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:27,984 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:27,985 INFO L87 Difference]: Start difference. First operand 141 states and 151 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:28,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,460 INFO L93 Difference]: Finished difference Result 142 states and 151 transitions. [2022-02-20 23:57:28,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:28,460 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:28,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:28,460 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:28,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 145 transitions. [2022-02-20 23:57:28,462 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:28,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 145 transitions. [2022-02-20 23:57:28,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 145 transitions. [2022-02-20 23:57:28,560 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:28,561 INFO L225 Difference]: With dead ends: 142 [2022-02-20 23:57:28,562 INFO L226 Difference]: Without dead ends: 142 [2022-02-20 23:57:28,562 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 53 SyntacticMatches, 5 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:28,562 INFO L933 BasicCegarLoop]: 127 mSDtfsCounter, 4 mSDsluCounter, 537 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 664 SdHoareTripleChecker+Invalid, 145 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:28,563 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 664 Invalid, 145 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:28,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-02-20 23:57:28,565 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 141. [2022-02-20 23:57:28,565 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:28,566 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 141 states, 79 states have (on average 1.7974683544303798) internal successors, (142), 134 states have internal predecessors, (142), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:28,566 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 141 states, 79 states have (on average 1.7974683544303798) internal successors, (142), 134 states have internal predecessors, (142), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:28,566 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 141 states, 79 states have (on average 1.7974683544303798) internal successors, (142), 134 states have internal predecessors, (142), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:28,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,569 INFO L93 Difference]: Finished difference Result 142 states and 151 transitions. [2022-02-20 23:57:28,570 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 151 transitions. [2022-02-20 23:57:28,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,570 INFO L74 IsIncluded]: Start isIncluded. First operand has 141 states, 79 states have (on average 1.7974683544303798) internal successors, (142), 134 states have internal predecessors, (142), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 142 states. [2022-02-20 23:57:28,571 INFO L87 Difference]: Start difference. First operand has 141 states, 79 states have (on average 1.7974683544303798) internal successors, (142), 134 states have internal predecessors, (142), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 142 states. [2022-02-20 23:57:28,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:28,573 INFO L93 Difference]: Finished difference Result 142 states and 151 transitions. [2022-02-20 23:57:28,574 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 151 transitions. [2022-02-20 23:57:28,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:28,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:28,574 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:28,574 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:28,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 141 states, 79 states have (on average 1.7974683544303798) internal successors, (142), 134 states have internal predecessors, (142), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:28,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 141 states to 141 states and 150 transitions. [2022-02-20 23:57:28,577 INFO L78 Accepts]: Start accepts. Automaton has 141 states and 150 transitions. Word has length 28 [2022-02-20 23:57:28,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:28,577 INFO L470 AbstractCegarLoop]: Abstraction has 141 states and 150 transitions. [2022-02-20 23:57:28,578 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:28,578 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 150 transitions. [2022-02-20 23:57:28,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:57:28,578 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:28,578 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:28,596 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:28,788 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:28,789 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:28,789 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:28,789 INFO L85 PathProgramCache]: Analyzing trace with hash -2030739054, now seen corresponding path program 1 times [2022-02-20 23:57:28,789 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:28,789 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [339707321] [2022-02-20 23:57:28,790 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:28,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:28,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:28,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {5035#(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; {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L290 TraceCheckUtils]: 3: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L290 TraceCheckUtils]: 6: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:28,899 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5014#true} {5014#true} #207#return; {5014#true} is VALID [2022-02-20 23:57:28,900 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:28,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:28,912 INFO L290 TraceCheckUtils]: 0: Hoare triple {5035#(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; {5014#true} is VALID [2022-02-20 23:57:28,912 INFO L290 TraceCheckUtils]: 1: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:28,912 INFO L290 TraceCheckUtils]: 2: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:28,912 INFO L290 TraceCheckUtils]: 3: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:28,913 INFO L290 TraceCheckUtils]: 4: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:28,913 INFO L290 TraceCheckUtils]: 5: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:28,913 INFO L290 TraceCheckUtils]: 6: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:28,914 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5014#true} {5024#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #209#return; {5033#(= (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:28,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {5014#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(23, 2); {5014#true} is VALID [2022-02-20 23:57:28,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {5014#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5014#true} is VALID [2022-02-20 23:57:28,915 INFO L272 TraceCheckUtils]: 2: Hoare triple {5014#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5035#(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,915 INFO L290 TraceCheckUtils]: 3: Hoare triple {5035#(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; {5014#true} is VALID [2022-02-20 23:57:28,915 INFO L290 TraceCheckUtils]: 4: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:28,915 INFO L290 TraceCheckUtils]: 5: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:28,915 INFO L290 TraceCheckUtils]: 6: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:28,915 INFO L290 TraceCheckUtils]: 7: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:28,915 INFO L290 TraceCheckUtils]: 8: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:28,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:28,917 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5014#true} {5014#true} #207#return; {5014#true} is VALID [2022-02-20 23:57:28,918 INFO L290 TraceCheckUtils]: 11: Hoare triple {5014#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; {5024#(= |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:28,918 INFO L290 TraceCheckUtils]: 12: Hoare triple {5024#(= |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); {5024#(= |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:28,923 INFO L272 TraceCheckUtils]: 13: Hoare triple {5024#(= |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); {5035#(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,923 INFO L290 TraceCheckUtils]: 14: Hoare triple {5035#(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; {5014#true} is VALID [2022-02-20 23:57:28,923 INFO L290 TraceCheckUtils]: 15: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:28,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:28,924 INFO L290 TraceCheckUtils]: 17: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:28,924 INFO L290 TraceCheckUtils]: 18: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:28,924 INFO L290 TraceCheckUtils]: 19: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:28,924 INFO L290 TraceCheckUtils]: 20: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:28,925 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5014#true} {5024#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #209#return; {5033#(= (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:28,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {5033#(= (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; {5033#(= (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:28,926 INFO L290 TraceCheckUtils]: 23: Hoare triple {5033#(= (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 {5033#(= (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:28,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {5033#(= (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; {5033#(= (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:28,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {5033#(= (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 {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:28,927 INFO L290 TraceCheckUtils]: 26: Hoare triple {5034#(= (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; {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:28,928 INFO L290 TraceCheckUtils]: 27: Hoare triple {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:28,928 INFO L290 TraceCheckUtils]: 28: Hoare triple {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {5015#false} is VALID [2022-02-20 23:57:28,928 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:28,928 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:28,928 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [339707321] [2022-02-20 23:57:28,929 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [339707321] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:28,929 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1617881220] [2022-02-20 23:57:28,929 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:28,929 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:28,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:28,930 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:28,932 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:29,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:29,041 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:57:29,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:29,050 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:29,112 INFO L290 TraceCheckUtils]: 0: Hoare triple {5014#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(23, 2); {5014#true} is VALID [2022-02-20 23:57:29,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {5014#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5014#true} is VALID [2022-02-20 23:57:29,112 INFO L272 TraceCheckUtils]: 2: Hoare triple {5014#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 3: Hoare triple {5014#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; {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 4: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 6: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:29,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5014#true} {5014#true} #207#return; {5014#true} is VALID [2022-02-20 23:57:29,114 INFO L290 TraceCheckUtils]: 11: Hoare triple {5014#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; {5024#(= |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:29,114 INFO L290 TraceCheckUtils]: 12: Hoare triple {5024#(= |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); {5024#(= |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:29,114 INFO L272 TraceCheckUtils]: 13: Hoare triple {5024#(= |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); {5014#true} is VALID [2022-02-20 23:57:29,114 INFO L290 TraceCheckUtils]: 14: Hoare triple {5014#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; {5014#true} is VALID [2022-02-20 23:57:29,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:29,115 INFO L290 TraceCheckUtils]: 16: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:29,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:29,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:29,115 INFO L290 TraceCheckUtils]: 19: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:29,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:29,116 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5014#true} {5024#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #209#return; {5024#(= |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:29,116 INFO L290 TraceCheckUtils]: 22: Hoare triple {5024#(= |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; {5024#(= |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:29,117 INFO L290 TraceCheckUtils]: 23: Hoare triple {5024#(= |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 {5024#(= |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:29,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {5024#(= |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; {5024#(= |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:29,117 INFO L290 TraceCheckUtils]: 25: Hoare triple {5024#(= |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 {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:29,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {5034#(= (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; {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:29,118 INFO L290 TraceCheckUtils]: 27: Hoare triple {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:29,118 INFO L290 TraceCheckUtils]: 28: Hoare triple {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {5015#false} is VALID [2022-02-20 23:57:29,118 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:29,119 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:29,135 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:57:29,136 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:29,195 INFO L290 TraceCheckUtils]: 28: Hoare triple {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~last~0#1.base]); {5015#false} is VALID [2022-02-20 23:57:29,195 INFO L290 TraceCheckUtils]: 27: Hoare triple {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:29,195 INFO L290 TraceCheckUtils]: 26: Hoare triple {5034#(= (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; {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:29,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {5024#(= |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 {5034#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|) 1)} is VALID [2022-02-20 23:57:29,196 INFO L290 TraceCheckUtils]: 24: Hoare triple {5024#(= |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; {5024#(= |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:29,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {5024#(= |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 {5024#(= |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:29,197 INFO L290 TraceCheckUtils]: 22: Hoare triple {5024#(= |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; {5024#(= |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:29,198 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5014#true} {5024#(= |ULTIMATE.start_dll_circular_create_~head~0#1.base| |ULTIMATE.start_dll_circular_create_~last~0#1.base|)} #209#return; {5024#(= |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:29,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:29,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:29,198 INFO L290 TraceCheckUtils]: 18: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:29,198 INFO L290 TraceCheckUtils]: 17: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:29,199 INFO L290 TraceCheckUtils]: 16: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:29,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:29,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {5014#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; {5014#true} is VALID [2022-02-20 23:57:29,199 INFO L272 TraceCheckUtils]: 13: Hoare triple {5024#(= |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); {5014#true} is VALID [2022-02-20 23:57:29,199 INFO L290 TraceCheckUtils]: 12: Hoare triple {5024#(= |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); {5024#(= |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:29,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {5014#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; {5024#(= |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:29,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5014#true} {5014#true} #207#return; {5014#true} is VALID [2022-02-20 23:57:29,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {5014#true} assume true; {5014#true} is VALID [2022-02-20 23:57:29,200 INFO L290 TraceCheckUtils]: 8: Hoare triple {5014#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5014#true} is VALID [2022-02-20 23:57:29,200 INFO L290 TraceCheckUtils]: 7: Hoare triple {5014#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L290 TraceCheckUtils]: 6: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L290 TraceCheckUtils]: 5: Hoare triple {5014#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L290 TraceCheckUtils]: 4: Hoare triple {5014#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L290 TraceCheckUtils]: 3: Hoare triple {5014#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; {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L272 TraceCheckUtils]: 2: Hoare triple {5014#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {5014#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5014#true} is VALID [2022-02-20 23:57:29,201 INFO L290 TraceCheckUtils]: 0: Hoare triple {5014#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(23, 2); {5014#true} is VALID [2022-02-20 23:57:29,202 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:29,202 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1617881220] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:29,202 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:29,202 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 3, 3] total 5 [2022-02-20 23:57:29,202 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344522789] [2022-02-20 23:57:29,202 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:29,203 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:29,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:29,203 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:29,223 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:29,223 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:29,223 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:29,223 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:29,223 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:29,223 INFO L87 Difference]: Start difference. First operand 141 states and 150 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:29,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:29,681 INFO L93 Difference]: Finished difference Result 146 states and 157 transitions. [2022-02-20 23:57:29,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:29,681 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:29,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:29,681 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:29,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 151 transitions. [2022-02-20 23:57:29,685 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:29,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 151 transitions. [2022-02-20 23:57:29,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 151 transitions. [2022-02-20 23:57:29,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:29,794 INFO L225 Difference]: With dead ends: 146 [2022-02-20 23:57:29,794 INFO L226 Difference]: Without dead ends: 146 [2022-02-20 23:57:29,794 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:29,794 INFO L933 BasicCegarLoop]: 131 mSDtfsCounter, 13 mSDsluCounter, 180 mSDsCounter, 0 mSdLazyCounter, 235 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 311 SdHoareTripleChecker+Invalid, 241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 235 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:29,795 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 311 Invalid, 241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 235 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:29,795 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-02-20 23:57:29,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 144. [2022-02-20 23:57:29,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:29,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 144 states, 82 states have (on average 1.7926829268292683) internal successors, (147), 137 states have internal predecessors, (147), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:29,798 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 144 states, 82 states have (on average 1.7926829268292683) internal successors, (147), 137 states have internal predecessors, (147), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:29,798 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 144 states, 82 states have (on average 1.7926829268292683) internal successors, (147), 137 states have internal predecessors, (147), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:29,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:29,802 INFO L93 Difference]: Finished difference Result 146 states and 157 transitions. [2022-02-20 23:57:29,802 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 157 transitions. [2022-02-20 23:57:29,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:29,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:29,802 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 82 states have (on average 1.7926829268292683) internal successors, (147), 137 states have internal predecessors, (147), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 146 states. [2022-02-20 23:57:29,803 INFO L87 Difference]: Start difference. First operand has 144 states, 82 states have (on average 1.7926829268292683) internal successors, (147), 137 states have internal predecessors, (147), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 146 states. [2022-02-20 23:57:29,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:29,805 INFO L93 Difference]: Finished difference Result 146 states and 157 transitions. [2022-02-20 23:57:29,805 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 157 transitions. [2022-02-20 23:57:29,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:29,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:29,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:29,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:29,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 82 states have (on average 1.7926829268292683) internal successors, (147), 137 states have internal predecessors, (147), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:29,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 155 transitions. [2022-02-20 23:57:29,809 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 155 transitions. Word has length 29 [2022-02-20 23:57:29,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:29,809 INFO L470 AbstractCegarLoop]: Abstraction has 144 states and 155 transitions. [2022-02-20 23:57:29,809 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:29,809 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 155 transitions. [2022-02-20 23:57:29,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:57:29,810 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:29,810 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:29,838 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:30,023 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:30,023 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:30,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:30,024 INFO L85 PathProgramCache]: Analyzing trace with hash -2030739053, now seen corresponding path program 1 times [2022-02-20 23:57:30,024 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:30,024 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1225404386] [2022-02-20 23:57:30,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:30,024 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:30,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,101 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:30,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {5814#(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; {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {5815#(= |node_create_~temp~0#1.offset| 0)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {5815#(= |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 {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {5815#(= |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 {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {5815#(= |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 {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {5815#(= |node_create_~temp~0#1.offset| 0)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5816#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {5816#(= 0 |node_create_#res#1.offset|)} assume true; {5816#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,125 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5816#(= 0 |node_create_#res#1.offset|)} {5792#true} #207#return; {5802#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0)} is VALID [2022-02-20 23:57:30,125 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:30,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {5814#(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; {5792#true} is VALID [2022-02-20 23:57:30,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {5792#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5792#true} is VALID [2022-02-20 23:57:30,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5792#true} is VALID [2022-02-20 23:57:30,138 INFO L290 TraceCheckUtils]: 3: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5792#true} is VALID [2022-02-20 23:57:30,138 INFO L290 TraceCheckUtils]: 4: Hoare triple {5792#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5792#true} is VALID [2022-02-20 23:57:30,138 INFO L290 TraceCheckUtils]: 5: Hoare triple {5792#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5792#true} is VALID [2022-02-20 23:57:30,138 INFO L290 TraceCheckUtils]: 6: Hoare triple {5792#true} assume true; {5792#true} is VALID [2022-02-20 23:57:30,139 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {5792#true} {5803#(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|))} #209#return; {5812#(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:30,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {5792#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(23, 2); {5792#true} is VALID [2022-02-20 23:57:30,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {5792#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5792#true} is VALID [2022-02-20 23:57:30,141 INFO L272 TraceCheckUtils]: 2: Hoare triple {5792#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5814#(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,141 INFO L290 TraceCheckUtils]: 3: Hoare triple {5814#(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; {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,141 INFO L290 TraceCheckUtils]: 4: Hoare triple {5815#(= |node_create_~temp~0#1.offset| 0)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {5815#(= |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 {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,142 INFO L290 TraceCheckUtils]: 6: Hoare triple {5815#(= |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 {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {5815#(= |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 {5815#(= |node_create_~temp~0#1.offset| 0)} is VALID [2022-02-20 23:57:30,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {5815#(= |node_create_~temp~0#1.offset| 0)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5816#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {5816#(= 0 |node_create_#res#1.offset|)} assume true; {5816#(= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,143 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5816#(= 0 |node_create_#res#1.offset|)} {5792#true} #207#return; {5802#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| 0)} is VALID [2022-02-20 23:57:30,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {5802#(= |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; {5803#(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:30,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {5803#(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); {5803#(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:30,145 INFO L272 TraceCheckUtils]: 13: Hoare triple {5803#(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); {5814#(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,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {5814#(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; {5792#true} is VALID [2022-02-20 23:57:30,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {5792#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5792#true} is VALID [2022-02-20 23:57:30,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5792#true} is VALID [2022-02-20 23:57:30,145 INFO L290 TraceCheckUtils]: 17: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5792#true} is VALID [2022-02-20 23:57:30,145 INFO L290 TraceCheckUtils]: 18: Hoare triple {5792#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5792#true} is VALID [2022-02-20 23:57:30,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {5792#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5792#true} is VALID [2022-02-20 23:57:30,145 INFO L290 TraceCheckUtils]: 20: Hoare triple {5792#true} assume true; {5792#true} is VALID [2022-02-20 23:57:30,146 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5792#true} {5803#(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|))} #209#return; {5812#(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:30,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {5812#(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; {5812#(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:30,147 INFO L290 TraceCheckUtils]: 23: Hoare triple {5812#(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 {5812#(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:30,148 INFO L290 TraceCheckUtils]: 24: Hoare triple {5812#(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; {5812#(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:30,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {5812#(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 {5813#(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:30,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#(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; {5813#(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:30,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#(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); {5813#(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:30,150 INFO L290 TraceCheckUtils]: 28: Hoare triple {5813#(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); {5793#false} is VALID [2022-02-20 23:57:30,150 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:30,150 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:30,150 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1225404386] [2022-02-20 23:57:30,150 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1225404386] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:30,150 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [41375362] [2022-02-20 23:57:30,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:30,150 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:30,151 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:30,152 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:30,153 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:30,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,269 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:57:30,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:30,282 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:30,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {5792#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(23, 2); {5792#true} is VALID [2022-02-20 23:57:30,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {5792#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5792#true} is VALID [2022-02-20 23:57:30,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {5792#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5792#true} is VALID [2022-02-20 23:57:30,487 INFO L290 TraceCheckUtils]: 3: Hoare triple {5792#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; {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,487 INFO L290 TraceCheckUtils]: 4: Hoare triple {5829#(<= 0 |node_create_~temp~0#1.offset|)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {5829#(<= 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 {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {5829#(<= 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 {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {5829#(<= 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 {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {5829#(<= 0 |node_create_~temp~0#1.offset|)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5845#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {5845#(<= 0 |node_create_#res#1.offset|)} assume true; {5845#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,489 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5845#(<= 0 |node_create_#res#1.offset|)} {5792#true} #207#return; {5852#(<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)} is VALID [2022-02-20 23:57:30,490 INFO L290 TraceCheckUtils]: 11: Hoare triple {5852#(<= 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; {5856#(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:30,490 INFO L290 TraceCheckUtils]: 12: Hoare triple {5856#(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); {5856#(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:30,490 INFO L272 TraceCheckUtils]: 13: Hoare triple {5856#(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); {5792#true} is VALID [2022-02-20 23:57:30,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {5792#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; {5792#true} is VALID [2022-02-20 23:57:30,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {5792#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5792#true} is VALID [2022-02-20 23:57:30,490 INFO L290 TraceCheckUtils]: 16: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5792#true} is VALID [2022-02-20 23:57:30,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5792#true} is VALID [2022-02-20 23:57:30,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {5792#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5792#true} is VALID [2022-02-20 23:57:30,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {5792#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5792#true} is VALID [2022-02-20 23:57:30,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {5792#true} assume true; {5792#true} is VALID [2022-02-20 23:57:30,492 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5792#true} {5856#(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|))} #209#return; {5856#(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:30,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {5856#(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; {5856#(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:30,493 INFO L290 TraceCheckUtils]: 23: Hoare triple {5856#(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 {5856#(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:30,493 INFO L290 TraceCheckUtils]: 24: Hoare triple {5856#(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; {5856#(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:30,494 INFO L290 TraceCheckUtils]: 25: Hoare triple {5856#(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 {5899#(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:30,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {5899#(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; {5899#(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:30,495 INFO L290 TraceCheckUtils]: 27: Hoare triple {5899#(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); {5899#(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:30,495 INFO L290 TraceCheckUtils]: 28: Hoare triple {5899#(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); {5793#false} is VALID [2022-02-20 23:57:30,495 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:30,495 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:30,556 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:57:30,557 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:30,865 INFO L290 TraceCheckUtils]: 28: Hoare triple {5909#(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); {5793#false} is VALID [2022-02-20 23:57:30,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {5909#(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); {5909#(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:30,866 INFO L290 TraceCheckUtils]: 26: Hoare triple {5909#(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; {5909#(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:30,867 INFO L290 TraceCheckUtils]: 25: Hoare triple {5919#(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 {5909#(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:30,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {5919#(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; {5919#(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:30,868 INFO L290 TraceCheckUtils]: 23: Hoare triple {5919#(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 {5919#(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:30,868 INFO L290 TraceCheckUtils]: 22: Hoare triple {5919#(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; {5919#(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:30,869 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5792#true} {5919#(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|))} #209#return; {5919#(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:30,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {5792#true} assume true; {5792#true} is VALID [2022-02-20 23:57:30,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {5792#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5792#true} is VALID [2022-02-20 23:57:30,869 INFO L290 TraceCheckUtils]: 18: Hoare triple {5792#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {5792#true} is VALID [2022-02-20 23:57:30,870 INFO L290 TraceCheckUtils]: 17: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {5792#true} is VALID [2022-02-20 23:57:30,870 INFO L290 TraceCheckUtils]: 16: Hoare triple {5792#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {5792#true} is VALID [2022-02-20 23:57:30,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {5792#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5792#true} is VALID [2022-02-20 23:57:30,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {5792#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; {5792#true} is VALID [2022-02-20 23:57:30,870 INFO L272 TraceCheckUtils]: 13: Hoare triple {5919#(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); {5792#true} is VALID [2022-02-20 23:57:30,870 INFO L290 TraceCheckUtils]: 12: Hoare triple {5919#(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); {5919#(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:30,871 INFO L290 TraceCheckUtils]: 11: Hoare triple {5852#(<= 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; {5919#(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:30,871 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5845#(<= 0 |node_create_#res#1.offset|)} {5792#true} #207#return; {5852#(<= 0 |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset|)} is VALID [2022-02-20 23:57:30,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {5845#(<= 0 |node_create_#res#1.offset|)} assume true; {5845#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,872 INFO L290 TraceCheckUtils]: 8: Hoare triple {5829#(<= 0 |node_create_~temp~0#1.offset|)} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5845#(<= 0 |node_create_#res#1.offset|)} is VALID [2022-02-20 23:57:30,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {5829#(<= 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 {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,873 INFO L290 TraceCheckUtils]: 6: Hoare triple {5829#(<= 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 {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,873 INFO L290 TraceCheckUtils]: 5: Hoare triple {5829#(<= 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 {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,873 INFO L290 TraceCheckUtils]: 4: Hoare triple {5829#(<= 0 |node_create_~temp~0#1.offset|)} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,874 INFO L290 TraceCheckUtils]: 3: Hoare triple {5792#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; {5829#(<= 0 |node_create_~temp~0#1.offset|)} is VALID [2022-02-20 23:57:30,874 INFO L272 TraceCheckUtils]: 2: Hoare triple {5792#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5792#true} is VALID [2022-02-20 23:57:30,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {5792#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5792#true} is VALID [2022-02-20 23:57:30,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {5792#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(23, 2); {5792#true} is VALID [2022-02-20 23:57:30,874 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:30,874 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [41375362] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:30,874 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:30,874 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 15 [2022-02-20 23:57:30,874 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821637150] [2022-02-20 23:57:30,874 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:30,875 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:30,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:30,875 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:30,925 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:30,925 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:57:30,925 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:30,927 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:57:30,928 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:57:30,928 INFO L87 Difference]: Start difference. First operand 144 states and 155 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:31,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:31,929 INFO L93 Difference]: Finished difference Result 151 states and 163 transitions. [2022-02-20 23:57:31,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:57:31,929 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:31,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:31,929 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:31,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 157 transitions. [2022-02-20 23:57:31,931 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:31,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 157 transitions. [2022-02-20 23:57:31,932 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 157 transitions. [2022-02-20 23:57:32,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:32,035 INFO L225 Difference]: With dead ends: 151 [2022-02-20 23:57:32,035 INFO L226 Difference]: Without dead ends: 151 [2022-02-20 23:57:32,036 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:32,036 INFO L933 BasicCegarLoop]: 128 mSDtfsCounter, 28 mSDsluCounter, 995 mSDsCounter, 0 mSdLazyCounter, 396 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 1123 SdHoareTripleChecker+Invalid, 402 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 396 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:32,036 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 1123 Invalid, 402 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 396 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:32,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-02-20 23:57:32,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 144. [2022-02-20 23:57:32,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:32,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 144 states, 82 states have (on average 1.7804878048780488) internal successors, (146), 137 states have internal predecessors, (146), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:32,041 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 144 states, 82 states have (on average 1.7804878048780488) internal successors, (146), 137 states have internal predecessors, (146), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:32,041 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 144 states, 82 states have (on average 1.7804878048780488) internal successors, (146), 137 states have internal predecessors, (146), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:32,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:32,044 INFO L93 Difference]: Finished difference Result 151 states and 163 transitions. [2022-02-20 23:57:32,045 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 163 transitions. [2022-02-20 23:57:32,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:32,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:32,046 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 82 states have (on average 1.7804878048780488) internal successors, (146), 137 states have internal predecessors, (146), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 151 states. [2022-02-20 23:57:32,046 INFO L87 Difference]: Start difference. First operand has 144 states, 82 states have (on average 1.7804878048780488) internal successors, (146), 137 states have internal predecessors, (146), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 151 states. [2022-02-20 23:57:32,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:32,049 INFO L93 Difference]: Finished difference Result 151 states and 163 transitions. [2022-02-20 23:57:32,049 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 163 transitions. [2022-02-20 23:57:32,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:32,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:32,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:32,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:32,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 82 states have (on average 1.7804878048780488) internal successors, (146), 137 states have internal predecessors, (146), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:32,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 154 transitions. [2022-02-20 23:57:32,053 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 154 transitions. Word has length 29 [2022-02-20 23:57:32,053 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:32,053 INFO L470 AbstractCegarLoop]: Abstraction has 144 states and 154 transitions. [2022-02-20 23:57:32,054 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:32,054 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:57:32,054 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:57:32,054 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:32,054 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:32,073 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:32,267 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:32,268 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:32,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:32,268 INFO L85 PathProgramCache]: Analyzing trace with hash 1471598771, now seen corresponding path program 1 times [2022-02-20 23:57:32,268 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:32,268 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707509976] [2022-02-20 23:57:32,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:32,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:32,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,314 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:32,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {6616#(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; {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {6595#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {6595#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L290 TraceCheckUtils]: 3: Hoare triple {6595#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L290 TraceCheckUtils]: 4: Hoare triple {6595#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {6595#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L290 TraceCheckUtils]: 6: Hoare triple {6595#true} assume true; {6595#true} is VALID [2022-02-20 23:57:32,323 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6595#true} {6595#true} #207#return; {6595#true} is VALID [2022-02-20 23:57:32,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:32,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {6616#(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; {6595#true} is VALID [2022-02-20 23:57:32,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {6595#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6595#true} is VALID [2022-02-20 23:57:32,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {6595#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:32,345 INFO L290 TraceCheckUtils]: 3: Hoare triple {6617#(= 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 {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:32,345 INFO L290 TraceCheckUtils]: 4: Hoare triple {6617#(= 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 {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:32,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:32,346 INFO L290 TraceCheckUtils]: 6: Hoare triple {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:32,346 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} {6595#true} #209#return; {6613#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:32,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {6595#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(23, 2); {6595#true} is VALID [2022-02-20 23:57:32,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {6595#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {6595#true} is VALID [2022-02-20 23:57:32,347 INFO L272 TraceCheckUtils]: 2: Hoare triple {6595#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6616#(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,347 INFO L290 TraceCheckUtils]: 3: Hoare triple {6616#(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; {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 4: Hoare triple {6595#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {6595#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {6595#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 7: Hoare triple {6595#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {6595#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {6595#true} assume true; {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6595#true} {6595#true} #207#return; {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {6595#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; {6595#true} is VALID [2022-02-20 23:57:32,348 INFO L290 TraceCheckUtils]: 12: Hoare triple {6595#true} assume !!(dll_circular_create_~len#1 > 1); {6595#true} is VALID [2022-02-20 23:57:32,349 INFO L272 TraceCheckUtils]: 13: Hoare triple {6595#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6616#(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,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {6616#(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; {6595#true} is VALID [2022-02-20 23:57:32,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {6595#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {6595#true} is VALID [2022-02-20 23:57:32,350 INFO L290 TraceCheckUtils]: 16: Hoare triple {6595#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:32,350 INFO L290 TraceCheckUtils]: 17: Hoare triple {6617#(= 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 {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:32,351 INFO L290 TraceCheckUtils]: 18: Hoare triple {6617#(= 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 {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:32,351 INFO L290 TraceCheckUtils]: 19: Hoare triple {6617#(= 1 (select |#valid| |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:32,351 INFO L290 TraceCheckUtils]: 20: Hoare triple {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} assume true; {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:57:32,352 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6618#(= (select |#valid| |node_create_#res#1.base|) 1)} {6595#true} #209#return; {6613#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) 1)} is VALID [2022-02-20 23:57:32,352 INFO L290 TraceCheckUtils]: 22: Hoare triple {6613#(= (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; {6614#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,352 INFO L290 TraceCheckUtils]: 23: Hoare triple {6614#(= (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 {6614#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,353 INFO L290 TraceCheckUtils]: 24: Hoare triple {6614#(= (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; {6614#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,353 INFO L290 TraceCheckUtils]: 25: Hoare triple {6614#(= (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 {6614#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,353 INFO L290 TraceCheckUtils]: 26: Hoare triple {6614#(= (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; {6615#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,354 INFO L290 TraceCheckUtils]: 27: Hoare triple {6615#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {6615#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,354 INFO L290 TraceCheckUtils]: 28: Hoare triple {6615#(= (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 {6615#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:32,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {6615#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {6596#false} is VALID [2022-02-20 23:57:32,354 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:32,355 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:32,355 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707509976] [2022-02-20 23:57:32,355 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [707509976] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:32,355 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:32,355 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:57:32,355 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2042566252] [2022-02-20 23:57:32,355 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:32,356 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:32,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:32,356 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:32,375 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:32,375 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:57:32,375 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:32,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:57:32,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:32,376 INFO L87 Difference]: Start difference. First operand 144 states and 154 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:33,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:33,130 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:57:33,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:57:33,130 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:33,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:33,131 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:33,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 140 transitions. [2022-02-20 23:57:33,132 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:33,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 140 transitions. [2022-02-20 23:57:33,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 140 transitions. [2022-02-20 23:57:33,223 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:33,225 INFO L225 Difference]: With dead ends: 144 [2022-02-20 23:57:33,225 INFO L226 Difference]: Without dead ends: 144 [2022-02-20 23:57:33,225 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:33,225 INFO L933 BasicCegarLoop]: 122 mSDtfsCounter, 23 mSDsluCounter, 353 mSDsCounter, 0 mSdLazyCounter, 448 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 475 SdHoareTripleChecker+Invalid, 452 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 448 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:33,225 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 475 Invalid, 452 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 448 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:33,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-02-20 23:57:33,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 143. [2022-02-20 23:57:33,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:33,228 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 143 states, 82 states have (on average 1.7682926829268293) internal successors, (145), 136 states have internal predecessors, (145), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:33,228 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 143 states, 82 states have (on average 1.7682926829268293) internal successors, (145), 136 states have internal predecessors, (145), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:33,228 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 143 states, 82 states have (on average 1.7682926829268293) internal successors, (145), 136 states have internal predecessors, (145), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:33,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:33,230 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:57:33,230 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:57:33,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:33,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:33,230 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 82 states have (on average 1.7682926829268293) internal successors, (145), 136 states have internal predecessors, (145), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 144 states. [2022-02-20 23:57:33,231 INFO L87 Difference]: Start difference. First operand has 143 states, 82 states have (on average 1.7682926829268293) internal successors, (145), 136 states have internal predecessors, (145), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 144 states. [2022-02-20 23:57:33,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:33,235 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2022-02-20 23:57:33,235 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 154 transitions. [2022-02-20 23:57:33,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:33,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:33,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:33,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:33,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 82 states have (on average 1.7682926829268293) internal successors, (145), 136 states have internal predecessors, (145), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:33,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 153 transitions. [2022-02-20 23:57:33,237 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 153 transitions. Word has length 30 [2022-02-20 23:57:33,237 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:33,237 INFO L470 AbstractCegarLoop]: Abstraction has 143 states and 153 transitions. [2022-02-20 23:57:33,237 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:33,237 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 153 transitions. [2022-02-20 23:57:33,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:57:33,238 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:33,238 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:33,238 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:57:33,238 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:33,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:33,238 INFO L85 PathProgramCache]: Analyzing trace with hash 1471598772, now seen corresponding path program 1 times [2022-02-20 23:57:33,238 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:33,238 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1677180448] [2022-02-20 23:57:33,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:33,239 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:33,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:33,295 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:33,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 0: Hoare triple {7222#(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; {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {7201#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 2: Hoare triple {7201#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 3: Hoare triple {7201#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 4: Hoare triple {7201#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 5: Hoare triple {7201#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L290 TraceCheckUtils]: 6: Hoare triple {7201#true} assume true; {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7201#true} {7201#true} #207#return; {7201#true} is VALID [2022-02-20 23:57:33,306 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:33,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:33,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {7222#(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; {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {7223#(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); {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {7223#(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 {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {7223#(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 {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,341 INFO L290 TraceCheckUtils]: 4: Hoare triple {7223#(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 {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {7223#(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; {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:33,341 INFO L290 TraceCheckUtils]: 6: Hoare triple {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:33,342 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {7201#true} #209#return; {7219#(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:33,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {7201#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(23, 2); {7201#true} is VALID [2022-02-20 23:57:33,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {7201#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {7201#true} is VALID [2022-02-20 23:57:33,343 INFO L272 TraceCheckUtils]: 2: Hoare triple {7201#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {7222#(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:33,343 INFO L290 TraceCheckUtils]: 3: Hoare triple {7222#(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; {7201#true} is VALID [2022-02-20 23:57:33,343 INFO L290 TraceCheckUtils]: 4: Hoare triple {7201#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {7201#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 6: Hoare triple {7201#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {7201#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {7201#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {7201#true} assume true; {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7201#true} {7201#true} #207#return; {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {7201#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; {7201#true} is VALID [2022-02-20 23:57:33,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {7201#true} assume !!(dll_circular_create_~len#1 > 1); {7201#true} is VALID [2022-02-20 23:57:33,345 INFO L272 TraceCheckUtils]: 13: Hoare triple {7201#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7222#(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:33,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {7222#(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; {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {7223#(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); {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {7223#(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 {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,346 INFO L290 TraceCheckUtils]: 17: Hoare triple {7223#(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 {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {7223#(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 {7223#(and (= (select |#length| |node_create_~temp~0#1.base|) 12) (= |node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:33,352 INFO L290 TraceCheckUtils]: 19: Hoare triple {7223#(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; {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:33,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} assume true; {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} is VALID [2022-02-20 23:57:33,353 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7224#(and (= (select |#length| |node_create_#res#1.base|) 12) (= 0 |node_create_#res#1.offset|))} {7201#true} #209#return; {7219#(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:33,353 INFO L290 TraceCheckUtils]: 22: Hoare triple {7219#(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; {7220#(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:33,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {7220#(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 {7220#(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:33,354 INFO L290 TraceCheckUtils]: 24: Hoare triple {7220#(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; {7220#(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:33,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {7220#(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 {7220#(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:33,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {7220#(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; {7221#(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:33,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {7221#(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); {7221#(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:33,356 INFO L290 TraceCheckUtils]: 28: Hoare triple {7221#(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 {7221#(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:33,357 INFO L290 TraceCheckUtils]: 29: Hoare triple {7221#(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); {7202#false} is VALID [2022-02-20 23:57:33,357 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:33,357 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:33,357 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1677180448] [2022-02-20 23:57:33,357 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1677180448] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:33,357 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:33,357 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:57:33,357 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2117002573] [2022-02-20 23:57:33,358 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:33,358 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:33,358 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:33,358 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:33,379 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:33,379 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:57:33,379 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:33,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:57:33,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:33,380 INFO L87 Difference]: Start difference. First operand 143 states and 153 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:34,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,124 INFO L93 Difference]: Finished difference Result 142 states and 152 transitions. [2022-02-20 23:57:34,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:57:34,124 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:34,124 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:34,124 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:34,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 138 transitions. [2022-02-20 23:57:34,125 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:34,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 138 transitions. [2022-02-20 23:57:34,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 138 transitions. [2022-02-20 23:57:34,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:34,221 INFO L225 Difference]: With dead ends: 142 [2022-02-20 23:57:34,221 INFO L226 Difference]: Without dead ends: 142 [2022-02-20 23:57:34,221 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 4 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:34,221 INFO L933 BasicCegarLoop]: 122 mSDtfsCounter, 20 mSDsluCounter, 383 mSDsCounter, 0 mSdLazyCounter, 414 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 505 SdHoareTripleChecker+Invalid, 415 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 414 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:34,222 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 505 Invalid, 415 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 414 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:57:34,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-02-20 23:57:34,223 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 142. [2022-02-20 23:57:34,223 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:34,224 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 142 states, 82 states have (on average 1.7560975609756098) internal successors, (144), 135 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:34,224 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 142 states, 82 states have (on average 1.7560975609756098) internal successors, (144), 135 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:34,224 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 142 states, 82 states have (on average 1.7560975609756098) internal successors, (144), 135 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:34,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,226 INFO L93 Difference]: Finished difference Result 142 states and 152 transitions. [2022-02-20 23:57:34,226 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 152 transitions. [2022-02-20 23:57:34,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:34,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:34,226 INFO L74 IsIncluded]: Start isIncluded. First operand has 142 states, 82 states have (on average 1.7560975609756098) internal successors, (144), 135 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 142 states. [2022-02-20 23:57:34,227 INFO L87 Difference]: Start difference. First operand has 142 states, 82 states have (on average 1.7560975609756098) internal successors, (144), 135 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 142 states. [2022-02-20 23:57:34,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,229 INFO L93 Difference]: Finished difference Result 142 states and 152 transitions. [2022-02-20 23:57:34,229 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 152 transitions. [2022-02-20 23:57:34,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:34,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:34,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:34,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:34,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 142 states, 82 states have (on average 1.7560975609756098) internal successors, (144), 135 states have internal predecessors, (144), 4 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:34,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 152 transitions. [2022-02-20 23:57:34,231 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 152 transitions. Word has length 30 [2022-02-20 23:57:34,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:34,231 INFO L470 AbstractCegarLoop]: Abstraction has 142 states and 152 transitions. [2022-02-20 23:57:34,232 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:34,232 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 152 transitions. [2022-02-20 23:57:34,232 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 23:57:34,232 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:34,232 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:34,232 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-02-20 23:57:34,232 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:34,233 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:34,233 INFO L85 PathProgramCache]: Analyzing trace with hash 939320083, now seen corresponding path program 1 times [2022-02-20 23:57:34,233 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:34,233 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1130859754] [2022-02-20 23:57:34,233 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:34,233 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:34,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:34,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,316 INFO L290 TraceCheckUtils]: 0: Hoare triple {7828#(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; {7800#true} is VALID [2022-02-20 23:57:34,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,317 INFO L290 TraceCheckUtils]: 3: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,317 INFO L290 TraceCheckUtils]: 4: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,317 INFO L290 TraceCheckUtils]: 6: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,317 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7800#true} {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #207#return; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,318 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:34,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {7828#(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; {7800#true} is VALID [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 3: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 4: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 5: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,332 INFO L290 TraceCheckUtils]: 6: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,333 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7800#true} {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #209#return; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-02-20 23:57:34,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {7828#(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; {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 3: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 4: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 6: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,341 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {7800#true} {7801#false} #209#return; {7801#false} is VALID [2022-02-20 23:57:34,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {7800#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(23, 2); {7800#true} is VALID [2022-02-20 23:57:34,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {7800#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,345 INFO L272 TraceCheckUtils]: 2: Hoare triple {7802#(= (+ (- 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); {7828#(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,345 INFO L290 TraceCheckUtils]: 3: Hoare triple {7828#(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; {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L290 TraceCheckUtils]: 4: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L290 TraceCheckUtils]: 5: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L290 TraceCheckUtils]: 6: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L290 TraceCheckUtils]: 7: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,345 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7800#true} {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #207#return; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {7802#(= (+ (- 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; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,346 INFO L290 TraceCheckUtils]: 12: Hoare triple {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} assume !!(dll_circular_create_~len#1 > 1); {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,347 INFO L272 TraceCheckUtils]: 13: Hoare triple {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7828#(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,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {7828#(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; {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L290 TraceCheckUtils]: 16: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L290 TraceCheckUtils]: 17: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,347 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7800#true} {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} #209#return; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 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; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 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 {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,349 INFO L290 TraceCheckUtils]: 24: Hoare triple {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 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 {7802#(= (+ (- 2) |ULTIMATE.start_dll_circular_create_~len#1|) 0)} is VALID [2022-02-20 23:57:34,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {7802#(= (+ (- 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_~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; {7819#(<= |ULTIMATE.start_dll_circular_create_~len#1| 1)} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 27: Hoare triple {7819#(<= |ULTIMATE.start_dll_circular_create_~len#1| 1)} assume !!(dll_circular_create_~len#1 > 1); {7801#false} is VALID [2022-02-20 23:57:34,350 INFO L272 TraceCheckUtils]: 28: Hoare triple {7801#false} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7828#(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,350 INFO L290 TraceCheckUtils]: 29: Hoare triple {7828#(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; {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 33: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 34: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,350 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7800#true} {7801#false} #209#return; {7801#false} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 37: Hoare triple {7801#false} 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; {7801#false} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 38: Hoare triple {7801#false} 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 {7801#false} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 39: Hoare triple {7801#false} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {7801#false} is VALID [2022-02-20 23:57:34,350 INFO L290 TraceCheckUtils]: 40: Hoare triple {7801#false} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {7801#false} is VALID [2022-02-20 23:57:34,350 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 23:57:34,351 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:34,351 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1130859754] [2022-02-20 23:57:34,351 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1130859754] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:34,351 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [999013392] [2022-02-20 23:57:34,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:34,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:34,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:34,365 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:34,366 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:34,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,514 INFO L263 TraceCheckSpWp]: Trace formula consists of 373 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:57:34,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:34,532 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:34,654 INFO L290 TraceCheckUtils]: 0: Hoare triple {7800#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(23, 2); {7800#true} is VALID [2022-02-20 23:57:34,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {7800#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,654 INFO L272 TraceCheckUtils]: 2: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {7800#true} is VALID [2022-02-20 23:57:34,654 INFO L290 TraceCheckUtils]: 3: Hoare triple {7800#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; {7800#true} is VALID [2022-02-20 23:57:34,654 INFO L290 TraceCheckUtils]: 4: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,655 INFO L290 TraceCheckUtils]: 5: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,655 INFO L290 TraceCheckUtils]: 6: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,655 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7800#true} {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} #207#return; {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 11: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} 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; {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 12: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} assume !!(dll_circular_create_~len#1 > 1); {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,656 INFO L272 TraceCheckUtils]: 13: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {7800#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; {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 15: Hoare triple {7800#true} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 16: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {7800#true} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {7800#true} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {7800#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7800#true} is VALID [2022-02-20 23:57:34,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {7800#true} assume true; {7800#true} is VALID [2022-02-20 23:57:34,657 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7800#true} {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} #209#return; {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} 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; {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} 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 {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,658 INFO L290 TraceCheckUtils]: 24: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,658 INFO L290 TraceCheckUtils]: 25: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} 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 {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 26: Hoare triple {7835#(<= |ULTIMATE.start_dll_circular_create_~len#1| 2)} 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; {7819#(<= |ULTIMATE.start_dll_circular_create_~len#1| 1)} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {7819#(<= |ULTIMATE.start_dll_circular_create_~len#1| 1)} assume !!(dll_circular_create_~len#1 > 1); {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L272 TraceCheckUtils]: 28: Hoare triple {7801#false} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 29: Hoare triple {7801#false} ~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; {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {7801#false} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {7801#false} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, ~temp~0#1.offset, 4); srcloc: L577-1 {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {7801#false} SUMMARY for call write~$Pointer$(0, 0, ~temp~0#1.base, 4 + ~temp~0#1.offset, 4); srcloc: L580 {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 33: Hoare triple {7801#false} SUMMARY for call write~int(~data#1, ~temp~0#1.base, 8 + ~temp~0#1.offset, 4); srcloc: L581 {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 34: Hoare triple {7801#false} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {7801#false} assume true; {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7801#false} {7801#false} #209#return; {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 37: Hoare triple {7801#false} 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; {7801#false} is VALID [2022-02-20 23:57:34,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {7801#false} 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 {7801#false} is VALID [2022-02-20 23:57:34,660 INFO L290 TraceCheckUtils]: 39: Hoare triple {7801#false} assume dll_circular_create_~head~0#1.base != 0 || dll_circular_create_~head~0#1.offset != 0; {7801#false} is VALID [2022-02-20 23:57:34,660 INFO L290 TraceCheckUtils]: 40: Hoare triple {7801#false} assume !(1 == #valid[dll_circular_create_~head~0#1.base]); {7801#false} is VALID [2022-02-20 23:57:34,660 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 22 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:57:34,660 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:34,660 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [999013392] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:34,660 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:57:34,660 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 6 [2022-02-20 23:57:34,660 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1588855742] [2022-02-20 23:57:34,660 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:34,660 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-02-20 23:57:34,661 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:34,661 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:34,683 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:34,683 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:57:34,684 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:34,684 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:57:34,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:34,684 INFO L87 Difference]: Start difference. First operand 142 states and 152 transitions. Second operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:34,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,810 INFO L93 Difference]: Finished difference Result 130 states and 136 transitions. [2022-02-20 23:57:34,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:57:34,810 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 41 [2022-02-20 23:57:34,811 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:34,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:34,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 130 transitions. [2022-02-20 23:57:34,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:34,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 130 transitions. [2022-02-20 23:57:34,813 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 130 transitions. [2022-02-20 23:57:34,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:34,900 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:57:34,900 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:57:34,900 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:34,901 INFO L933 BasicCegarLoop]: 126 mSDtfsCounter, 214 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 215 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:34,901 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [215 Valid, 142 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:34,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:57:34,903 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 130. [2022-02-20 23:57:34,903 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:34,903 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 130 states, 75 states have (on average 1.7333333333333334) internal successors, (130), 124 states have internal predecessors, (130), 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:34,903 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 130 states, 75 states have (on average 1.7333333333333334) internal successors, (130), 124 states have internal predecessors, (130), 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:34,903 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 130 states, 75 states have (on average 1.7333333333333334) internal successors, (130), 124 states have internal predecessors, (130), 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:34,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,905 INFO L93 Difference]: Finished difference Result 130 states and 136 transitions. [2022-02-20 23:57:34,905 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 136 transitions. [2022-02-20 23:57:34,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:34,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:34,905 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 75 states have (on average 1.7333333333333334) internal successors, (130), 124 states have internal predecessors, (130), 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 130 states. [2022-02-20 23:57:34,905 INFO L87 Difference]: Start difference. First operand has 130 states, 75 states have (on average 1.7333333333333334) internal successors, (130), 124 states have internal predecessors, (130), 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 130 states. [2022-02-20 23:57:34,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:34,914 INFO L93 Difference]: Finished difference Result 130 states and 136 transitions. [2022-02-20 23:57:34,914 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 136 transitions. [2022-02-20 23:57:34,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:34,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:34,915 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:34,915 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:34,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 75 states have (on average 1.7333333333333334) internal successors, (130), 124 states have internal predecessors, (130), 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:34,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 136 transitions. [2022-02-20 23:57:34,918 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 136 transitions. Word has length 41 [2022-02-20 23:57:34,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:34,918 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 136 transitions. [2022-02-20 23:57:34,918 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.0) internal successors, (28), 4 states have internal predecessors, (28), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:57:34,918 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 136 transitions. [2022-02-20 23:57:34,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:57:34,919 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:34,919 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 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:57:34,939 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:35,135 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:35,135 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:35,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:35,136 INFO L85 PathProgramCache]: Analyzing trace with hash -566913869, now seen corresponding path program 1 times [2022-02-20 23:57:35,136 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:35,136 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1196078926] [2022-02-20 23:57:35,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:35,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:35,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:57:35,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {8501#(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; {8502#(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:35,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {8502#(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); {8502#(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:35,284 INFO L290 TraceCheckUtils]: 2: Hoare triple {8502#(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 {8502#(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:35,284 INFO L290 TraceCheckUtils]: 3: Hoare triple {8502#(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 {8502#(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:35,285 INFO L290 TraceCheckUtils]: 4: Hoare triple {8502#(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 {8502#(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:35,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {8502#(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; {8503#(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:35,287 INFO L290 TraceCheckUtils]: 6: Hoare triple {8503#(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; {8503#(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:35,288 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {8503#(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|))} {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #207#return; {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:57:35,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 23:57:35,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,350 INFO L290 TraceCheckUtils]: 0: Hoare triple {8501#(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; {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (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 {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,351 INFO L290 TraceCheckUtils]: 3: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (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 {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,352 INFO L290 TraceCheckUtils]: 4: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (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 {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:35,353 INFO L290 TraceCheckUtils]: 6: Hoare triple {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:35,354 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #209#return; {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 32 [2022-02-20 23:57:35,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,376 INFO L290 TraceCheckUtils]: 0: Hoare triple {8501#(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; {8502#(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:35,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {8502#(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); {8502#(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:35,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {8502#(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 {8502#(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:35,378 INFO L290 TraceCheckUtils]: 3: Hoare triple {8502#(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 {8502#(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:35,378 INFO L290 TraceCheckUtils]: 4: Hoare triple {8502#(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 {8502#(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:35,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {8502#(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; {8503#(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:35,380 INFO L290 TraceCheckUtils]: 6: Hoare triple {8503#(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; {8503#(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:35,381 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {8503#(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|))} {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} #211#return; {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} is VALID [2022-02-20 23:57:35,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {8472#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(23, 2); {8472#true} is VALID [2022-02-20 23:57:35,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {8472#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:57:35,383 INFO L272 TraceCheckUtils]: 2: Hoare triple {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |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); {8501#(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,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {8501#(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; {8502#(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:35,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {8502#(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); {8502#(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:35,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {8502#(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 {8502#(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:35,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {8502#(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 {8502#(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:35,388 INFO L290 TraceCheckUtils]: 7: Hoare triple {8502#(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 {8502#(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:35,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {8502#(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; {8503#(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:35,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {8503#(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; {8503#(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:35,390 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8503#(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|))} {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #207#return; {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:57:35,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |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; {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:57:35,391 INFO L290 TraceCheckUtils]: 12: Hoare triple {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(dll_circular_create_~len#1 > 1); {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:57:35,392 INFO L272 TraceCheckUtils]: 13: Hoare triple {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |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); {8501#(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,392 INFO L290 TraceCheckUtils]: 14: Hoare triple {8501#(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; {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} assume !(0 == ~temp~0#1.base && 0 == ~temp~0#1.offset); {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,393 INFO L290 TraceCheckUtils]: 16: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (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 {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,394 INFO L290 TraceCheckUtils]: 17: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (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 {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (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 {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} is VALID [2022-02-20 23:57:35,395 INFO L290 TraceCheckUtils]: 19: Hoare triple {8504#(and (<= (+ |node_create_~temp~0#1.base| 1) |#StackHeapBarrier|) (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| (select |#valid| |node_create_~temp~0#1.base|))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:35,396 INFO L290 TraceCheckUtils]: 20: Hoare triple {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} assume true; {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} is VALID [2022-02-20 23:57:35,397 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8505#(and (or (<= (+ (@diff |old(#valid)| |#valid|) 1) |#StackHeapBarrier|) (= |old(#valid)| |#valid|)) (= (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|))) |#valid|))} {8474#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} #209#return; {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,397 INFO L290 TraceCheckUtils]: 22: Hoare triple {8491#(= (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; {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,397 INFO L290 TraceCheckUtils]: 23: Hoare triple {8491#(= (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 {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,397 INFO L290 TraceCheckUtils]: 24: Hoare triple {8491#(= (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; {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,398 INFO L290 TraceCheckUtils]: 25: Hoare triple {8491#(= (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 {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,398 INFO L290 TraceCheckUtils]: 26: Hoare triple {8491#(= (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; {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,398 INFO L290 TraceCheckUtils]: 27: Hoare triple {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_circular_create_~len#1 > 1); {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,399 INFO L290 TraceCheckUtils]: 28: Hoare triple {8491#(= (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 {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {8491#(= (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 {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {8491#(= (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; {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:35,400 INFO L290 TraceCheckUtils]: 31: Hoare triple {8491#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret15#1.base, main_#t~ret15#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~ret15#1.base, main_#t~ret15#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret15#1.base, main_#t~ret15#1.offset;main_~uneq~0#1 := 5;assume { :begin_inline_dll_circular_append } true;dll_circular_append_#in~head#1.base, dll_circular_append_#in~head#1.offset, dll_circular_append_#in~data#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1;havoc dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset, dll_circular_append_#t~mem10#1.base, dll_circular_append_#t~mem10#1.offset, dll_circular_append_#t~mem11#1.base, dll_circular_append_#t~mem11#1.offset, dll_circular_append_#t~mem12#1.base, dll_circular_append_#t~mem12#1.offset, dll_circular_append_#t~mem13#1.base, dll_circular_append_#t~mem13#1.offset, dll_circular_append_#t~mem14#1.base, dll_circular_append_#t~mem14#1.offset, dll_circular_append_~last~1#1.base, dll_circular_append_~last~1#1.offset, dll_circular_append_~head#1.base, dll_circular_append_~head#1.offset, dll_circular_append_~data#1, dll_circular_append_~new_last~0#1.base, dll_circular_append_~new_last~0#1.offset;dll_circular_append_~head#1.base, dll_circular_append_~head#1.offset := dll_circular_append_#in~head#1.base, dll_circular_append_#in~head#1.offset;dll_circular_append_~data#1 := dll_circular_append_#in~data#1; {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} is VALID [2022-02-20 23:57:35,400 INFO L272 TraceCheckUtils]: 32: Hoare triple {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} call dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset := node_create(dll_circular_append_~data#1); {8501#(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,401 INFO L290 TraceCheckUtils]: 33: Hoare triple {8501#(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; {8502#(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:35,401 INFO L290 TraceCheckUtils]: 34: Hoare triple {8502#(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); {8502#(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:35,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {8502#(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 {8502#(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:35,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {8502#(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 {8502#(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:35,403 INFO L290 TraceCheckUtils]: 37: Hoare triple {8502#(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 {8502#(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:35,404 INFO L290 TraceCheckUtils]: 38: Hoare triple {8502#(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; {8503#(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:35,404 INFO L290 TraceCheckUtils]: 39: Hoare triple {8503#(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; {8503#(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:35,405 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8503#(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|))} {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} #211#return; {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} is VALID [2022-02-20 23:57:35,406 INFO L290 TraceCheckUtils]: 41: Hoare triple {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} dll_circular_append_~new_last~0#1.base, dll_circular_append_~new_last~0#1.offset := dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset;havoc dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset; {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} is VALID [2022-02-20 23:57:35,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {8492#(= (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|) 1)} assume !(1 == #valid[dll_circular_append_~head#1.base]); {8473#false} is VALID [2022-02-20 23:57:35,406 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 23:57:35,406 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:35,406 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1196078926] [2022-02-20 23:57:35,406 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1196078926] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:35,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1331065052] [2022-02-20 23:57:35,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:35,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:35,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:35,408 INFO L229 MonitoredProcess]: Starting monitored process 8 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,409 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 23:57:35,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,565 INFO L263 TraceCheckSpWp]: Trace formula consists of 410 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 23:57:35,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:35,587 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:35,600 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:35,654 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:35,879 WARN L325 FreeRefinementEngine]: Global settings require throwing the following exception [2022-02-20 23:57:35,902 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:36,079 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:36,080 FATAL L? ?]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: line 333541 column 46: unknown constant v_#valid_BEFORE_CALL_10 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:36,083 INFO L158 Benchmark]: Toolchain (without parser) took 18906.02ms. Allocated memory was 88.1MB in the beginning and 188.7MB in the end (delta: 100.7MB). Free memory was 48.7MB in the beginning and 106.1MB in the end (delta: -57.3MB). Peak memory consumption was 45.2MB. Max. memory is 16.1GB. [2022-02-20 23:57:36,083 INFO L158 Benchmark]: CDTParser took 0.17ms. Allocated memory is still 88.1MB. Free memory was 66.0MB in the beginning and 65.9MB in the end (delta: 84.0kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:57:36,083 INFO L158 Benchmark]: CACSL2BoogieTranslator took 423.19ms. Allocated memory is still 88.1MB. Free memory was 48.6MB in the beginning and 53.5MB in the end (delta: -4.9MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 23:57:36,084 INFO L158 Benchmark]: Boogie Procedure Inliner took 73.36ms. Allocated memory is still 88.1MB. Free memory was 53.5MB in the beginning and 50.8MB in the end (delta: 2.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 23:57:36,084 INFO L158 Benchmark]: Boogie Preprocessor took 39.43ms. Allocated memory is still 88.1MB. Free memory was 50.8MB in the beginning and 48.2MB in the end (delta: 2.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2022-02-20 23:57:36,084 INFO L158 Benchmark]: RCFGBuilder took 686.66ms. Allocated memory was 88.1MB in the beginning and 107.0MB in the end (delta: 18.9MB). Free memory was 48.2MB in the beginning and 70.1MB in the end (delta: -21.9MB). Peak memory consumption was 22.7MB. Max. memory is 16.1GB. [2022-02-20 23:57:36,084 INFO L158 Benchmark]: TraceAbstraction took 17676.54ms. Allocated memory was 107.0MB in the beginning and 188.7MB in the end (delta: 81.8MB). Free memory was 70.0MB in the beginning and 106.1MB in the end (delta: -36.1MB). Peak memory consumption was 47.8MB. Max. memory is 16.1GB. [2022-02-20 23:57:36,085 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.17ms. Allocated memory is still 88.1MB. Free memory was 66.0MB in the beginning and 65.9MB in the end (delta: 84.0kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 423.19ms. Allocated memory is still 88.1MB. Free memory was 48.6MB in the beginning and 53.5MB in the end (delta: -4.9MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 73.36ms. Allocated memory is still 88.1MB. Free memory was 53.5MB in the beginning and 50.8MB in the end (delta: 2.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 39.43ms. Allocated memory is still 88.1MB. Free memory was 50.8MB in the beginning and 48.2MB in the end (delta: 2.5MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 686.66ms. Allocated memory was 88.1MB in the beginning and 107.0MB in the end (delta: 18.9MB). Free memory was 48.2MB in the beginning and 70.1MB in the end (delta: -21.9MB). Peak memory consumption was 22.7MB. Max. memory is 16.1GB. * TraceAbstraction took 17676.54ms. Allocated memory was 107.0MB in the beginning and 188.7MB in the end (delta: 81.8MB). Free memory was 70.0MB in the beginning and 106.1MB in the end (delta: -36.1MB). Peak memory consumption was 47.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: line 333541 column 46: unknown constant v_#valid_BEFORE_CALL_10 de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: line 333541 column 46: unknown constant v_#valid_BEFORE_CALL_10: 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:36,100 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with 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_append_unequal.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 9aabbeff87ba819b44dc608a3105d0ba81b71cd88693ecf2e6bf3860a7863e64 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:57:37,862 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:57:37,863 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:57:37,884 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:57:37,884 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:57:37,887 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:57:37,888 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:57:37,892 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:57:37,894 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:57:37,900 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:57:37,901 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:57:37,902 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:57:37,909 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:57:37,913 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:57:37,914 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:57:37,918 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:57:37,919 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:57:37,919 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:57:37,921 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:57:37,926 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:57:37,927 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:57:37,928 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:57:37,930 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:57:37,931 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:57:37,935 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:57:37,936 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:57:37,936 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:57:37,937 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:57:37,938 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:57:37,938 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:57:37,938 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:57:37,939 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:57:37,940 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:57:37,941 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:57:37,942 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:57:37,942 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:57:37,943 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:57:37,943 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:57:37,944 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:57:37,945 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:57:37,945 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:57:37,946 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:37,979 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:57:37,980 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:57:37,981 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:57:37,981 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:57:37,982 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:57:37,982 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:57:37,983 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:57:37,983 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:57:37,983 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:57:37,984 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:57:37,984 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:57:37,984 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:57:37,985 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:57:37,985 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:57:37,985 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:57:37,985 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:57:37,985 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:57:37,986 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:57:37,986 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:57:37,986 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:57:37,986 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:57:37,986 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:57:37,986 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:57:37,987 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:57:37,987 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:57:37,987 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:57:37,987 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:57:37,987 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:37,988 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:57:37,988 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:57:37,988 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:57:37,988 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:57:37,989 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:57:37,989 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 -> 9aabbeff87ba819b44dc608a3105d0ba81b71cd88693ecf2e6bf3860a7863e64 [2022-02-20 23:57:38,268 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:57:38,285 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:57:38,287 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:57:38,288 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:57:38,289 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:57:38,290 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/dll2c_append_unequal.i [2022-02-20 23:57:38,332 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/61b7d8d68/6b0d41df309a4df3b79f161bfdb71b0b/FLAGa076aed3a [2022-02-20 23:57:38,755 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:57:38,755 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/dll2c_append_unequal.i [2022-02-20 23:57:38,766 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/61b7d8d68/6b0d41df309a4df3b79f161bfdb71b0b/FLAGa076aed3a [2022-02-20 23:57:39,147 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/61b7d8d68/6b0d41df309a4df3b79f161bfdb71b0b [2022-02-20 23:57:39,149 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:57:39,150 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:57:39,153 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:39,153 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:57:39,158 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:57:39,159 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:39" (1/1) ... [2022-02-20 23:57:39,160 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@641b6435 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:39, skipping insertion in model container [2022-02-20 23:57:39,160 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:39" (1/1) ... [2022-02-20 23:57:39,165 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:57:39,206 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:57:39,452 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_append_unequal.i[24672,24685] [2022-02-20 23:57:39,454 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:39,464 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:57:39,510 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_append_unequal.i[24672,24685] [2022-02-20 23:57:39,512 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:39,542 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:57:39,542 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:39 WrapperNode [2022-02-20 23:57:39,542 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:39,543 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:39,543 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:57:39,544 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:57:39,549 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:39" (1/1) ... [2022-02-20 23:57:39,572 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:39" (1/1) ... [2022-02-20 23:57:39,597 INFO L137 Inliner]: procedures = 130, calls = 49, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 153 [2022-02-20 23:57:39,597 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:39,598 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:57:39,598 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:57:39,598 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:57:39,604 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:39" (1/1) ... [2022-02-20 23:57:39,604 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:39" (1/1) ... [2022-02-20 23:57:39,622 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:39" (1/1) ... [2022-02-20 23:57:39,623 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:39" (1/1) ... [2022-02-20 23:57:39,643 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:39" (1/1) ... [2022-02-20 23:57:39,655 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:39" (1/1) ... [2022-02-20 23:57:39,657 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:39" (1/1) ... [2022-02-20 23:57:39,666 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:57:39,667 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:57:39,667 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:57:39,668 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:57:39,668 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:39" (1/1) ... [2022-02-20 23:57:39,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:39,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:39,694 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:39,698 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:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2022-02-20 23:57:39,720 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:57:39,720 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:57:39,721 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:57:39,721 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:57:39,721 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:57:39,721 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:57:39,721 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:57:39,831 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:57:39,832 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:57:40,447 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:57:40,459 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:57:40,459 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:57:40,460 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:40 BoogieIcfgContainer [2022-02-20 23:57:40,461 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:57:40,462 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:57:40,463 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:57:40,465 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:57:40,465 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:57:39" (1/3) ... [2022-02-20 23:57:40,466 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29810c94 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:40, skipping insertion in model container [2022-02-20 23:57:40,466 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:39" (2/3) ... [2022-02-20 23:57:40,467 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29810c94 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:40, skipping insertion in model container [2022-02-20 23:57:40,467 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:40" (3/3) ... [2022-02-20 23:57:40,468 INFO L111 eAbstractionObserver]: Analyzing ICFG dll2c_append_unequal.i [2022-02-20 23:57:40,471 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:57:40,472 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 64 error locations. [2022-02-20 23:57:40,506 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:57:40,510 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:40,511 INFO L340 AbstractCegarLoop]: Starting to check reachability of 64 error locations. [2022-02-20 23:57:40,527 INFO L276 IsEmpty]: Start isEmpty. Operand has 138 states, 69 states have (on average 2.1159420289855073) internal successors, (146), 133 states have internal predecessors, (146), 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,532 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:40,532 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:40,533 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:40,533 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting node_createErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:40,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:40,542 INFO L85 PathProgramCache]: Analyzing trace with hash 895672562, now seen corresponding path program 1 times [2022-02-20 23:57:40,549 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:40,550 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [919467150] [2022-02-20 23:57:40,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:40,550 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:40,550 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:40,552 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:40,553 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:40,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,634 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:57:40,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:40,659 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:40,718 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:40,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {141#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(23bv32, 2bv32); {141#true} is VALID [2022-02-20 23:57:40,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {141#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {141#true} is VALID [2022-02-20 23:57:40,739 INFO L272 TraceCheckUtils]: 2: Hoare triple {141#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {141#true} is VALID [2022-02-20 23:57:40,740 INFO L290 TraceCheckUtils]: 3: Hoare triple {141#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; {155#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:40,741 INFO L290 TraceCheckUtils]: 4: Hoare triple {155#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {155#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:40,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {155#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[~temp~0#1.base]); {142#false} is VALID [2022-02-20 23:57:40,743 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:40,743 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:40,743 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:40,744 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [919467150] [2022-02-20 23:57:40,744 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [919467150] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:40,744 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:40,744 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:40,748 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734371330] [2022-02-20 23:57:40,748 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:40,752 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:40,754 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:40,756 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:40,769 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:40,770 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:40,770 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:40,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:40,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:40,794 INFO L87 Difference]: Start difference. First operand has 138 states, 69 states have (on average 2.1159420289855073) internal successors, (146), 133 states have internal predecessors, (146), 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 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:41,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:41,418 INFO L93 Difference]: Finished difference Result 135 states and 145 transitions. [2022-02-20 23:57:41,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:41,419 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:41,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:41,420 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:41,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 152 transitions. [2022-02-20 23:57:41,427 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:41,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 152 transitions. [2022-02-20 23:57:41,434 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 152 transitions. [2022-02-20 23:57:41,592 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:41,601 INFO L225 Difference]: With dead ends: 135 [2022-02-20 23:57:41,601 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:57:41,602 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:41,604 INFO L933 BasicCegarLoop]: 136 mSDtfsCounter, 10 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 207 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:41,605 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 207 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:41,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:57:41,626 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-02-20 23:57:41,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:41,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:41,629 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:41,629 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:41,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:41,636 INFO L93 Difference]: Finished difference Result 132 states and 141 transitions. [2022-02-20 23:57:41,636 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 141 transitions. [2022-02-20 23:57:41,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:41,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:41,638 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:41,638 INFO L87 Difference]: Start difference. First operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:41,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:41,644 INFO L93 Difference]: Finished difference Result 132 states and 141 transitions. [2022-02-20 23:57:41,644 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 141 transitions. [2022-02-20 23:57:41,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:41,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:41,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:41,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:41,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 67 states have (on average 2.014925373134328) internal successors, (135), 127 states have internal predecessors, (135), 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:41,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 141 transitions. [2022-02-20 23:57:41,654 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 141 transitions. Word has length 6 [2022-02-20 23:57:41,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:41,655 INFO L470 AbstractCegarLoop]: Abstraction has 132 states and 141 transitions. [2022-02-20 23:57:41,655 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:41,655 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 141 transitions. [2022-02-20 23:57:41,656 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:57:41,656 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:41,656 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:57:41,670 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Ended with exit code 0 [2022-02-20 23:57:41,863 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:41,864 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting node_createErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:41,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:41,865 INFO L85 PathProgramCache]: Analyzing trace with hash 895672563, now seen corresponding path program 1 times [2022-02-20 23:57:41,865 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:41,865 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [882294707] [2022-02-20 23:57:41,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:41,865 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:41,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:41,867 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:41,868 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:41,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:41,923 INFO L263 TraceCheckSpWp]: Trace formula consists of 50 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:57:41,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:41,931 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:41,949 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,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {692#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(23bv32, 2bv32); {692#true} is VALID [2022-02-20 23:57:41,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {692#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {692#true} is VALID [2022-02-20 23:57:41,973 INFO L272 TraceCheckUtils]: 2: Hoare triple {692#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {692#true} is VALID [2022-02-20 23:57:41,975 INFO L290 TraceCheckUtils]: 3: Hoare triple {692#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; {706#(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:41,976 INFO L290 TraceCheckUtils]: 4: Hoare triple {706#(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); {706#(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:41,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {706#(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)); {693#false} is VALID [2022-02-20 23:57:41,977 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:41,977 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:41,977 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:41,981 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [882294707] [2022-02-20 23:57:41,981 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [882294707] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:41,982 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:41,982 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:41,982 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [941000764] [2022-02-20 23:57:41,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:41,983 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:41,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:41,984 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:41,992 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:41,992 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:41,992 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:41,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:41,993 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:41,994 INFO L87 Difference]: Start difference. First operand 132 states and 141 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:42,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:42,534 INFO L93 Difference]: Finished difference Result 129 states and 138 transitions. [2022-02-20 23:57:42,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:42,534 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:42,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:42,534 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:42,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:57:42,536 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:42,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:57:42,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 141 transitions. [2022-02-20 23:57:42,665 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:42,667 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:57:42,667 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:57:42,667 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:42,668 INFO L933 BasicCegarLoop]: 133 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:42,668 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 209 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:57:42,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:57:42,672 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-02-20 23:57:42,672 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:42,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:42,673 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:42,673 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:42,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:42,677 INFO L93 Difference]: Finished difference Result 129 states and 138 transitions. [2022-02-20 23:57:42,677 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:42,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:42,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:42,678 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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 129 states. [2022-02-20 23:57:42,678 INFO L87 Difference]: Start difference. First operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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 129 states. [2022-02-20 23:57:42,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:42,682 INFO L93 Difference]: Finished difference Result 129 states and 138 transitions. [2022-02-20 23:57:42,682 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:42,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:42,683 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:42,684 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:42,685 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:42,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 67 states have (on average 1.9701492537313432) internal successors, (132), 124 states have internal predecessors, (132), 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:42,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 138 transitions. [2022-02-20 23:57:42,691 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 138 transitions. Word has length 6 [2022-02-20 23:57:42,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:42,691 INFO L470 AbstractCegarLoop]: Abstraction has 129 states and 138 transitions. [2022-02-20 23:57:42,691 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:42,692 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:42,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:57:42,694 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:42,694 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:42,704 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:42,899 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:42,900 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:42,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:42,900 INFO L85 PathProgramCache]: Analyzing trace with hash -753542016, now seen corresponding path program 1 times [2022-02-20 23:57:42,901 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:42,901 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [303810639] [2022-02-20 23:57:42,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:42,901 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:42,901 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:42,902 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:42,904 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:42,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:42,969 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:57:42,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:42,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:43,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {1228#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(23bv32, 2bv32); {1228#true} is VALID [2022-02-20 23:57:43,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {1228#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {1236#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:57:43,051 INFO L272 TraceCheckUtils]: 2: Hoare triple {1236#(= |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); {1228#true} is VALID [2022-02-20 23:57:43,051 INFO L290 TraceCheckUtils]: 3: Hoare triple {1228#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; {1228#true} is VALID [2022-02-20 23:57:43,052 INFO L290 TraceCheckUtils]: 4: Hoare triple {1228#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1228#true} is VALID [2022-02-20 23:57:43,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {1228#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {1228#true} is VALID [2022-02-20 23:57:43,052 INFO L290 TraceCheckUtils]: 6: Hoare triple {1228#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {1228#true} is VALID [2022-02-20 23:57:43,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {1228#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {1228#true} is VALID [2022-02-20 23:57:43,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {1228#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1228#true} is VALID [2022-02-20 23:57:43,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {1228#true} assume true; {1228#true} is VALID [2022-02-20 23:57:43,053 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1228#true} {1236#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} #207#return; {1236#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:57:43,054 INFO L290 TraceCheckUtils]: 11: Hoare triple {1236#(= |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; {1236#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:57:43,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {1236#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {1229#false} is VALID [2022-02-20 23:57:43,054 INFO L290 TraceCheckUtils]: 13: Hoare triple {1229#false} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {1229#false} is VALID [2022-02-20 23:57:43,054 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:43,054 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:43,055 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:43,055 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [303810639] [2022-02-20 23:57:43,055 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [303810639] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:43,055 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:43,055 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:57:43,055 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1677924747] [2022-02-20 23:57:43,055 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:43,056 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:43,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:43,056 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:43,071 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:43,071 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:43,072 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:43,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:43,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:43,072 INFO L87 Difference]: Start difference. First operand 129 states and 138 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:43,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:43,397 INFO L93 Difference]: Finished difference Result 140 states and 151 transitions. [2022-02-20 23:57:43,397 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:43,397 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:43,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:43,398 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:43,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 152 transitions. [2022-02-20 23:57:43,400 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:43,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 152 transitions. [2022-02-20 23:57:43,401 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 152 transitions. [2022-02-20 23:57:43,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:43,531 INFO L225 Difference]: With dead ends: 140 [2022-02-20 23:57:43,531 INFO L226 Difference]: Without dead ends: 140 [2022-02-20 23:57:43,531 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:43,532 INFO L933 BasicCegarLoop]: 137 mSDtfsCounter, 10 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 269 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:43,532 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 269 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:43,537 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-02-20 23:57:43,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 130. [2022-02-20 23:57:43,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:43,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:43,541 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:43,541 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:43,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:43,544 INFO L93 Difference]: Finished difference Result 140 states and 151 transitions. [2022-02-20 23:57:43,544 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 151 transitions. [2022-02-20 23:57:43,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:43,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:43,545 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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 140 states. [2022-02-20 23:57:43,546 INFO L87 Difference]: Start difference. First operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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 140 states. [2022-02-20 23:57:43,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:43,549 INFO L93 Difference]: Finished difference Result 140 states and 151 transitions. [2022-02-20 23:57:43,549 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 151 transitions. [2022-02-20 23:57:43,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:43,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:43,549 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:43,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:43,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 68 states have (on average 1.9558823529411764) internal successors, (133), 125 states have internal predecessors, (133), 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:43,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 139 transitions. [2022-02-20 23:57:43,553 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 139 transitions. Word has length 14 [2022-02-20 23:57:43,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:43,554 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 139 transitions. [2022-02-20 23:57:43,554 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:43,554 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 139 transitions. [2022-02-20 23:57:43,555 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:43,555 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:43,555 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:43,562 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:43,762 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:43,762 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:43,763 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:43,763 INFO L85 PathProgramCache]: Analyzing trace with hash 265974304, now seen corresponding path program 1 times [2022-02-20 23:57:43,763 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:43,763 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1936106953] [2022-02-20 23:57:43,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:43,764 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:43,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:43,765 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:43,767 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:43,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:43,872 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:57:43,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:43,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:43,927 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:43,981 INFO L290 TraceCheckUtils]: 0: Hoare triple {1822#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(23bv32, 2bv32); {1822#true} is VALID [2022-02-20 23:57:43,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {1822#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {1822#true} is VALID [2022-02-20 23:57:43,981 INFO L272 TraceCheckUtils]: 2: Hoare triple {1822#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {1822#true} is VALID [2022-02-20 23:57:43,981 INFO L290 TraceCheckUtils]: 3: Hoare triple {1822#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; {1822#true} is VALID [2022-02-20 23:57:43,981 INFO L290 TraceCheckUtils]: 4: Hoare triple {1822#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1822#true} is VALID [2022-02-20 23:57:43,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {1822#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {1822#true} is VALID [2022-02-20 23:57:43,981 INFO L290 TraceCheckUtils]: 6: Hoare triple {1822#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {1822#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {1822#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {1822#true} assume true; {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1822#true} {1822#true} #207#return; {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {1822#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; {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {1822#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {1822#true} is VALID [2022-02-20 23:57:43,982 INFO L272 TraceCheckUtils]: 13: Hoare triple {1822#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {1822#true} is VALID [2022-02-20 23:57:43,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {1822#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; {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,983 INFO L290 TraceCheckUtils]: 15: Hoare triple {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {1869#(= (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 {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {1869#(= (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 {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {1869#(= (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 {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {1869#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {1885#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {1885#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {1885#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,986 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1885#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {1822#true} #209#return; {1892#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,986 INFO L290 TraceCheckUtils]: 22: Hoare triple {1892#(= (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; {1896#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:43,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {1896#(= (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]); {1823#false} is VALID [2022-02-20 23:57:43,987 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:43,987 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:43,987 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:43,987 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1936106953] [2022-02-20 23:57:43,987 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1936106953] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:43,987 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:43,987 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:57:43,987 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1768210730] [2022-02-20 23:57:43,987 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:43,987 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:43,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:43,988 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:44,012 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:44,013 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:44,013 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:44,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:44,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:44,014 INFO L87 Difference]: Start difference. First operand 130 states and 139 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:45,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:45,310 INFO L93 Difference]: Finished difference Result 130 states and 140 transitions. [2022-02-20 23:57:45,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:57:45,310 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:45,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:45,311 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:45,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2022-02-20 23:57:45,314 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:45,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2022-02-20 23:57:45,317 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 141 transitions. [2022-02-20 23:57:45,456 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:45,457 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:57:45,457 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:57:45,458 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:45,458 INFO L933 BasicCegarLoop]: 125 mSDtfsCounter, 20 mSDsluCounter, 261 mSDsCounter, 0 mSdLazyCounter, 284 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 386 SdHoareTripleChecker+Invalid, 284 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 284 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:45,459 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 386 Invalid, 284 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 284 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:57:45,459 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:57:45,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 129. [2022-02-20 23:57:45,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:45,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:45,462 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:45,463 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:45,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:45,465 INFO L93 Difference]: Finished difference Result 130 states and 140 transitions. [2022-02-20 23:57:45,465 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 140 transitions. [2022-02-20 23:57:45,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:45,465 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:45,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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 130 states. [2022-02-20 23:57:45,466 INFO L87 Difference]: Start difference. First operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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 130 states. [2022-02-20 23:57:45,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:45,468 INFO L93 Difference]: Finished difference Result 130 states and 140 transitions. [2022-02-20 23:57:45,468 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 140 transitions. [2022-02-20 23:57:45,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:45,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:45,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:45,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:45,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 68 states have (on average 1.9411764705882353) internal successors, (132), 124 states have internal predecessors, (132), 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:45,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 138 transitions. [2022-02-20 23:57:45,471 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 138 transitions. Word has length 24 [2022-02-20 23:57:45,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:45,472 INFO L470 AbstractCegarLoop]: Abstraction has 129 states and 138 transitions. [2022-02-20 23:57:45,472 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:45,472 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 138 transitions. [2022-02-20 23:57:45,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 23:57:45,473 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:45,473 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:45,480 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:45,679 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:45,679 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:45,680 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:45,680 INFO L85 PathProgramCache]: Analyzing trace with hash 265974305, now seen corresponding path program 1 times [2022-02-20 23:57:45,680 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:45,680 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1329981563] [2022-02-20 23:57:45,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:45,681 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:45,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:45,682 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:45,683 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:45,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:45,782 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:57:45,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:45,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:45,846 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:45,975 INFO L290 TraceCheckUtils]: 0: Hoare triple {2420#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(23bv32, 2bv32); {2420#true} is VALID [2022-02-20 23:57:45,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {2420#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {2420#true} is VALID [2022-02-20 23:57:45,976 INFO L272 TraceCheckUtils]: 2: Hoare triple {2420#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {2420#true} is VALID [2022-02-20 23:57:45,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {2420#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; {2420#true} is VALID [2022-02-20 23:57:45,976 INFO L290 TraceCheckUtils]: 4: Hoare triple {2420#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {2420#true} is VALID [2022-02-20 23:57:45,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {2420#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {2420#true} is VALID [2022-02-20 23:57:45,976 INFO L290 TraceCheckUtils]: 6: Hoare triple {2420#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {2420#true} is VALID [2022-02-20 23:57:45,977 INFO L290 TraceCheckUtils]: 7: Hoare triple {2420#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {2420#true} is VALID [2022-02-20 23:57:45,977 INFO L290 TraceCheckUtils]: 8: Hoare triple {2420#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {2420#true} is VALID [2022-02-20 23:57:45,977 INFO L290 TraceCheckUtils]: 9: Hoare triple {2420#true} assume true; {2420#true} is VALID [2022-02-20 23:57:45,977 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2420#true} {2420#true} #207#return; {2420#true} is VALID [2022-02-20 23:57:45,977 INFO L290 TraceCheckUtils]: 11: Hoare triple {2420#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; {2420#true} is VALID [2022-02-20 23:57:45,977 INFO L290 TraceCheckUtils]: 12: Hoare triple {2420#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {2420#true} is VALID [2022-02-20 23:57:45,978 INFO L272 TraceCheckUtils]: 13: Hoare triple {2420#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {2420#true} is VALID [2022-02-20 23:57:45,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {2420#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; {2467#(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:45,979 INFO L290 TraceCheckUtils]: 15: Hoare triple {2467#(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); {2467#(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:45,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {2467#(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 {2467#(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:45,980 INFO L290 TraceCheckUtils]: 17: Hoare triple {2467#(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 {2467#(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:45,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {2467#(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 {2467#(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:45,982 INFO L290 TraceCheckUtils]: 19: Hoare triple {2467#(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; {2483#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:45,982 INFO L290 TraceCheckUtils]: 20: Hoare triple {2483#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} assume true; {2483#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:45,983 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2483#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} {2420#true} #209#return; {2490#(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:45,983 INFO L290 TraceCheckUtils]: 22: Hoare triple {2490#(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; {2494#(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:45,984 INFO L290 TraceCheckUtils]: 23: Hoare triple {2494#(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)); {2421#false} is VALID [2022-02-20 23:57:45,984 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:45,984 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:45,984 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:45,984 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1329981563] [2022-02-20 23:57:45,985 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1329981563] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:45,985 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:45,985 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:57:45,985 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [597977052] [2022-02-20 23:57:45,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:45,985 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:45,986 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:45,986 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:46,009 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:46,009 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:46,009 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:46,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:46,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:46,010 INFO L87 Difference]: Start difference. First operand 129 states and 138 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:47,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:47,461 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2022-02-20 23:57:47,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:57:47,462 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:47,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:47,462 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:47,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 140 transitions. [2022-02-20 23:57:47,465 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:47,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 140 transitions. [2022-02-20 23:57:47,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 140 transitions. [2022-02-20 23:57:47,588 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:47,589 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:57:47,590 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:57:47,590 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:47,595 INFO L933 BasicCegarLoop]: 125 mSDtfsCounter, 19 mSDsluCounter, 285 mSDsCounter, 0 mSdLazyCounter, 256 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 410 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 256 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:47,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 410 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 256 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:57:47,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:57:47,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 128. [2022-02-20 23:57:47,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:47,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:47,611 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:47,611 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:47,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:47,614 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2022-02-20 23:57:47,614 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 139 transitions. [2022-02-20 23:57:47,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:47,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:47,614 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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 129 states. [2022-02-20 23:57:47,615 INFO L87 Difference]: Start difference. First operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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 129 states. [2022-02-20 23:57:47,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:47,617 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2022-02-20 23:57:47,617 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 139 transitions. [2022-02-20 23:57:47,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:47,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:47,618 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:47,618 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:47,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 68 states have (on average 1.9264705882352942) internal successors, (131), 123 states have internal predecessors, (131), 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:47,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 137 transitions. [2022-02-20 23:57:47,620 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 137 transitions. Word has length 24 [2022-02-20 23:57:47,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:47,620 INFO L470 AbstractCegarLoop]: Abstraction has 128 states and 137 transitions. [2022-02-20 23:57:47,621 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:47,621 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 137 transitions. [2022-02-20 23:57:47,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:47,621 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:47,621 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:47,630 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:47,831 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:47,831 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:47,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:47,832 INFO L85 PathProgramCache]: Analyzing trace with hash -2096731903, now seen corresponding path program 1 times [2022-02-20 23:57:47,832 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:47,832 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1919683419] [2022-02-20 23:57:47,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:47,832 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:47,832 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:47,833 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:47,834 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:47,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:47,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 23:57:47,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:47,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:47,973 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,171 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:57:48,171 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:48,202 INFO L290 TraceCheckUtils]: 0: Hoare triple {3014#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(23bv32, 2bv32); {3014#true} is VALID [2022-02-20 23:57:48,202 INFO L290 TraceCheckUtils]: 1: Hoare triple {3014#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {3014#true} is VALID [2022-02-20 23:57:48,203 INFO L272 TraceCheckUtils]: 2: Hoare triple {3014#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3014#true} is VALID [2022-02-20 23:57:48,203 INFO L290 TraceCheckUtils]: 3: Hoare triple {3014#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; {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,204 INFO L290 TraceCheckUtils]: 4: Hoare triple {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {3028#(= (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 {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,205 INFO L290 TraceCheckUtils]: 6: Hoare triple {3028#(= (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 {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,205 INFO L290 TraceCheckUtils]: 7: Hoare triple {3028#(= (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 {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,206 INFO L290 TraceCheckUtils]: 9: Hoare triple {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,207 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {3014#true} #207#return; {3051#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,208 INFO L290 TraceCheckUtils]: 11: Hoare triple {3051#(= (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; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,209 INFO L272 TraceCheckUtils]: 13: Hoare triple {3055#(= (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); {3062#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:57:48,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {3062#(= |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; {3066#(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:48,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {3066#(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); {3066#(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:48,213 INFO L290 TraceCheckUtils]: 16: Hoare triple {3066#(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 {3066#(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:48,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {3066#(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 {3066#(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:48,217 INFO L290 TraceCheckUtils]: 18: Hoare triple {3066#(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 {3066#(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:48,218 INFO L290 TraceCheckUtils]: 19: Hoare triple {3066#(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; {3066#(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:48,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {3066#(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; {3066#(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:48,223 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3066#(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|)))))} {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} #209#return; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {3055#(= (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; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,224 INFO L290 TraceCheckUtils]: 23: Hoare triple {3055#(= (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 {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,224 INFO L290 TraceCheckUtils]: 24: Hoare triple {3055#(= (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; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,225 INFO L290 TraceCheckUtils]: 25: Hoare triple {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {3015#false} is VALID [2022-02-20 23:57:48,225 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:48,225 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:48,579 INFO L290 TraceCheckUtils]: 25: Hoare triple {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {3015#false} is VALID [2022-02-20 23:57:48,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {3055#(= (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; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,580 INFO L290 TraceCheckUtils]: 23: Hoare triple {3055#(= (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 {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {3055#(= (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; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,584 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3115#(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)))))} {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} #209#return; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,584 INFO L290 TraceCheckUtils]: 20: Hoare triple {3115#(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; {3115#(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:48,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {3115#(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; {3115#(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:48,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {3115#(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 {3115#(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:48,586 INFO L290 TraceCheckUtils]: 17: Hoare triple {3115#(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 {3115#(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:48,587 INFO L290 TraceCheckUtils]: 16: Hoare triple {3115#(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 {3115#(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:48,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {3115#(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); {3115#(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:48,589 INFO L290 TraceCheckUtils]: 14: Hoare triple {3115#(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; {3115#(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:48,589 INFO L272 TraceCheckUtils]: 13: Hoare triple {3055#(= (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); {3115#(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:48,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {3051#(= (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; {3055#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,592 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {3014#true} #207#return; {3051#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret4#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,592 INFO L290 TraceCheckUtils]: 9: Hoare triple {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,592 INFO L290 TraceCheckUtils]: 8: Hoare triple {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {3044#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {3028#(= (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 {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,598 INFO L290 TraceCheckUtils]: 6: Hoare triple {3028#(= (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 {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {3028#(= (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 {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,602 INFO L290 TraceCheckUtils]: 4: Hoare triple {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,603 INFO L290 TraceCheckUtils]: 3: Hoare triple {3014#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; {3028#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:57:48,603 INFO L272 TraceCheckUtils]: 2: Hoare triple {3014#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3014#true} is VALID [2022-02-20 23:57:48,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {3014#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {3014#true} is VALID [2022-02-20 23:57:48,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {3014#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(23bv32, 2bv32); {3014#true} is VALID [2022-02-20 23:57:48,604 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:48,604 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:48,604 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1919683419] [2022-02-20 23:57:48,604 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1919683419] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:48,604 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:48,604 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6] total 8 [2022-02-20 23:57:48,605 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [686571637] [2022-02-20 23:57:48,605 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:48,605 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:48,605 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:48,606 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:48,654 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:48,654 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:57:48,654 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:48,654 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:57:48,654 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:57:48,655 INFO L87 Difference]: Start difference. First operand 128 states and 137 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:50,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,314 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2022-02-20 23:57:50,315 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:57:50,315 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:50,315 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:50,315 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:50,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 147 transitions. [2022-02-20 23:57:50,316 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:50,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 147 transitions. [2022-02-20 23:57:50,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 147 transitions. [2022-02-20 23:57:50,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:50,449 INFO L225 Difference]: With dead ends: 135 [2022-02-20 23:57:50,449 INFO L226 Difference]: Without dead ends: 135 [2022-02-20 23:57:50,449 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 40 SyntacticMatches, 3 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:57:50,452 INFO L933 BasicCegarLoop]: 122 mSDtfsCounter, 5 mSDsluCounter, 438 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 560 SdHoareTripleChecker+Invalid, 483 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 150 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:50,452 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 560 Invalid, 483 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 328 Invalid, 0 Unknown, 150 Unchecked, 0.5s Time] [2022-02-20 23:57:50,452 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-02-20 23:57:50,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 133. [2022-02-20 23:57:50,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:50,455 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 133 states, 72 states have (on average 1.9027777777777777) internal successors, (137), 127 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:50,455 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 133 states, 72 states have (on average 1.9027777777777777) internal successors, (137), 127 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:50,456 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 133 states, 72 states have (on average 1.9027777777777777) internal successors, (137), 127 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:50,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,458 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2022-02-20 23:57:50,458 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2022-02-20 23:57:50,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:50,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:50,459 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 72 states have (on average 1.9027777777777777) internal successors, (137), 127 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 135 states. [2022-02-20 23:57:50,461 INFO L87 Difference]: Start difference. First operand has 133 states, 72 states have (on average 1.9027777777777777) internal successors, (137), 127 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 135 states. [2022-02-20 23:57:50,463 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,463 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2022-02-20 23:57:50,464 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2022-02-20 23:57:50,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:50,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:50,464 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:50,464 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:50,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 72 states have (on average 1.9027777777777777) internal successors, (137), 127 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:50,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 145 transitions. [2022-02-20 23:57:50,473 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 145 transitions. Word has length 26 [2022-02-20 23:57:50,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:50,473 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 145 transitions. [2022-02-20 23:57:50,474 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:50,474 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 145 transitions. [2022-02-20 23:57:50,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:57:50,474 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:50,474 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:50,486 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (7)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:50,682 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:50,682 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:50,683 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:50,683 INFO L85 PathProgramCache]: Analyzing trace with hash -2096731902, now seen corresponding path program 1 times [2022-02-20 23:57:50,683 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:50,683 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [571015524] [2022-02-20 23:57:50,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:50,683 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:50,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:50,684 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:50,685 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:50,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:50,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:57:50,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:50,828 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:50,853 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,859 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:51,178 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:57:51,180 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:51,189 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:51,189 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:51,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {3717#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(23bv32, 2bv32); {3717#true} is VALID [2022-02-20 23:57:51,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {3717#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {3717#true} is VALID [2022-02-20 23:57:51,239 INFO L272 TraceCheckUtils]: 2: Hoare triple {3717#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3717#true} is VALID [2022-02-20 23:57:51,240 INFO L290 TraceCheckUtils]: 3: Hoare triple {3717#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; {3731#(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:51,240 INFO L290 TraceCheckUtils]: 4: Hoare triple {3731#(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); {3731#(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:51,241 INFO L290 TraceCheckUtils]: 5: Hoare triple {3731#(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 {3731#(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:51,242 INFO L290 TraceCheckUtils]: 6: Hoare triple {3731#(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 {3731#(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:51,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {3731#(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 {3731#(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:51,243 INFO L290 TraceCheckUtils]: 8: Hoare triple {3731#(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; {3747#(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:51,243 INFO L290 TraceCheckUtils]: 9: Hoare triple {3747#(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; {3747#(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:51,244 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3747#(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)))} {3717#true} #207#return; {3754#(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:51,245 INFO L290 TraceCheckUtils]: 11: Hoare triple {3754#(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; {3758#(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:51,245 INFO L290 TraceCheckUtils]: 12: Hoare triple {3758#(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); {3758#(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:51,247 INFO L272 TraceCheckUtils]: 13: Hoare triple {3758#(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); {3765#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:57:51,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {3765#(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; {3769#(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:51,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {3769#(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); {3769#(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:51,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {3769#(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 {3769#(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:51,254 INFO L290 TraceCheckUtils]: 17: Hoare triple {3769#(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 {3769#(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:51,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {3769#(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 {3769#(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:51,256 INFO L290 TraceCheckUtils]: 19: Hoare triple {3769#(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; {3769#(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:51,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {3769#(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; {3769#(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:51,259 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3769#(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|)))))} {3758#(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)))} #209#return; {3791#(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:51,260 INFO L290 TraceCheckUtils]: 22: Hoare triple {3791#(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; {3791#(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:51,260 INFO L290 TraceCheckUtils]: 23: Hoare triple {3791#(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 {3791#(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:51,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {3791#(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; {3791#(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:51,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {3791#(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))); {3718#false} is VALID [2022-02-20 23:57:51,272 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:51,272 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:51,493 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:51,493 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [571015524] [2022-02-20 23:57:51,493 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [571015524] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:51,493 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1161772282] [2022-02-20 23:57:51,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:51,493 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:57:51,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:57:51,496 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:51,514 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:51,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,684 INFO L263 TraceCheckSpWp]: Trace formula consists of 180 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:57:51,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,704 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:51,724 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:51,728 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:51,993 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:57:51,994 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:52,002 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:52,003 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:52,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {3717#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(23bv32, 2bv32); {3717#true} is VALID [2022-02-20 23:57:52,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {3717#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {3717#true} is VALID [2022-02-20 23:57:52,034 INFO L272 TraceCheckUtils]: 2: Hoare triple {3717#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {3717#true} is VALID [2022-02-20 23:57:52,035 INFO L290 TraceCheckUtils]: 3: Hoare triple {3717#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; {3731#(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:52,036 INFO L290 TraceCheckUtils]: 4: Hoare triple {3731#(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); {3731#(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:52,037 INFO L290 TraceCheckUtils]: 5: Hoare triple {3731#(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 {3731#(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:52,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {3731#(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 {3731#(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:52,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {3731#(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 {3731#(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:52,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {3731#(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; {3747#(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:52,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {3747#(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; {3747#(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:52,040 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3747#(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)))} {3717#true} #207#return; {3754#(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:52,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {3754#(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; {3758#(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:52,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {3758#(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); {3758#(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:52,042 INFO L272 TraceCheckUtils]: 13: Hoare triple {3758#(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); {3765#(and (= |old(#valid)| |#valid|) (= |#length| |old(#length)|))} is VALID [2022-02-20 23:57:52,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {3765#(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; {3769#(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:52,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {3769#(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); {3769#(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:52,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {3769#(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 {3769#(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:52,047 INFO L290 TraceCheckUtils]: 17: Hoare triple {3769#(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 {3769#(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:52,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {3769#(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 {3769#(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:52,050 INFO L290 TraceCheckUtils]: 19: Hoare triple {3769#(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; {3769#(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:52,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {3769#(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; {3769#(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:52,052 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3769#(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|)))))} {3758#(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)))} #209#return; {3791#(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:52,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {3791#(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; {3791#(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:52,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {3791#(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 {3791#(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:52,054 INFO L290 TraceCheckUtils]: 24: Hoare triple {3791#(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; {3791#(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:52,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {3791#(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))); {3718#false} is VALID [2022-02-20 23:57:52,055 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,055 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:52,241 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1161772282] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:52,241 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:52,241 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-02-20 23:57:52,241 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1325117709] [2022-02-20 23:57:52,241 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:52,241 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:57:52,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:52,242 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:57:52,274 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:57:52,274 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:57:52,274 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:52,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:57:52,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:57:52,275 INFO L87 Difference]: Start difference. First operand 133 states and 145 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:57:54,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:54,651 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2022-02-20 23:57:54,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:57:54,652 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:57:54,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:54,652 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:57:54,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 147 transitions. [2022-02-20 23:57:54,654 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:57:54,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 147 transitions. [2022-02-20 23:57:54,656 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 147 transitions. [2022-02-20 23:57:54,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 147 edges. 147 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:54,790 INFO L225 Difference]: With dead ends: 135 [2022-02-20 23:57:54,790 INFO L226 Difference]: Without dead ends: 135 [2022-02-20 23:57:54,790 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 49 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:57:54,790 INFO L933 BasicCegarLoop]: 126 mSDtfsCounter, 2 mSDsluCounter, 347 mSDsCounter, 0 mSdLazyCounter, 496 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 473 SdHoareTripleChecker+Invalid, 585 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 496 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 84 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:54,790 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 473 Invalid, 585 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 496 Invalid, 0 Unknown, 84 Unchecked, 0.8s Time] [2022-02-20 23:57:54,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-02-20 23:57:54,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 133. [2022-02-20 23:57:54,792 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:54,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 133 states, 72 states have (on average 1.8888888888888888) internal successors, (136), 127 states have internal predecessors, (136), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:54,793 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 133 states, 72 states have (on average 1.8888888888888888) internal successors, (136), 127 states have internal predecessors, (136), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:54,793 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 133 states, 72 states have (on average 1.8888888888888888) internal successors, (136), 127 states have internal predecessors, (136), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:54,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:54,795 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2022-02-20 23:57:54,795 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2022-02-20 23:57:54,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:54,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:54,796 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 72 states have (on average 1.8888888888888888) internal successors, (136), 127 states have internal predecessors, (136), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 135 states. [2022-02-20 23:57:54,796 INFO L87 Difference]: Start difference. First operand has 133 states, 72 states have (on average 1.8888888888888888) internal successors, (136), 127 states have internal predecessors, (136), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 135 states. [2022-02-20 23:57:54,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:54,799 INFO L93 Difference]: Finished difference Result 135 states and 146 transitions. [2022-02-20 23:57:54,799 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2022-02-20 23:57:54,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:54,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:54,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:54,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:54,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 72 states have (on average 1.8888888888888888) internal successors, (136), 127 states have internal predecessors, (136), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:54,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 144 transitions. [2022-02-20 23:57:54,802 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 144 transitions. Word has length 26 [2022-02-20 23:57:54,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:54,802 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 144 transitions. [2022-02-20 23:57:54,802 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:57:54,802 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 144 transitions. [2022-02-20 23:57:54,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:57:54,803 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:54,803 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:54,808 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 --incremental --print-success --lang smt (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:55,014 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:57:55,207 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:57:55,208 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:55,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:55,208 INFO L85 PathProgramCache]: Analyzing trace with hash -619542825, now seen corresponding path program 1 times [2022-02-20 23:57:55,208 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:55,208 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [173081836] [2022-02-20 23:57:55,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:55,209 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:55,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:55,210 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:57:55,210 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:57:55,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:55,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:57:55,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:55,325 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:55,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {4452#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(23bv32, 2bv32); {4452#true} is VALID [2022-02-20 23:57:55,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {4452#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {4452#true} is VALID [2022-02-20 23:57:55,392 INFO L272 TraceCheckUtils]: 2: Hoare triple {4452#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4452#true} is VALID [2022-02-20 23:57:55,393 INFO L290 TraceCheckUtils]: 3: Hoare triple {4452#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; {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,393 INFO L290 TraceCheckUtils]: 4: Hoare triple {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,393 INFO L290 TraceCheckUtils]: 5: Hoare triple {4466#(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 {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {4466#(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 {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,397 INFO L290 TraceCheckUtils]: 7: Hoare triple {4466#(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 {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} assume true; {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,398 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} {4452#true} #207#return; {4489#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {4489#(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; {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,399 INFO L272 TraceCheckUtils]: 13: Hoare triple {4493#(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); {4452#true} is VALID [2022-02-20 23:57:55,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {4452#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; {4452#true} is VALID [2022-02-20 23:57:55,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {4452#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4452#true} is VALID [2022-02-20 23:57:55,399 INFO L290 TraceCheckUtils]: 16: Hoare triple {4452#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4452#true} is VALID [2022-02-20 23:57:55,399 INFO L290 TraceCheckUtils]: 17: Hoare triple {4452#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4452#true} is VALID [2022-02-20 23:57:55,400 INFO L290 TraceCheckUtils]: 18: Hoare triple {4452#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4452#true} is VALID [2022-02-20 23:57:55,400 INFO L290 TraceCheckUtils]: 19: Hoare triple {4452#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4452#true} is VALID [2022-02-20 23:57:55,400 INFO L290 TraceCheckUtils]: 20: Hoare triple {4452#true} assume true; {4452#true} is VALID [2022-02-20 23:57:55,400 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4452#true} {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} #209#return; {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {4493#(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; {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,404 INFO L290 TraceCheckUtils]: 23: Hoare triple {4493#(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 {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,405 INFO L290 TraceCheckUtils]: 24: Hoare triple {4493#(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); {4453#false} is VALID [2022-02-20 23:57:55,405 INFO L290 TraceCheckUtils]: 25: Hoare triple {4453#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; {4453#false} is VALID [2022-02-20 23:57:55,405 INFO L290 TraceCheckUtils]: 26: Hoare triple {4453#false} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {4453#false} is VALID [2022-02-20 23:57:55,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {4453#false} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {4453#false} is VALID [2022-02-20 23:57:55,405 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:55,405 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:55,479 INFO L290 TraceCheckUtils]: 27: Hoare triple {4453#false} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {4453#false} is VALID [2022-02-20 23:57:55,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {4453#false} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {4453#false} is VALID [2022-02-20 23:57:55,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {4453#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; {4453#false} is VALID [2022-02-20 23:57:55,480 INFO L290 TraceCheckUtils]: 24: Hoare triple {4493#(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); {4453#false} is VALID [2022-02-20 23:57:55,481 INFO L290 TraceCheckUtils]: 23: Hoare triple {4493#(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 {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,481 INFO L290 TraceCheckUtils]: 22: Hoare triple {4493#(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; {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,481 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4452#true} {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} #209#return; {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {4452#true} assume true; {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {4452#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {4452#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {4452#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {4452#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {4452#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {4452#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; {4452#true} is VALID [2022-02-20 23:57:55,482 INFO L272 TraceCheckUtils]: 13: Hoare triple {4493#(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); {4452#true} is VALID [2022-02-20 23:57:55,483 INFO L290 TraceCheckUtils]: 12: Hoare triple {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {4489#(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; {4493#(not (= |ULTIMATE.start_dll_circular_create_~head~0#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} {4452#true} #207#return; {4489#(not (= |ULTIMATE.start_dll_circular_create_#t~ret4#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} assume true; {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {4482#(not (= |node_create_#res#1.base| (_ bv0 32)))} is VALID [2022-02-20 23:57:55,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {4466#(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 {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,485 INFO L290 TraceCheckUtils]: 6: Hoare triple {4466#(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 {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {4466#(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 {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,486 INFO L290 TraceCheckUtils]: 4: Hoare triple {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,487 INFO L290 TraceCheckUtils]: 3: Hoare triple {4452#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; {4466#(not (= (_ bv0 32) |node_create_~temp~0#1.base|))} is VALID [2022-02-20 23:57:55,487 INFO L272 TraceCheckUtils]: 2: Hoare triple {4452#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {4452#true} is VALID [2022-02-20 23:57:55,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {4452#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {4452#true} is VALID [2022-02-20 23:57:55,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {4452#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(23bv32, 2bv32); {4452#true} is VALID [2022-02-20 23:57:55,488 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:55,488 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:55,488 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [173081836] [2022-02-20 23:57:55,489 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [173081836] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:55,489 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:55,489 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2022-02-20 23:57:55,489 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1339687937] [2022-02-20 23:57:55,489 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:55,490 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:57:55,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:55,490 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:57:55,519 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:55,519 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:57:55,519 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:55,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:57:55,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:57:55,520 INFO L87 Difference]: Start difference. First operand 133 states and 144 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:57:56,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,378 INFO L93 Difference]: Finished difference Result 134 states and 144 transitions. [2022-02-20 23:57:56,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:57:56,378 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:57:56,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:56,379 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:57:56,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 145 transitions. [2022-02-20 23:57:56,380 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:57:56,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 145 transitions. [2022-02-20 23:57:56,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 145 transitions. [2022-02-20 23:57:56,505 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:56,507 INFO L225 Difference]: With dead ends: 134 [2022-02-20 23:57:56,507 INFO L226 Difference]: Without dead ends: 134 [2022-02-20 23:57:56,507 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:57:56,507 INFO L933 BasicCegarLoop]: 128 mSDtfsCounter, 4 mSDsluCounter, 496 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 624 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:57:56,508 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 624 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:56,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2022-02-20 23:57:56,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 133. [2022-02-20 23:57:56,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:56,510 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand has 133 states, 72 states have (on average 1.875) internal successors, (135), 127 states have internal predecessors, (135), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:56,510 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand has 133 states, 72 states have (on average 1.875) internal successors, (135), 127 states have internal predecessors, (135), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:56,511 INFO L87 Difference]: Start difference. First operand 134 states. Second operand has 133 states, 72 states have (on average 1.875) internal successors, (135), 127 states have internal predecessors, (135), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:56,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,513 INFO L93 Difference]: Finished difference Result 134 states and 144 transitions. [2022-02-20 23:57:56,513 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 144 transitions. [2022-02-20 23:57:56,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:56,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:56,514 INFO L74 IsIncluded]: Start isIncluded. First operand has 133 states, 72 states have (on average 1.875) internal successors, (135), 127 states have internal predecessors, (135), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 134 states. [2022-02-20 23:57:56,514 INFO L87 Difference]: Start difference. First operand has 133 states, 72 states have (on average 1.875) internal successors, (135), 127 states have internal predecessors, (135), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 134 states. [2022-02-20 23:57:56,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,519 INFO L93 Difference]: Finished difference Result 134 states and 144 transitions. [2022-02-20 23:57:56,519 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 144 transitions. [2022-02-20 23:57:56,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:56,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:56,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:56,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:56,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 133 states, 72 states have (on average 1.875) internal successors, (135), 127 states have internal predecessors, (135), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:56,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 143 transitions. [2022-02-20 23:57:56,528 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 143 transitions. Word has length 28 [2022-02-20 23:57:56,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:56,528 INFO L470 AbstractCegarLoop]: Abstraction has 133 states and 143 transitions. [2022-02-20 23:57:56,528 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:57:56,528 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 143 transitions. [2022-02-20 23:57:56,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:57:56,529 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:56,529 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:56,536 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:57:56,735 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:57:56,736 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:56,736 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:56,736 INFO L85 PathProgramCache]: Analyzing trace with hash -2030739054, now seen corresponding path program 1 times [2022-02-20 23:57:56,737 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:56,737 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1736441660] [2022-02-20 23:57:56,737 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:56,737 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:56,737 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:56,738 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:57:56,746 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:57:56,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:56,852 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:57:56,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:56,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 0: Hoare triple {5159#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(23bv32, 2bv32); {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {5159#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L272 TraceCheckUtils]: 2: Hoare triple {5159#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 3: Hoare triple {5159#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; {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 4: Hoare triple {5159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 6: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5159#true} is VALID [2022-02-20 23:57:56,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {5159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5159#true} is VALID [2022-02-20 23:57:56,959 INFO L290 TraceCheckUtils]: 8: Hoare triple {5159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5159#true} is VALID [2022-02-20 23:57:56,959 INFO L290 TraceCheckUtils]: 9: Hoare triple {5159#true} assume true; {5159#true} is VALID [2022-02-20 23:57:56,959 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5159#true} {5159#true} #207#return; {5159#true} is VALID [2022-02-20 23:57:56,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {5159#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; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:56,960 INFO L290 TraceCheckUtils]: 12: Hoare triple {5197#(= |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); {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:56,960 INFO L272 TraceCheckUtils]: 13: Hoare triple {5197#(= |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); {5159#true} is VALID [2022-02-20 23:57:56,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {5159#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; {5159#true} is VALID [2022-02-20 23:57:56,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {5159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5159#true} is VALID [2022-02-20 23:57:56,961 INFO L290 TraceCheckUtils]: 16: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5159#true} is VALID [2022-02-20 23:57:56,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5159#true} is VALID [2022-02-20 23:57:56,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {5159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5159#true} is VALID [2022-02-20 23:57:56,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {5159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5159#true} is VALID [2022-02-20 23:57:56,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {5159#true} assume true; {5159#true} is VALID [2022-02-20 23:57:56,964 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5159#true} {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} #209#return; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:56,964 INFO L290 TraceCheckUtils]: 22: Hoare triple {5197#(= |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; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:56,965 INFO L290 TraceCheckUtils]: 23: Hoare triple {5197#(= |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 {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:56,965 INFO L290 TraceCheckUtils]: 24: Hoare triple {5197#(= |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; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:56,966 INFO L290 TraceCheckUtils]: 25: Hoare triple {5197#(= |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 {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:56,966 INFO L290 TraceCheckUtils]: 26: Hoare triple {5240#(= (_ 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; {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:56,967 INFO L290 TraceCheckUtils]: 27: Hoare triple {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:56,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {5160#false} is VALID [2022-02-20 23:57:56,967 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:56,968 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:56,993 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:57:56,993 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:57,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !(1bv1 == #valid[dll_circular_create_~last~0#1.base]); {5160#false} is VALID [2022-02-20 23:57:57,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:57,057 INFO L290 TraceCheckUtils]: 26: Hoare triple {5240#(= (_ 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; {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:57,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {5197#(= |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 {5240#(= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_create_~last~0#1.base|))} is VALID [2022-02-20 23:57:57,058 INFO L290 TraceCheckUtils]: 24: Hoare triple {5197#(= |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; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:57,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {5197#(= |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 {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:57,059 INFO L290 TraceCheckUtils]: 22: Hoare triple {5197#(= |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; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:57,060 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5159#true} {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} #209#return; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:57,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {5159#true} assume true; {5159#true} is VALID [2022-02-20 23:57:57,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {5159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5159#true} is VALID [2022-02-20 23:57:57,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {5159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5159#true} is VALID [2022-02-20 23:57:57,064 INFO L290 TraceCheckUtils]: 17: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5159#true} is VALID [2022-02-20 23:57:57,064 INFO L290 TraceCheckUtils]: 16: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5159#true} is VALID [2022-02-20 23:57:57,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {5159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5159#true} is VALID [2022-02-20 23:57:57,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {5159#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; {5159#true} is VALID [2022-02-20 23:57:57,064 INFO L272 TraceCheckUtils]: 13: Hoare triple {5197#(= |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); {5159#true} is VALID [2022-02-20 23:57:57,065 INFO L290 TraceCheckUtils]: 12: Hoare triple {5197#(= |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); {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:57,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {5159#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; {5197#(= |ULTIMATE.start_dll_circular_create_~last~0#1.base| |ULTIMATE.start_dll_circular_create_~head~0#1.base|)} is VALID [2022-02-20 23:57:57,065 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5159#true} {5159#true} #207#return; {5159#true} is VALID [2022-02-20 23:57:57,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {5159#true} assume true; {5159#true} is VALID [2022-02-20 23:57:57,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {5159#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {5159#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 6: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {5159#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 4: Hoare triple {5159#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {5159#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; {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L272 TraceCheckUtils]: 2: Hoare triple {5159#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {5159#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5159#true} is VALID [2022-02-20 23:57:57,066 INFO L290 TraceCheckUtils]: 0: Hoare triple {5159#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(23bv32, 2bv32); {5159#true} is VALID [2022-02-20 23:57:57,066 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:57,066 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:57,066 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1736441660] [2022-02-20 23:57:57,066 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1736441660] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:57,066 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:57,067 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3] total 3 [2022-02-20 23:57:57,067 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1815026836] [2022-02-20 23:57:57,067 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:57,067 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:57:57,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:57,068 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:57:57,091 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:57,092 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:57:57,092 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:57,092 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:57:57,092 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:57:57,093 INFO L87 Difference]: Start difference. First operand 133 states and 143 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:57:57,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:57,820 INFO L93 Difference]: Finished difference Result 138 states and 150 transitions. [2022-02-20 23:57:57,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:57:57,820 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:57:57,820 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:57,821 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:57:57,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 151 transitions. [2022-02-20 23:57:57,822 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:57:57,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 151 transitions. [2022-02-20 23:57:57,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 151 transitions. [2022-02-20 23:57:57,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:57,949 INFO L225 Difference]: With dead ends: 138 [2022-02-20 23:57:57,949 INFO L226 Difference]: Without dead ends: 138 [2022-02-20 23:57:57,949 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:57:57,950 INFO L933 BasicCegarLoop]: 133 mSDtfsCounter, 9 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 320 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:57,950 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 320 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:57,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-02-20 23:57:57,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 136. [2022-02-20 23:57:57,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:57,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 136 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 130 states have internal predecessors, (140), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:57,953 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 136 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 130 states have internal predecessors, (140), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:57,953 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 136 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 130 states have internal predecessors, (140), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:57,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:57,955 INFO L93 Difference]: Finished difference Result 138 states and 150 transitions. [2022-02-20 23:57:57,956 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 150 transitions. [2022-02-20 23:57:57,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:57,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:57,962 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 130 states have internal predecessors, (140), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 138 states. [2022-02-20 23:57:57,964 INFO L87 Difference]: Start difference. First operand has 136 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 130 states have internal predecessors, (140), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 138 states. [2022-02-20 23:57:57,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:57,966 INFO L93 Difference]: Finished difference Result 138 states and 150 transitions. [2022-02-20 23:57:57,967 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 150 transitions. [2022-02-20 23:57:57,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:57,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:57,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:57,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:57,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 130 states have internal predecessors, (140), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:57:57,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 148 transitions. [2022-02-20 23:57:57,970 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 148 transitions. Word has length 29 [2022-02-20 23:57:57,970 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:57,970 INFO L470 AbstractCegarLoop]: Abstraction has 136 states and 148 transitions. [2022-02-20 23:57:57,970 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:57:57,970 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 148 transitions. [2022-02-20 23:57:57,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:57:57,971 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:57,971 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:57,984 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:57:58,184 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:57:58,184 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:57:58,184 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:58,184 INFO L85 PathProgramCache]: Analyzing trace with hash -2030739053, now seen corresponding path program 1 times [2022-02-20 23:57:58,185 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:58,185 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [766067877] [2022-02-20 23:57:58,185 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:58,185 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:58,185 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:58,187 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:57:58,187 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:57:58,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:57:58,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:58,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {5885#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(23bv32, 2bv32); {5885#true} is VALID [2022-02-20 23:57:58,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {5885#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5885#true} is VALID [2022-02-20 23:57:58,475 INFO L272 TraceCheckUtils]: 2: Hoare triple {5885#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5885#true} is VALID [2022-02-20 23:57:58,476 INFO L290 TraceCheckUtils]: 3: Hoare triple {5885#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; {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,476 INFO L290 TraceCheckUtils]: 4: Hoare triple {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,477 INFO L290 TraceCheckUtils]: 5: Hoare triple {5899#(= |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 {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,477 INFO L290 TraceCheckUtils]: 6: Hoare triple {5899#(= |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 {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {5899#(= |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 {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {5899#(= |node_create_~temp~0#1.offset| (_ bv0 32))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5915#(= |node_create_#res#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {5915#(= |node_create_#res#1.offset| (_ bv0 32))} assume true; {5915#(= |node_create_#res#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5915#(= |node_create_#res#1.offset| (_ bv0 32))} {5885#true} #207#return; {5922#(= |ULTIMATE.start_dll_circular_create_#t~ret4#1.offset| (_ bv0 32))} is VALID [2022-02-20 23:57:58,480 INFO L290 TraceCheckUtils]: 11: Hoare triple {5922#(= |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; {5926#(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:57:58,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {5926#(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); {5926#(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:57:58,482 INFO L272 TraceCheckUtils]: 13: Hoare triple {5926#(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); {5885#true} is VALID [2022-02-20 23:57:58,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {5885#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; {5885#true} is VALID [2022-02-20 23:57:58,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {5885#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5885#true} is VALID [2022-02-20 23:57:58,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {5885#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5885#true} is VALID [2022-02-20 23:57:58,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {5885#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5885#true} is VALID [2022-02-20 23:57:58,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {5885#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5885#true} is VALID [2022-02-20 23:57:58,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {5885#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5885#true} is VALID [2022-02-20 23:57:58,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {5885#true} assume true; {5885#true} is VALID [2022-02-20 23:57:58,484 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5885#true} {5926#(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|))} #209#return; {5926#(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:57:58,484 INFO L290 TraceCheckUtils]: 22: Hoare triple {5926#(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; {5926#(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:57:58,485 INFO L290 TraceCheckUtils]: 23: Hoare triple {5926#(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 {5926#(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:57:58,485 INFO L290 TraceCheckUtils]: 24: Hoare triple {5926#(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; {5926#(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:57:58,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {5926#(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 {5969#(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:57:58,487 INFO L290 TraceCheckUtils]: 26: Hoare triple {5969#(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; {5969#(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:57:58,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {5969#(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); {5969#(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:57:58,488 INFO L290 TraceCheckUtils]: 28: Hoare triple {5969#(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)); {5886#false} is VALID [2022-02-20 23:57:58,488 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:58,488 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:58,571 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:57:58,572 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:57:58,969 INFO L290 TraceCheckUtils]: 28: Hoare triple {5979#(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)); {5886#false} is VALID [2022-02-20 23:57:58,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {5979#(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); {5979#(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:57:58,970 INFO L290 TraceCheckUtils]: 26: Hoare triple {5979#(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; {5979#(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:57:58,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {5989#(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 {5979#(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:57:58,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {5989#(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; {5989#(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:57:58,989 INFO L290 TraceCheckUtils]: 23: Hoare triple {5989#(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 {5989#(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:57:58,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {5989#(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; {5989#(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:57:58,990 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5885#true} {5989#(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))))} #209#return; {5989#(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:57:58,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {5885#true} assume true; {5885#true} is VALID [2022-02-20 23:57:58,990 INFO L290 TraceCheckUtils]: 19: Hoare triple {5885#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {5885#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L290 TraceCheckUtils]: 17: Hoare triple {5885#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L290 TraceCheckUtils]: 16: Hoare triple {5885#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {5885#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {5885#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; {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L272 TraceCheckUtils]: 13: Hoare triple {5989#(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); {5885#true} is VALID [2022-02-20 23:57:58,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {5989#(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); {5989#(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:57:58,992 INFO L290 TraceCheckUtils]: 11: Hoare triple {6032#(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; {5989#(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:57:58,993 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6039#(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))))} {5885#true} #207#return; {6032#(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:57:58,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {6039#(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; {6039#(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:57:59,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {6046#(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; {6039#(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:57:59,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {6046#(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 {6046#(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:57:59,003 INFO L290 TraceCheckUtils]: 6: Hoare triple {6046#(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 {6046#(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:57:59,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {6046#(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 {6046#(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:57:59,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {6046#(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); {6046#(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:57:59,005 INFO L290 TraceCheckUtils]: 3: Hoare triple {5885#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; {6046#(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:57:59,005 INFO L272 TraceCheckUtils]: 2: Hoare triple {5885#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {5885#true} is VALID [2022-02-20 23:57:59,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {5885#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {5885#true} is VALID [2022-02-20 23:57:59,005 INFO L290 TraceCheckUtils]: 0: Hoare triple {5885#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(23bv32, 2bv32); {5885#true} is VALID [2022-02-20 23:57:59,005 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:59,005 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:59,005 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [766067877] [2022-02-20 23:57:59,005 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [766067877] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:59,005 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:57:59,005 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 11 [2022-02-20 23:57:59,005 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [274228507] [2022-02-20 23:57:59,005 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:59,006 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:57:59,007 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:59,007 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:57:59,075 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:57:59,075 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:57:59,075 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:59,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:57:59,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:57:59,076 INFO L87 Difference]: Start difference. First operand 136 states and 148 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:01,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:01,719 INFO L93 Difference]: Finished difference Result 143 states and 156 transitions. [2022-02-20 23:58:01,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:58:01,719 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:01,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:01,720 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:01,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2022-02-20 23:58:01,721 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:01,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2022-02-20 23:58:01,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 157 transitions. [2022-02-20 23:58:01,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:01,861 INFO L225 Difference]: With dead ends: 143 [2022-02-20 23:58:01,861 INFO L226 Difference]: Without dead ends: 143 [2022-02-20 23:58:01,861 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:01,861 INFO L933 BasicCegarLoop]: 129 mSDtfsCounter, 23 mSDsluCounter, 698 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 827 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:01,862 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 827 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:58:01,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-02-20 23:58:01,864 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 136. [2022-02-20 23:58:01,864 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:01,864 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 136 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:01,864 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 136 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:01,865 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 136 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:01,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:01,867 INFO L93 Difference]: Finished difference Result 143 states and 156 transitions. [2022-02-20 23:58:01,867 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 156 transitions. [2022-02-20 23:58:01,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:01,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:01,868 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 143 states. [2022-02-20 23:58:01,868 INFO L87 Difference]: Start difference. First operand has 136 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 143 states. [2022-02-20 23:58:01,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:01,870 INFO L93 Difference]: Finished difference Result 143 states and 156 transitions. [2022-02-20 23:58:01,870 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 156 transitions. [2022-02-20 23:58:01,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:01,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:01,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:01,871 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:01,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 130 states have internal predecessors, (139), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:01,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 147 transitions. [2022-02-20 23:58:01,872 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 147 transitions. Word has length 29 [2022-02-20 23:58:01,872 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:01,873 INFO L470 AbstractCegarLoop]: Abstraction has 136 states and 147 transitions. [2022-02-20 23:58:01,873 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:01,873 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 147 transitions. [2022-02-20 23:58:01,873 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:58:01,873 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:01,873 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:01,881 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:02,081 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:02,081 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:58:02,081 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:02,082 INFO L85 PathProgramCache]: Analyzing trace with hash 1471598771, now seen corresponding path program 1 times [2022-02-20 23:58:02,082 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:02,082 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [540932457] [2022-02-20 23:58:02,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:02,082 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:02,082 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:02,083 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:02,085 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:02,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:02,191 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:58:02,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:02,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:02,240 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:02,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {6636#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(23bv32, 2bv32); {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {6636#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L272 TraceCheckUtils]: 2: Hoare triple {6636#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 3: Hoare triple {6636#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; {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 4: Hoare triple {6636#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {6636#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 6: Hoare triple {6636#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {6636#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {6636#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {6636#true} assume true; {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6636#true} {6636#true} #207#return; {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 11: Hoare triple {6636#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; {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L290 TraceCheckUtils]: 12: Hoare triple {6636#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {6636#true} is VALID [2022-02-20 23:58:02,310 INFO L272 TraceCheckUtils]: 13: Hoare triple {6636#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {6636#true} is VALID [2022-02-20 23:58:02,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {6636#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; {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,311 INFO L290 TraceCheckUtils]: 15: Hoare triple {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,312 INFO L290 TraceCheckUtils]: 16: Hoare triple {6683#(= (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 {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,312 INFO L290 TraceCheckUtils]: 17: Hoare triple {6683#(= (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 {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,312 INFO L290 TraceCheckUtils]: 18: Hoare triple {6683#(= (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 {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,312 INFO L290 TraceCheckUtils]: 19: Hoare triple {6683#(= (select |#valid| |node_create_~temp~0#1.base|) (_ bv1 1))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {6699#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {6699#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} assume true; {6699#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,313 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6699#(= (select |#valid| |node_create_#res#1.base|) (_ bv1 1))} {6636#true} #209#return; {6706#(= (select |#valid| |ULTIMATE.start_dll_circular_create_#t~ret5#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {6706#(= (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; {6710#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {6710#(= (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 {6710#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {6710#(= (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; {6710#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,317 INFO L290 TraceCheckUtils]: 25: Hoare triple {6710#(= (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 {6710#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,319 INFO L290 TraceCheckUtils]: 26: Hoare triple {6710#(= (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; {6723#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {6723#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {6723#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,327 INFO L290 TraceCheckUtils]: 28: Hoare triple {6723#(= (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 {6723#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} is VALID [2022-02-20 23:58:02,327 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#(= (select |#valid| |ULTIMATE.start_dll_circular_create_~head~0#1.base|) (_ bv1 1))} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {6637#false} is VALID [2022-02-20 23:58:02,328 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:02,328 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:02,328 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:02,328 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [540932457] [2022-02-20 23:58:02,328 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [540932457] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:02,328 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:02,328 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:58:02,328 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1288241087] [2022-02-20 23:58:02,328 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:02,328 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:02,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:02,329 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:02,361 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:02,361 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:58:02,361 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:02,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:58:02,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:02,362 INFO L87 Difference]: Start difference. First operand 136 states and 147 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:03,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,861 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2022-02-20 23:58:03,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:03,862 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:03,862 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:03,862 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:03,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 140 transitions. [2022-02-20 23:58:03,864 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:03,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 140 transitions. [2022-02-20 23:58:03,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 140 transitions. [2022-02-20 23:58:03,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:03,989 INFO L225 Difference]: With dead ends: 136 [2022-02-20 23:58:03,989 INFO L226 Difference]: Without dead ends: 136 [2022-02-20 23:58:03,989 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:03,989 INFO L933 BasicCegarLoop]: 123 mSDtfsCounter, 22 mSDsluCounter, 313 mSDsCounter, 0 mSdLazyCounter, 353 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 436 SdHoareTripleChecker+Invalid, 355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 353 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:03,990 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 436 Invalid, 355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 353 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 23:58:03,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-02-20 23:58:03,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 135. [2022-02-20 23:58:03,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:03,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 135 states, 75 states have (on average 1.84) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:03,992 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 135 states, 75 states have (on average 1.84) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:03,992 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 135 states, 75 states have (on average 1.84) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:03,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,994 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2022-02-20 23:58:03,994 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 147 transitions. [2022-02-20 23:58:03,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:03,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:03,995 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 75 states have (on average 1.84) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 136 states. [2022-02-20 23:58:03,995 INFO L87 Difference]: Start difference. First operand has 135 states, 75 states have (on average 1.84) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 136 states. [2022-02-20 23:58:03,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,997 INFO L93 Difference]: Finished difference Result 136 states and 147 transitions. [2022-02-20 23:58:03,997 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 147 transitions. [2022-02-20 23:58:03,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:03,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:03,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:03,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:03,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 75 states have (on average 1.84) internal successors, (138), 129 states have internal predecessors, (138), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:03,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 146 transitions. [2022-02-20 23:58:03,999 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 146 transitions. Word has length 30 [2022-02-20 23:58:04,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:04,000 INFO L470 AbstractCegarLoop]: Abstraction has 135 states and 146 transitions. [2022-02-20 23:58:04,000 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:04,000 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2022-02-20 23:58:04,000 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:58:04,000 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:04,001 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:04,009 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:04,208 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:04,208 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:58:04,209 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:04,209 INFO L85 PathProgramCache]: Analyzing trace with hash 1471598772, now seen corresponding path program 1 times [2022-02-20 23:58:04,209 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:04,209 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1846162122] [2022-02-20 23:58:04,209 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:04,209 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:04,209 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:04,210 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:04,211 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:04,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:04,320 INFO L263 TraceCheckSpWp]: Trace formula consists of 210 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:58:04,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:04,332 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:04,359 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:04,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {7280#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(23bv32, 2bv32); {7280#true} is VALID [2022-02-20 23:58:04,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {7280#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {7280#true} is VALID [2022-02-20 23:58:04,491 INFO L272 TraceCheckUtils]: 2: Hoare triple {7280#true} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {7280#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; {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 4: Hoare triple {7280#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {7280#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 6: Hoare triple {7280#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {7280#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {7280#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {7280#true} assume true; {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7280#true} {7280#true} #207#return; {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {7280#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; {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {7280#true} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {7280#true} is VALID [2022-02-20 23:58:04,492 INFO L272 TraceCheckUtils]: 13: Hoare triple {7280#true} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7280#true} is VALID [2022-02-20 23:58:04,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {7280#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; {7327#(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:04,494 INFO L290 TraceCheckUtils]: 15: Hoare triple {7327#(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); {7327#(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:04,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {7327#(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 {7327#(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:04,495 INFO L290 TraceCheckUtils]: 17: Hoare triple {7327#(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 {7327#(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:04,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {7327#(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 {7327#(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:04,496 INFO L290 TraceCheckUtils]: 19: Hoare triple {7327#(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; {7343#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:04,496 INFO L290 TraceCheckUtils]: 20: Hoare triple {7343#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} assume true; {7343#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} is VALID [2022-02-20 23:58:04,497 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7343#(and (= (select |#length| |node_create_#res#1.base|) (_ bv12 32)) (= |node_create_#res#1.offset| (_ bv0 32)))} {7280#true} #209#return; {7350#(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:04,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {7350#(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; {7354#(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:04,498 INFO L290 TraceCheckUtils]: 23: Hoare triple {7354#(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 {7354#(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:04,498 INFO L290 TraceCheckUtils]: 24: Hoare triple {7354#(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; {7354#(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:04,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {7354#(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 {7354#(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:04,499 INFO L290 TraceCheckUtils]: 26: Hoare triple {7354#(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; {7367#(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:04,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {7367#(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); {7367#(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:04,500 INFO L290 TraceCheckUtils]: 28: Hoare triple {7367#(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 {7367#(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:04,501 INFO L290 TraceCheckUtils]: 29: Hoare triple {7367#(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))); {7281#false} is VALID [2022-02-20 23:58:04,501 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:04,501 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:04,501 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:04,502 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1846162122] [2022-02-20 23:58:04,502 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1846162122] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:04,502 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:04,502 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:58:04,502 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [606885709] [2022-02-20 23:58:04,502 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:04,503 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:04,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:04,503 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:04,534 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:04,535 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:58:04,535 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:04,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:58:04,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:04,535 INFO L87 Difference]: Start difference. First operand 135 states and 146 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:06,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,277 INFO L93 Difference]: Finished difference Result 134 states and 145 transitions. [2022-02-20 23:58:06,283 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:58:06,283 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:06,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:06,284 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:06,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 138 transitions. [2022-02-20 23:58:06,289 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:06,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 138 transitions. [2022-02-20 23:58:06,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 138 transitions. [2022-02-20 23:58:06,411 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:06,412 INFO L225 Difference]: With dead ends: 134 [2022-02-20 23:58:06,412 INFO L226 Difference]: Without dead ends: 134 [2022-02-20 23:58:06,413 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:06,413 INFO L933 BasicCegarLoop]: 123 mSDtfsCounter, 20 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 320 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 466 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 320 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:06,413 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 466 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 320 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 23:58:06,413 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2022-02-20 23:58:06,415 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 134. [2022-02-20 23:58:06,415 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:06,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand has 134 states, 75 states have (on average 1.8266666666666667) internal successors, (137), 128 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:06,416 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand has 134 states, 75 states have (on average 1.8266666666666667) internal successors, (137), 128 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:06,416 INFO L87 Difference]: Start difference. First operand 134 states. Second operand has 134 states, 75 states have (on average 1.8266666666666667) internal successors, (137), 128 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:06,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,418 INFO L93 Difference]: Finished difference Result 134 states and 145 transitions. [2022-02-20 23:58:06,418 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 145 transitions. [2022-02-20 23:58:06,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:06,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:06,418 INFO L74 IsIncluded]: Start isIncluded. First operand has 134 states, 75 states have (on average 1.8266666666666667) internal successors, (137), 128 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 134 states. [2022-02-20 23:58:06,419 INFO L87 Difference]: Start difference. First operand has 134 states, 75 states have (on average 1.8266666666666667) internal successors, (137), 128 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 134 states. [2022-02-20 23:58:06,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,420 INFO L93 Difference]: Finished difference Result 134 states and 145 transitions. [2022-02-20 23:58:06,420 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 145 transitions. [2022-02-20 23:58:06,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:06,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:06,421 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:06,421 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:06,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 134 states, 75 states have (on average 1.8266666666666667) internal successors, (137), 128 states have internal predecessors, (137), 4 states have call successors, (4), 1 states have call predecessors, (4), 1 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 23:58:06,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 145 transitions. [2022-02-20 23:58:06,423 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 145 transitions. Word has length 30 [2022-02-20 23:58:06,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:06,423 INFO L470 AbstractCegarLoop]: Abstraction has 134 states and 145 transitions. [2022-02-20 23:58:06,423 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:06,423 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 145 transitions. [2022-02-20 23:58:06,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 23:58:06,424 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:06,424 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:06,433 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:06,630 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:06,630 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:58:06,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:06,631 INFO L85 PathProgramCache]: Analyzing trace with hash 939320083, now seen corresponding path program 1 times [2022-02-20 23:58:06,631 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:06,631 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [877255402] [2022-02-20 23:58:06,631 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:06,631 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:06,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:06,632 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:06,634 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:06,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,770 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:58:06,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,786 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:06,882 INFO L290 TraceCheckUtils]: 0: Hoare triple {7917#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(23bv32, 2bv32); {7917#true} is VALID [2022-02-20 23:58:06,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {7917#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,883 INFO L272 TraceCheckUtils]: 2: Hoare triple {7925#(= |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); {7917#true} is VALID [2022-02-20 23:58:06,883 INFO L290 TraceCheckUtils]: 3: Hoare triple {7917#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; {7917#true} is VALID [2022-02-20 23:58:06,883 INFO L290 TraceCheckUtils]: 4: Hoare triple {7917#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7917#true} is VALID [2022-02-20 23:58:06,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7917#true} is VALID [2022-02-20 23:58:06,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7917#true} is VALID [2022-02-20 23:58:06,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {7917#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7917#true} is VALID [2022-02-20 23:58:06,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {7917#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7917#true} is VALID [2022-02-20 23:58:06,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {7917#true} assume true; {7917#true} is VALID [2022-02-20 23:58:06,885 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7917#true} {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} #207#return; {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,885 INFO L290 TraceCheckUtils]: 11: Hoare triple {7925#(= |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; {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,885 INFO L272 TraceCheckUtils]: 13: Hoare triple {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {7917#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; {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {7917#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 17: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {7917#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {7917#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7917#true} is VALID [2022-02-20 23:58:06,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {7917#true} assume true; {7917#true} is VALID [2022-02-20 23:58:06,887 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7917#true} {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} #209#return; {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,888 INFO L290 TraceCheckUtils]: 22: Hoare triple {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 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; {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,888 INFO L290 TraceCheckUtils]: 23: Hoare triple {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 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 {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,888 INFO L290 TraceCheckUtils]: 24: Hoare triple {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 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 {7925#(= |ULTIMATE.start_dll_circular_create_~len#1| (_ bv2 32))} is VALID [2022-02-20 23:58:06,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {7925#(= |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_~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; {8001#(= (_ bv2 32) (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv1 32)))} is VALID [2022-02-20 23:58:06,890 INFO L290 TraceCheckUtils]: 27: Hoare triple {8001#(= (_ bv2 32) (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv1 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {7918#false} is VALID [2022-02-20 23:58:06,890 INFO L272 TraceCheckUtils]: 28: Hoare triple {7918#false} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7918#false} is VALID [2022-02-20 23:58:06,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {7918#false} ~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; {7918#false} is VALID [2022-02-20 23:58:06,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {7918#false} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7918#false} is VALID [2022-02-20 23:58:06,892 INFO L290 TraceCheckUtils]: 31: Hoare triple {7918#false} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7918#false} is VALID [2022-02-20 23:58:06,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {7918#false} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L290 TraceCheckUtils]: 33: Hoare triple {7918#false} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L290 TraceCheckUtils]: 34: Hoare triple {7918#false} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {7918#false} assume true; {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7918#false} {7918#false} #209#return; {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {7918#false} 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; {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L290 TraceCheckUtils]: 38: Hoare triple {7918#false} 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 {7918#false} is VALID [2022-02-20 23:58:06,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {7918#false} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {7918#false} is VALID [2022-02-20 23:58:06,894 INFO L290 TraceCheckUtils]: 40: Hoare triple {7918#false} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {7918#false} is VALID [2022-02-20 23:58:06,894 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 1 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:58:06,894 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:07,023 INFO L290 TraceCheckUtils]: 40: Hoare triple {7918#false} assume !(1bv1 == #valid[dll_circular_create_~head~0#1.base]); {7918#false} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 39: Hoare triple {7918#false} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {7918#false} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 38: Hoare triple {7918#false} 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 {7918#false} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {7918#false} 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; {7918#false} is VALID [2022-02-20 23:58:07,024 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7917#true} {7918#false} #209#return; {7918#false} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 35: Hoare triple {7917#true} assume true; {7917#true} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 34: Hoare triple {7917#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7917#true} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 33: Hoare triple {7917#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7917#true} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 32: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7917#true} is VALID [2022-02-20 23:58:07,024 INFO L290 TraceCheckUtils]: 31: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7917#true} is VALID [2022-02-20 23:58:07,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {7917#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7917#true} is VALID [2022-02-20 23:58:07,025 INFO L290 TraceCheckUtils]: 29: Hoare triple {7917#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; {7917#true} is VALID [2022-02-20 23:58:07,025 INFO L272 TraceCheckUtils]: 28: Hoare triple {7918#false} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7917#true} is VALID [2022-02-20 23:58:07,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {8083#(not (bvsgt |ULTIMATE.start_dll_circular_create_~len#1| (_ bv1 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {7918#false} is VALID [2022-02-20 23:58:07,027 INFO L290 TraceCheckUtils]: 26: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 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; {8083#(not (bvsgt |ULTIMATE.start_dll_circular_create_~len#1| (_ bv1 32)))} is VALID [2022-02-20 23:58:07,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 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 {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 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 {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 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; {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,029 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7917#true} {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} #209#return; {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {7917#true} assume true; {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {7917#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {7917#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 17: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 16: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {7917#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {7917#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; {7917#true} is VALID [2022-02-20 23:58:07,030 INFO L272 TraceCheckUtils]: 13: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} call dll_circular_create_#t~ret5#1.base, dll_circular_create_#t~ret5#1.offset := node_create(dll_circular_create_~data#1); {7917#true} is VALID [2022-02-20 23:58:07,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,031 INFO L290 TraceCheckUtils]: 11: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 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; {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7917#true} {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} #207#return; {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {7917#true} assume true; {7917#true} is VALID [2022-02-20 23:58:07,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {7917#true} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {7917#true} is VALID [2022-02-20 23:58:07,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {7917#true} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {7917#true} is VALID [2022-02-20 23:58:07,032 INFO L290 TraceCheckUtils]: 6: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {7917#true} is VALID [2022-02-20 23:58:07,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {7917#true} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {7917#true} is VALID [2022-02-20 23:58:07,033 INFO L290 TraceCheckUtils]: 4: Hoare triple {7917#true} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {7917#true} is VALID [2022-02-20 23:58:07,033 INFO L290 TraceCheckUtils]: 3: Hoare triple {7917#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; {7917#true} is VALID [2022-02-20 23:58:07,033 INFO L272 TraceCheckUtils]: 2: Hoare triple {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {7917#true} is VALID [2022-02-20 23:58:07,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {7917#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {8087#(not (bvsgt (bvadd |ULTIMATE.start_dll_circular_create_~len#1| (_ bv4294967295 32)) (_ bv1 32)))} is VALID [2022-02-20 23:58:07,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {7917#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(23bv32, 2bv32); {7917#true} is VALID [2022-02-20 23:58:07,034 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 23:58:07,034 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:07,034 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [877255402] [2022-02-20 23:58:07,034 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [877255402] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:58:07,034 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:07,034 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2022-02-20 23:58:07,035 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1147767741] [2022-02-20 23:58:07,035 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:07,035 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 41 [2022-02-20 23:58:07,036 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:07,036 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:58:07,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:07,088 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:58:07,088 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:07,089 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:58:07,089 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:58:07,089 INFO L87 Difference]: Start difference. First operand 134 states and 145 transitions. Second operand has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:58:07,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,537 INFO L93 Difference]: Finished difference Result 122 states and 129 transitions. [2022-02-20 23:58:07,537 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:58:07,537 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 41 [2022-02-20 23:58:07,537 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:07,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:58:07,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 130 transitions. [2022-02-20 23:58:07,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:58:07,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 130 transitions. [2022-02-20 23:58:07,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 130 transitions. [2022-02-20 23:58:07,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:07,669 INFO L225 Difference]: With dead ends: 122 [2022-02-20 23:58:07,669 INFO L226 Difference]: Without dead ends: 122 [2022-02-20 23:58:07,669 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 76 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:58:07,669 INFO L933 BasicCegarLoop]: 126 mSDtfsCounter, 321 mSDsluCounter, 144 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 322 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:07,670 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [322 Valid, 270 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:07,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-02-20 23:58:07,671 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 122. [2022-02-20 23:58:07,671 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:07,672 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 122 states, 68 states have (on average 1.8088235294117647) internal successors, (123), 117 states have internal predecessors, (123), 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:58:07,672 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 122 states, 68 states have (on average 1.8088235294117647) internal successors, (123), 117 states have internal predecessors, (123), 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:58:07,672 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 122 states, 68 states have (on average 1.8088235294117647) internal successors, (123), 117 states have internal predecessors, (123), 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:58:07,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,674 INFO L93 Difference]: Finished difference Result 122 states and 129 transitions. [2022-02-20 23:58:07,674 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 129 transitions. [2022-02-20 23:58:07,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:07,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:07,675 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 68 states have (on average 1.8088235294117647) internal successors, (123), 117 states have internal predecessors, (123), 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 122 states. [2022-02-20 23:58:07,675 INFO L87 Difference]: Start difference. First operand has 122 states, 68 states have (on average 1.8088235294117647) internal successors, (123), 117 states have internal predecessors, (123), 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 122 states. [2022-02-20 23:58:07,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,677 INFO L93 Difference]: Finished difference Result 122 states and 129 transitions. [2022-02-20 23:58:07,677 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 129 transitions. [2022-02-20 23:58:07,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:07,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:07,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:07,677 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:07,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 68 states have (on average 1.8088235294117647) internal successors, (123), 117 states have internal predecessors, (123), 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:58:07,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 129 transitions. [2022-02-20 23:58:07,679 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 129 transitions. Word has length 41 [2022-02-20 23:58:07,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:07,679 INFO L470 AbstractCegarLoop]: Abstraction has 122 states and 129 transitions. [2022-02-20 23:58:07,679 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 6.166666666666667) internal successors, (37), 6 states have internal predecessors, (37), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 23:58:07,679 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 129 transitions. [2022-02-20 23:58:07,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:58:07,680 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:07,680 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 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:07,688 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:07,889 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:07,889 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 60 more)] === [2022-02-20 23:58:07,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:07,890 INFO L85 PathProgramCache]: Analyzing trace with hash -566913869, now seen corresponding path program 1 times [2022-02-20 23:58:07,890 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:58:07,890 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1875309490] [2022-02-20 23:58:07,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:07,890 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:58:07,890 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:58:07,891 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:07,893 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:08,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:08,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 301 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:58:08,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:08,131 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:08,150 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:08,167 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:08,343 INFO L356 Elim1Store]: treesize reduction 15, result has 46.4 percent of original size [2022-02-20 23:58:08,344 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:08,382 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:08,512 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:08,513 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:08,921 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:58:08,922 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:08,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {8653#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(23bv32, 2bv32); {8653#true} is VALID [2022-02-20 23:58:08,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {8653#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:08,975 INFO L272 TraceCheckUtils]: 2: Hoare triple {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ 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); {8665#(and (= |old(#valid)| |#valid|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,976 INFO L290 TraceCheckUtils]: 3: Hoare triple {8665#(and (= |old(#valid)| |#valid|) (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; {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,977 INFO L290 TraceCheckUtils]: 4: Hoare triple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,978 INFO L290 TraceCheckUtils]: 6: Hoare triple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,979 INFO L290 TraceCheckUtils]: 7: Hoare triple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,979 INFO L290 TraceCheckUtils]: 8: Hoare triple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8669#(and (exists ((v_ArrVal_726 (_ BitVec 1)) (|node_create_~temp~0#1.base| (_ BitVec 32))) (and (= |#valid| (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_726)) (= (_ bv0 1) (bvneg (select |old(#valid)| |node_create_~temp~0#1.base|))))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} #207#return; {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:08,982 INFO L290 TraceCheckUtils]: 11: Hoare triple {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ 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; {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:08,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:08,983 INFO L272 TraceCheckUtils]: 13: Hoare triple {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ 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); {8665#(and (= |old(#valid)| |#valid|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {8665#(and (= |old(#valid)| |#valid|) (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; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,986 INFO L290 TraceCheckUtils]: 16: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,987 INFO L290 TraceCheckUtils]: 17: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,989 INFO L290 TraceCheckUtils]: 18: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,989 INFO L290 TraceCheckUtils]: 19: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:08,996 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {8661#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} #209#return; {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:08,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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; {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:08,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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 {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:08,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:08,999 INFO L290 TraceCheckUtils]: 25: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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 {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:08,999 INFO L290 TraceCheckUtils]: 26: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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; {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:09,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:09,000 INFO L290 TraceCheckUtils]: 28: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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 {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:09,001 INFO L290 TraceCheckUtils]: 29: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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 {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:09,002 INFO L290 TraceCheckUtils]: 30: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ 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; {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} is VALID [2022-02-20 23:58:09,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {8725#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |#StackHeapBarrier| (_ bv0 32))))))} main_#t~ret15#1.base, main_#t~ret15#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~ret15#1.base, main_#t~ret15#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret15#1.base, main_#t~ret15#1.offset;main_~uneq~0#1 := 5bv32;assume { :begin_inline_dll_circular_append } true;dll_circular_append_#in~head#1.base, dll_circular_append_#in~head#1.offset, dll_circular_append_#in~data#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1;havoc dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset, dll_circular_append_#t~mem10#1.base, dll_circular_append_#t~mem10#1.offset, dll_circular_append_#t~mem11#1.base, dll_circular_append_#t~mem11#1.offset, dll_circular_append_#t~mem12#1.base, dll_circular_append_#t~mem12#1.offset, dll_circular_append_#t~mem13#1.base, dll_circular_append_#t~mem13#1.offset, dll_circular_append_#t~mem14#1.base, dll_circular_append_#t~mem14#1.offset, dll_circular_append_~last~1#1.base, dll_circular_append_~last~1#1.offset, dll_circular_append_~head#1.base, dll_circular_append_~head#1.offset, dll_circular_append_~data#1, dll_circular_append_~new_last~0#1.base, dll_circular_append_~new_last~0#1.offset;dll_circular_append_~head#1.base, dll_circular_append_~head#1.offset := dll_circular_append_#in~head#1.base, dll_circular_append_#in~head#1.offset;dll_circular_append_~data#1 := dll_circular_append_#in~data#1; {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} is VALID [2022-02-20 23:58:09,005 INFO L272 TraceCheckUtils]: 32: Hoare triple {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} call dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset := node_create(dll_circular_append_~data#1); {8760#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:58:09,006 INFO L290 TraceCheckUtils]: 33: Hoare triple {8760#(= |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; {8764#(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:09,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {8764#(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); {8764#(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:09,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {8764#(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 {8764#(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:09,010 INFO L290 TraceCheckUtils]: 36: Hoare triple {8764#(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 {8764#(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:09,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {8764#(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 {8764#(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:09,012 INFO L290 TraceCheckUtils]: 38: Hoare triple {8764#(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; {8764#(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:09,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {8764#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} assume true; {8764#(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:09,014 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8764#(exists ((|node_create_~temp~0#1.base| (_ BitVec 32))) (= (store |old(#valid)| |node_create_~temp~0#1.base| (_ bv1 1)) |#valid|))} {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} #211#return; {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} is VALID [2022-02-20 23:58:09,016 INFO L290 TraceCheckUtils]: 41: Hoare triple {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} dll_circular_append_~new_last~0#1.base, dll_circular_append_~new_last~0#1.offset := dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset;havoc dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset; {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} is VALID [2022-02-20 23:58:09,016 INFO L290 TraceCheckUtils]: 42: Hoare triple {8756#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (not (= |#StackHeapBarrier| (_ bv0 32))) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))))} assume !(1bv1 == #valid[dll_circular_append_~head#1.base]); {8654#false} is VALID [2022-02-20 23:58:09,017 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:09,017 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:09,299 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:58:09,300 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1875309490] [2022-02-20 23:58:09,300 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1875309490] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:09,300 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleCvc4 [1880485318] [2022-02-20 23:58:09,300 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:09,300 INFO L173 SolverBuilder]: Constructing external solver with command: cvc4 --incremental --print-success --lang smt [2022-02-20 23:58:09,300 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 [2022-02-20 23:58:09,301 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:09,301 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:09,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:09,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 301 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 23:58:09,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:09,568 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:09,604 INFO L356 Elim1Store]: treesize reduction 12, result has 40.0 percent of original size [2022-02-20 23:58:09,605 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:09,659 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 23:58:09,659 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 13 treesize of output 9 [2022-02-20 23:58:09,777 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:09,780 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:09,802 INFO L356 Elim1Store]: treesize reduction 8, result has 60.0 percent of original size [2022-02-20 23:58:09,802 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 19 treesize of output 31 [2022-02-20 23:58:09,902 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 23:58:09,902 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 18 [2022-02-20 23:58:10,116 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,119 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,133 INFO L356 Elim1Store]: treesize reduction 8, result has 60.0 percent of original size [2022-02-20 23:58:10,133 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 40 [2022-02-20 23:58:10,710 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-02-20 23:58:10,711 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 18 [2022-02-20 23:58:10,854 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,857 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,868 INFO L356 Elim1Store]: treesize reduction 8, result has 60.0 percent of original size [2022-02-20 23:58:10,868 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 28 treesize of output 40 [2022-02-20 23:58:11,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {8653#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(23bv32, 2bv32); {8862#(= (_ bv1 1) (select |#valid| (_ bv1 32)))} is VALID [2022-02-20 23:58:11,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {8862#(= (_ bv1 1) (select |#valid| (_ bv1 32)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret15#1.base, main_#t~ret15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem17#1.base, main_#t~mem17#1.offset, main_#t~mem18#1.base, main_#t~mem18#1.offset, main_#t~mem22#1, main_#t~post23#1, main_#t~mem24#1.base, main_#t~mem24#1.offset, main_~len~0#1, main_~data~0#1, main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~ptr~0#1.base, main_~ptr~0#1.offset, main_~count~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; {8866#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))))} is VALID [2022-02-20 23:58:11,080 INFO L272 TraceCheckUtils]: 2: Hoare triple {8866#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))))} call dll_circular_create_#t~ret4#1.base, dll_circular_create_#t~ret4#1.offset := node_create(dll_circular_create_~data#1); {8665#(and (= |old(#valid)| |#valid|) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,080 INFO L290 TraceCheckUtils]: 3: Hoare triple {8665#(and (= |old(#valid)| |#valid|) (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; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,081 INFO L290 TraceCheckUtils]: 4: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,082 INFO L290 TraceCheckUtils]: 6: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,082 INFO L290 TraceCheckUtils]: 7: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,089 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {8866#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))))} #207#return; {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,090 INFO L290 TraceCheckUtils]: 11: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ 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; {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,091 INFO L290 TraceCheckUtils]: 12: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !!~bvsgt32(dll_circular_create_~len#1, 1bv32); {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,092 INFO L272 TraceCheckUtils]: 13: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ 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); {8904#(and (= |old(#valid)| |#valid|) (not (= |#StackHeapBarrier| (_ bv0 32))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {8904#(and (= |old(#valid)| |#valid|) (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; {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,097 INFO L290 TraceCheckUtils]: 17: Hoare triple {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,098 INFO L290 TraceCheckUtils]: 18: Hoare triple {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,099 INFO L290 TraceCheckUtils]: 19: Hoare triple {8908#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8924#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_#res#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {8924#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_#res#1.base| |#StackHeapBarrier|))} assume true; {8924#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_#res#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,106 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8924#(and (exists ((v_ArrVal_821 (_ BitVec 1))) (= (store |old(#valid)| |node_create_#res#1.base| v_ArrVal_821) |#valid|)) (not (= (bvadd |#StackHeapBarrier| (_ bv1 32)) (_ bv0 32))) (bvult |node_create_#res#1.base| |#StackHeapBarrier|))} {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} #209#return; {8931#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_#t~ret5#1.base| |#StackHeapBarrier|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (or (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1)) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.base| (_ bv1 32))))))} is VALID [2022-02-20 23:58:11,108 INFO L290 TraceCheckUtils]: 22: Hoare triple {8931#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_#t~ret5#1.base| |#StackHeapBarrier|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (or (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1)) (= |ULTIMATE.start_dll_circular_create_#t~ret5#1.base| (_ bv1 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; {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,113 INFO L290 TraceCheckUtils]: 23: Hoare triple {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} 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 {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,115 INFO L290 TraceCheckUtils]: 24: Hoare triple {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} assume dll_circular_create_~head~0#1.base != 0bv32 || dll_circular_create_~head~0#1.offset != 0bv32; {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,120 INFO L290 TraceCheckUtils]: 25: Hoare triple {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} 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 {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} is VALID [2022-02-20 23:58:11,121 INFO L290 TraceCheckUtils]: 26: Hoare triple {8935#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (exists ((v_arrayElimCell_27 (_ BitVec 1))) (and (or (= (_ bv1 32) |ULTIMATE.start_dll_circular_create_~new_head~0#1.base|) (= (bvadd (bvneg v_arrayElimCell_27) (select |#valid| (_ bv1 32))) (_ bv0 1))) (or (= (_ bv0 1) (bvadd v_arrayElimCell_27 (_ bv1 1))) (bvult (_ bv1 32) |#StackHeapBarrier|)))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)) (bvult |ULTIMATE.start_dll_circular_create_~new_head~0#1.base| |#StackHeapBarrier|))} 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; {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,122 INFO L290 TraceCheckUtils]: 27: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !~bvsgt32(dll_circular_create_~len#1, 1bv32); {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,123 INFO L290 TraceCheckUtils]: 28: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ 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 {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,125 INFO L290 TraceCheckUtils]: 29: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ 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 {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ 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; {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:58:11,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {8894#(and (bvult |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|)))} main_#t~ret15#1.base, main_#t~ret15#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~ret15#1.base, main_#t~ret15#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4bv32);havoc main_#t~ret15#1.base, main_#t~ret15#1.offset;main_~uneq~0#1 := 5bv32;assume { :begin_inline_dll_circular_append } true;dll_circular_append_#in~head#1.base, dll_circular_append_#in~head#1.offset, dll_circular_append_#in~data#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1;havoc dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset, dll_circular_append_#t~mem10#1.base, dll_circular_append_#t~mem10#1.offset, dll_circular_append_#t~mem11#1.base, dll_circular_append_#t~mem11#1.offset, dll_circular_append_#t~mem12#1.base, dll_circular_append_#t~mem12#1.offset, dll_circular_append_#t~mem13#1.base, dll_circular_append_#t~mem13#1.offset, dll_circular_append_#t~mem14#1.base, dll_circular_append_#t~mem14#1.offset, dll_circular_append_~last~1#1.base, dll_circular_append_~last~1#1.offset, dll_circular_append_~head#1.base, dll_circular_append_~head#1.offset, dll_circular_append_~data#1, dll_circular_append_~new_last~0#1.base, dll_circular_append_~new_last~0#1.offset;dll_circular_append_~head#1.base, dll_circular_append_~head#1.offset := dll_circular_append_#in~head#1.base, dll_circular_append_#in~head#1.offset;dll_circular_append_~data#1 := dll_circular_append_#in~data#1; {8963#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))} is VALID [2022-02-20 23:58:11,127 INFO L272 TraceCheckUtils]: 32: Hoare triple {8963#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))} call dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset := node_create(dll_circular_append_~data#1); {8904#(and (= |old(#valid)| |#valid|) (not (= |#StackHeapBarrier| (_ bv0 32))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,128 INFO L290 TraceCheckUtils]: 33: Hoare triple {8904#(and (= |old(#valid)| |#valid|) (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; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,128 INFO L290 TraceCheckUtils]: 34: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume !(0bv32 == ~temp~0#1.base && 0bv32 == ~temp~0#1.offset); {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,129 INFO L290 TraceCheckUtils]: 35: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~temp~0#1.offset, 4bv32); srcloc: L577-1 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,129 INFO L290 TraceCheckUtils]: 36: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~$Pointer$(0bv32, 0bv32, ~temp~0#1.base, ~bvadd32(4bv32, ~temp~0#1.offset), 4bv32); srcloc: L580 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,130 INFO L290 TraceCheckUtils]: 37: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} SUMMARY for call write~intINTTYPE4(~data#1, ~temp~0#1.base, ~bvadd32(8bv32, ~temp~0#1.offset), 4bv32); srcloc: L581 {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,130 INFO L290 TraceCheckUtils]: 38: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} #res#1.base, #res#1.offset := ~temp~0#1.base, ~temp~0#1.offset; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,131 INFO L290 TraceCheckUtils]: 39: Hoare triple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} assume true; {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} is VALID [2022-02-20 23:58:11,146 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8703#(and (exists ((|node_create_~temp~0#1.base| (_ BitVec 32)) (v_ArrVal_727 (_ BitVec 1))) (and (bvult |node_create_~temp~0#1.base| |#StackHeapBarrier|) (= (store |old(#valid)| |node_create_~temp~0#1.base| v_ArrVal_727) |#valid|))) (not (= |#StackHeapBarrier| (_ bv4294967295 32))))} {8963#(and (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)) (or (and (= (_ bv0 1) (bvadd (_ bv1 1) (select |#valid| (_ bv1 32)))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))} #211#return; {8991#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (or (and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (_ bv1 32)))) (_ bv1 1))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)))} is VALID [2022-02-20 23:58:11,147 INFO L290 TraceCheckUtils]: 41: Hoare triple {8991#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (or (and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (_ bv1 32)))) (_ bv1 1))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)))} dll_circular_append_~new_last~0#1.base, dll_circular_append_~new_last~0#1.offset := dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset;havoc dll_circular_append_#t~ret9#1.base, dll_circular_append_#t~ret9#1.offset; {8991#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (or (and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (_ bv1 32)))) (_ bv1 1))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)))} is VALID [2022-02-20 23:58:11,148 INFO L290 TraceCheckUtils]: 42: Hoare triple {8991#(and (exists ((|#StackHeapBarrier| (_ BitVec 32))) (and (or (and (= (_ bv0 1) (bvadd (bvneg (bvneg (select |#valid| (_ bv1 32)))) (_ bv1 1))) (not (= |#StackHeapBarrier| (_ bv0 32)))) (bvult (_ bv1 32) |#StackHeapBarrier|)) (bvult |#StackHeapBarrier| |ULTIMATE.start_dll_circular_append_~head#1.base|))) (= (_ bv1 1) (select |#valid| |ULTIMATE.start_dll_circular_append_~head#1.base|)))} assume !(1bv1 == #valid[dll_circular_append_~head#1.base]); {8654#false} is VALID [2022-02-20 23:58:11,148 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 7 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:11,148 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:11,247 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleCvc4 [1880485318] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:11,247 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:58:11,247 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 12] total 19 [2022-02-20 23:58:11,247 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1754080919] [2022-02-20 23:58:11,248 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:58:11,248 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 3.588235294117647) internal successors, (61), 16 states have internal predecessors, (61), 5 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) Word has length 43 [2022-02-20 23:58:11,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:11,248 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 17 states have (on average 3.588235294117647) internal successors, (61), 16 states have internal predecessors, (61), 5 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6) [2022-02-20 23:58:11,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:11,390 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:58:11,391 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:58:11,391 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:58:11,391 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=514, Unknown=0, NotChecked=0, Total=600 [2022-02-20 23:58:11,391 INFO L87 Difference]: Start difference. First operand 122 states and 129 transitions. Second operand has 20 states, 17 states have (on average 3.588235294117647) internal successors, (61), 16 states have internal predecessors, (61), 5 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 5 states have call successors, (6)