./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/list-simple/dll2n_insert_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/dll2n_insert_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 97351642d4f3bf3f6d868e0a3719427b4c33bd5e0f87a93a325784728b912f03 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:57:46,296 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:57:46,298 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:57:46,334 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:57:46,338 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:57:46,342 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:57:46,345 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:57:46,348 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:57:46,349 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:57:46,350 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:57:46,351 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:57:46,352 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:57:46,353 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:57:46,354 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:57:46,356 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:57:46,357 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:57:46,357 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:57:46,362 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:57:46,364 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:57:46,365 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:57:46,370 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:57:46,371 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:57:46,372 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:57:46,373 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:57:46,376 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:57:46,377 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:57:46,380 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:57:46,381 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:57:46,382 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:57:46,383 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:57:46,384 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:57:46,384 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:57:46,385 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:57:46,386 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:57:46,388 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:57:46,388 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:57:46,389 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:57:46,390 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:57:46,390 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:57:46,390 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:57:46,391 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:57:46,392 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:46,424 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:57:46,425 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:57:46,425 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:57:46,425 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:57:46,426 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:57:46,426 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:57:46,427 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:57:46,427 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:57:46,427 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:57:46,427 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:57:46,428 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:57:46,429 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:57:46,429 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:57:46,429 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:57:46,429 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:57:46,429 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:57:46,429 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:57:46,430 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:57:46,430 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:57:46,430 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:57:46,430 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:57:46,430 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:57:46,430 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:57:46,431 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:57:46,431 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:57:46,431 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:46,431 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:57:46,433 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:57:46,433 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:57:46,433 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:57:46,433 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 -> 97351642d4f3bf3f6d868e0a3719427b4c33bd5e0f87a93a325784728b912f03 [2022-02-20 23:57:46,627 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:57:46,650 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:57:46,653 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:57:46,655 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:57:46,655 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:57:46,657 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/dll2n_insert_unequal.i [2022-02-20 23:57:46,723 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1970be246/5e750cafc625425a84af75824234028b/FLAG1cfedfb93 [2022-02-20 23:57:47,139 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:57:47,139 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/dll2n_insert_unequal.i [2022-02-20 23:57:47,164 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1970be246/5e750cafc625425a84af75824234028b/FLAG1cfedfb93 [2022-02-20 23:57:47,509 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1970be246/5e750cafc625425a84af75824234028b [2022-02-20 23:57:47,511 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:57:47,513 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:57:47,514 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:47,514 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:57:47,521 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:57:47,523 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:47" (1/1) ... [2022-02-20 23:57:47,524 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@59ff2852 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:47, skipping insertion in model container [2022-02-20 23:57:47,525 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:57:47" (1/1) ... [2022-02-20 23:57:47,532 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:57:47,568 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:57:47,909 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/dll2n_insert_unequal.i[24989,25002] [2022-02-20 23:57:47,917 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:47,937 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:57:48,005 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/dll2n_insert_unequal.i[24989,25002] [2022-02-20 23:57:48,006 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:57:48,034 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:57:48,035 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:48 WrapperNode [2022-02-20 23:57:48,036 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:57:48,037 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:48,038 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:57:48,038 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:57:48,044 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:48" (1/1) ... [2022-02-20 23:57:48,058 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:48" (1/1) ... [2022-02-20 23:57:48,098 INFO L137 Inliner]: procedures = 127, calls = 48, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 168 [2022-02-20 23:57:48,099 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:57:48,099 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:57:48,100 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:57:48,100 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:57:48,107 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:48" (1/1) ... [2022-02-20 23:57:48,107 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:48" (1/1) ... [2022-02-20 23:57:48,111 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:48" (1/1) ... [2022-02-20 23:57:48,111 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:48" (1/1) ... [2022-02-20 23:57:48,122 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:48" (1/1) ... [2022-02-20 23:57:48,127 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:48" (1/1) ... [2022-02-20 23:57:48,128 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:48" (1/1) ... [2022-02-20 23:57:48,131 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:57:48,132 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:57:48,132 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:57:48,132 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:57:48,133 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:48" (1/1) ... [2022-02-20 23:57:48,150 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:57:48,166 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:48,180 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:48,182 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:48,209 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2022-02-20 23:57:48,210 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2022-02-20 23:57:48,210 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:57:48,210 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:57:48,210 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:57:48,211 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:57:48,212 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:57:48,212 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:57:48,299 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:57:48,301 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:57:48,339 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2022-02-20 23:57:48,852 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:57:48,859 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:57:48,859 INFO L299 CfgBuilder]: Removed 5 assume(true) statements. [2022-02-20 23:57:48,861 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:48 BoogieIcfgContainer [2022-02-20 23:57:48,861 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:57:48,863 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:57:48,863 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:57:48,866 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:57:48,866 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:57:47" (1/3) ... [2022-02-20 23:57:48,867 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@32df989e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:48, skipping insertion in model container [2022-02-20 23:57:48,867 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:57:48" (2/3) ... [2022-02-20 23:57:48,868 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@32df989e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:57:48, skipping insertion in model container [2022-02-20 23:57:48,868 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:57:48" (3/3) ... [2022-02-20 23:57:48,869 INFO L111 eAbstractionObserver]: Analyzing ICFG dll2n_insert_unequal.i [2022-02-20 23:57:48,874 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:57:48,874 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 61 error locations. [2022-02-20 23:57:48,910 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:57:48,916 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:48,916 INFO L340 AbstractCegarLoop]: Starting to check reachability of 61 error locations. [2022-02-20 23:57:48,940 INFO L276 IsEmpty]: Start isEmpty. Operand has 134 states, 70 states have (on average 2.157142857142857) internal successors, (151), 132 states have internal predecessors, (151), 2 states have call successors, (2), 1 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:48,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:57:48,947 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:48,948 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:57:48,949 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:48,957 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:48,958 INFO L85 PathProgramCache]: Analyzing trace with hash 33471376, now seen corresponding path program 1 times [2022-02-20 23:57:48,968 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:48,968 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [493085438] [2022-02-20 23:57:48,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:48,970 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:49,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:49,159 INFO L290 TraceCheckUtils]: 0: Hoare triple {137#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); {137#true} is VALID [2022-02-20 23:57:49,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {137#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {137#true} is VALID [2022-02-20 23:57:49,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {137#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {139#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:49,162 INFO L290 TraceCheckUtils]: 3: Hoare triple {139#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {139#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:49,163 INFO L290 TraceCheckUtils]: 4: Hoare triple {139#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume !(1 == #valid[dll_create_~new_head~0#1.base]); {138#false} is VALID [2022-02-20 23:57:49,164 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:49,164 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:49,165 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [493085438] [2022-02-20 23:57:49,165 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [493085438] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:49,165 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:49,166 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:49,169 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [544467786] [2022-02-20 23:57:49,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:49,175 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:49,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:49,178 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:49,185 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:49,185 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:49,186 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:49,209 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:49,210 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:49,214 INFO L87 Difference]: Start difference. First operand has 134 states, 70 states have (on average 2.157142857142857) internal successors, (151), 132 states have internal predecessors, (151), 2 states have call successors, (2), 1 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:49,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:49,723 INFO L93 Difference]: Finished difference Result 241 states and 266 transitions. [2022-02-20 23:57:49,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:49,723 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:49,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:49,724 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:49,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 281 transitions. [2022-02-20 23:57:49,737 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:49,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 281 transitions. [2022-02-20 23:57:49,744 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 281 transitions. [2022-02-20 23:57:49,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 281 edges. 281 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:50,015 INFO L225 Difference]: With dead ends: 241 [2022-02-20 23:57:50,016 INFO L226 Difference]: Without dead ends: 234 [2022-02-20 23:57:50,017 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:50,020 INFO L933 BasicCegarLoop]: 202 mSDtfsCounter, 130 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 130 SdHoareTripleChecker+Valid, 274 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:50,021 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [130 Valid, 274 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:50,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 234 states. [2022-02-20 23:57:50,052 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 234 to 125. [2022-02-20 23:57:50,052 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:50,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 234 states. Second operand has 125 states, 67 states have (on average 2.029850746268657) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,055 INFO L74 IsIncluded]: Start isIncluded. First operand 234 states. Second operand has 125 states, 67 states have (on average 2.029850746268657) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,055 INFO L87 Difference]: Start difference. First operand 234 states. Second operand has 125 states, 67 states have (on average 2.029850746268657) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,066 INFO L93 Difference]: Finished difference Result 234 states and 256 transitions. [2022-02-20 23:57:50,066 INFO L276 IsEmpty]: Start isEmpty. Operand 234 states and 256 transitions. [2022-02-20 23:57:50,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:50,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:50,068 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 67 states have (on average 2.029850746268657) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 234 states. [2022-02-20 23:57:50,069 INFO L87 Difference]: Start difference. First operand has 125 states, 67 states have (on average 2.029850746268657) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 234 states. [2022-02-20 23:57:50,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,079 INFO L93 Difference]: Finished difference Result 234 states and 256 transitions. [2022-02-20 23:57:50,079 INFO L276 IsEmpty]: Start isEmpty. Operand 234 states and 256 transitions. [2022-02-20 23:57:50,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:50,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:50,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:50,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:50,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 67 states have (on average 2.029850746268657) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 136 transitions. [2022-02-20 23:57:50,087 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 136 transitions. Word has length 5 [2022-02-20 23:57:50,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:50,087 INFO L470 AbstractCegarLoop]: Abstraction has 125 states and 136 transitions. [2022-02-20 23:57:50,088 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,088 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 136 transitions. [2022-02-20 23:57:50,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:57:50,088 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:50,088 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:57:50,089 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:57:50,089 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:50,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:50,090 INFO L85 PathProgramCache]: Analyzing trace with hash 33471377, now seen corresponding path program 1 times [2022-02-20 23:57:50,090 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:50,090 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1160511531] [2022-02-20 23:57:50,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:50,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:50,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:50,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {976#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); {976#true} is VALID [2022-02-20 23:57:50,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {976#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {976#true} is VALID [2022-02-20 23:57:50,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {976#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {978#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:50,135 INFO L290 TraceCheckUtils]: 3: Hoare triple {978#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (- 12)) 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {978#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:57:50,135 INFO L290 TraceCheckUtils]: 4: Hoare triple {978#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (- 12)) 0))} assume !(4 + dll_create_~new_head~0#1.offset <= #length[dll_create_~new_head~0#1.base] && 0 <= dll_create_~new_head~0#1.offset); {977#false} is VALID [2022-02-20 23:57:50,136 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:50,136 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:50,136 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1160511531] [2022-02-20 23:57:50,136 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1160511531] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:50,136 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:50,137 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:50,137 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [817592264] [2022-02-20 23:57:50,137 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:50,138 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:50,138 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:50,139 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,143 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:50,143 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:50,143 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:50,144 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:50,144 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:50,144 INFO L87 Difference]: Start difference. First operand 125 states and 136 transitions. Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,488 INFO L93 Difference]: Finished difference Result 233 states and 254 transitions. [2022-02-20 23:57:50,488 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:50,489 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:50,489 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:50,489 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 257 transitions. [2022-02-20 23:57:50,493 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 257 transitions. [2022-02-20 23:57:50,496 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 257 transitions. [2022-02-20 23:57:50,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 257 edges. 257 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:50,705 INFO L225 Difference]: With dead ends: 233 [2022-02-20 23:57:50,705 INFO L226 Difference]: Without dead ends: 233 [2022-02-20 23:57:50,706 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:50,707 INFO L933 BasicCegarLoop]: 197 mSDtfsCounter, 128 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 108 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 128 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 108 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:50,707 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [128 Valid, 268 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 108 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:50,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 233 states. [2022-02-20 23:57:50,713 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 233 to 122. [2022-02-20 23:57:50,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:50,714 INFO L82 GeneralOperation]: Start isEquivalent. First operand 233 states. Second operand has 122 states, 67 states have (on average 1.9850746268656716) internal successors, (133), 121 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,714 INFO L74 IsIncluded]: Start isIncluded. First operand 233 states. Second operand has 122 states, 67 states have (on average 1.9850746268656716) internal successors, (133), 121 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,715 INFO L87 Difference]: Start difference. First operand 233 states. Second operand has 122 states, 67 states have (on average 1.9850746268656716) internal successors, (133), 121 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,726 INFO L93 Difference]: Finished difference Result 233 states and 254 transitions. [2022-02-20 23:57:50,727 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 254 transitions. [2022-02-20 23:57:50,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:50,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:50,729 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 67 states have (on average 1.9850746268656716) internal successors, (133), 121 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 233 states. [2022-02-20 23:57:50,729 INFO L87 Difference]: Start difference. First operand has 122 states, 67 states have (on average 1.9850746268656716) internal successors, (133), 121 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 233 states. [2022-02-20 23:57:50,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,740 INFO L93 Difference]: Finished difference Result 233 states and 254 transitions. [2022-02-20 23:57:50,740 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 254 transitions. [2022-02-20 23:57:50,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:50,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:50,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:50,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:50,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 67 states have (on average 1.9850746268656716) internal successors, (133), 121 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 133 transitions. [2022-02-20 23:57:50,746 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 133 transitions. Word has length 5 [2022-02-20 23:57:50,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:50,747 INFO L470 AbstractCegarLoop]: Abstraction has 122 states and 133 transitions. [2022-02-20 23:57:50,747 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), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,747 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 133 transitions. [2022-02-20 23:57:50,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:57:50,747 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:50,747 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:50,748 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:57:50,748 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:50,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:50,748 INFO L85 PathProgramCache]: Analyzing trace with hash 2100113040, now seen corresponding path program 1 times [2022-02-20 23:57:50,748 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:50,749 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1519483950] [2022-02-20 23:57:50,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:50,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:50,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:50,790 INFO L290 TraceCheckUtils]: 0: Hoare triple {1802#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); {1802#true} is VALID [2022-02-20 23:57:50,791 INFO L290 TraceCheckUtils]: 1: Hoare triple {1802#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1804#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:50,791 INFO L290 TraceCheckUtils]: 2: Hoare triple {1804#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !(dll_create_~len#1 > 0); {1803#false} is VALID [2022-02-20 23:57:50,791 INFO L290 TraceCheckUtils]: 3: Hoare triple {1803#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1803#false} is VALID [2022-02-20 23:57:50,792 INFO L290 TraceCheckUtils]: 4: Hoare triple {1803#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {1803#false} is VALID [2022-02-20 23:57:50,792 INFO L290 TraceCheckUtils]: 5: Hoare triple {1803#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {1803#false} is VALID [2022-02-20 23:57:50,792 INFO L290 TraceCheckUtils]: 6: Hoare triple {1803#false} assume !(1 == #valid[node_create_~temp~0#1.base]); {1803#false} is VALID [2022-02-20 23:57:50,792 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:50,792 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:50,793 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1519483950] [2022-02-20 23:57:50,793 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1519483950] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:50,793 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:50,793 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:57:50,793 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [204035480] [2022-02-20 23:57:50,793 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:50,794 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:57:50,794 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:50,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:50,802 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:50,802 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:50,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:50,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:50,803 INFO L87 Difference]: Start difference. First operand 122 states and 133 transitions. Second operand has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:50,930 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-02-20 23:57:50,930 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:50,931 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:57:50,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:50,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 145 transitions. [2022-02-20 23:57:50,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:50,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 145 transitions. [2022-02-20 23:57:50,936 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 145 transitions. [2022-02-20 23:57:51,051 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:51,053 INFO L225 Difference]: With dead ends: 132 [2022-02-20 23:57:51,053 INFO L226 Difference]: Without dead ends: 132 [2022-02-20 23:57:51,054 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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:51,055 INFO L933 BasicCegarLoop]: 131 mSDtfsCounter, 10 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 260 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:51,055 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 260 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:51,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-02-20 23:57:51,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 123. [2022-02-20 23:57:51,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:51,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 123 states, 68 states have (on average 1.9705882352941178) internal successors, (134), 122 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,061 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 123 states, 68 states have (on average 1.9705882352941178) internal successors, (134), 122 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,061 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 123 states, 68 states have (on average 1.9705882352941178) internal successors, (134), 122 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,064 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-02-20 23:57:51,064 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-02-20 23:57:51,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:51,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:51,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 68 states have (on average 1.9705882352941178) internal successors, (134), 122 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 132 states. [2022-02-20 23:57:51,066 INFO L87 Difference]: Start difference. First operand has 123 states, 68 states have (on average 1.9705882352941178) internal successors, (134), 122 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 132 states. [2022-02-20 23:57:51,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,069 INFO L93 Difference]: Finished difference Result 132 states and 144 transitions. [2022-02-20 23:57:51,069 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 144 transitions. [2022-02-20 23:57:51,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:51,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:51,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:51,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:51,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 68 states have (on average 1.9705882352941178) internal successors, (134), 122 states have internal predecessors, (134), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 134 transitions. [2022-02-20 23:57:51,074 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 134 transitions. Word has length 7 [2022-02-20 23:57:51,074 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:51,074 INFO L470 AbstractCegarLoop]: Abstraction has 123 states and 134 transitions. [2022-02-20 23:57:51,074 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,074 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 134 transitions. [2022-02-20 23:57:51,075 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:57:51,075 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:51,075 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:51,075 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:57:51,075 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:51,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:51,076 INFO L85 PathProgramCache]: Analyzing trace with hash 638916372, now seen corresponding path program 1 times [2022-02-20 23:57:51,076 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:51,076 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780482080] [2022-02-20 23:57:51,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:51,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:51,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {2326#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); {2326#true} is VALID [2022-02-20 23:57:51,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {2326#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:51,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:51,168 INFO L290 TraceCheckUtils]: 3: Hoare triple {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:51,169 INFO L290 TraceCheckUtils]: 4: Hoare triple {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:51,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:51,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:51,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {2328#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {2327#false} is VALID [2022-02-20 23:57:51,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {2327#false} assume !(1 == #valid[dll_create_~head~0#1.base]); {2327#false} is VALID [2022-02-20 23:57:51,173 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:51,173 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:51,173 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [780482080] [2022-02-20 23:57:51,173 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [780482080] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:51,173 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:51,174 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:57:51,174 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1689543632] [2022-02-20 23:57:51,174 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:51,175 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:57:51,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:51,176 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,185 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:51,185 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:51,186 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:51,186 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:51,187 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:51,187 INFO L87 Difference]: Start difference. First operand 123 states and 134 transitions. Second operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,312 INFO L93 Difference]: Finished difference Result 129 states and 140 transitions. [2022-02-20 23:57:51,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:51,312 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:57:51,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:51,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:57:51,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 141 transitions. [2022-02-20 23:57:51,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 141 transitions. [2022-02-20 23:57:51,424 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:51,426 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:57:51,426 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:57:51,426 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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:51,427 INFO L933 BasicCegarLoop]: 131 mSDtfsCounter, 1 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 255 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:51,427 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 255 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:51,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:57:51,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 128. [2022-02-20 23:57:51,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:51,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 128 states, 73 states have (on average 1.904109589041096) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,432 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 128 states, 73 states have (on average 1.904109589041096) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,432 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 128 states, 73 states have (on average 1.904109589041096) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,435 INFO L93 Difference]: Finished difference Result 129 states and 140 transitions. [2022-02-20 23:57:51,435 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 140 transitions. [2022-02-20 23:57:51,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:51,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:51,436 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 73 states have (on average 1.904109589041096) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 129 states. [2022-02-20 23:57:51,437 INFO L87 Difference]: Start difference. First operand has 128 states, 73 states have (on average 1.904109589041096) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 129 states. [2022-02-20 23:57:51,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:51,440 INFO L93 Difference]: Finished difference Result 129 states and 140 transitions. [2022-02-20 23:57:51,440 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 140 transitions. [2022-02-20 23:57:51,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:51,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:51,441 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:51,441 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:51,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 73 states have (on average 1.904109589041096) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 139 transitions. [2022-02-20 23:57:51,444 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 139 transitions. Word has length 9 [2022-02-20 23:57:51,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:51,444 INFO L470 AbstractCegarLoop]: Abstraction has 128 states and 139 transitions. [2022-02-20 23:57:51,444 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,445 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 139 transitions. [2022-02-20 23:57:51,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:57:51,445 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:51,445 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:51,445 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:57:51,446 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:51,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:51,446 INFO L85 PathProgramCache]: Analyzing trace with hash -763066913, now seen corresponding path program 1 times [2022-02-20 23:57:51,446 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:51,447 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1740457514] [2022-02-20 23:57:51,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:51,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:51,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {2846#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); {2846#true} is VALID [2022-02-20 23:57:51,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {2846#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,552 INFO L290 TraceCheckUtils]: 3: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,552 INFO L290 TraceCheckUtils]: 4: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,553 INFO L290 TraceCheckUtils]: 6: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 23:57:51,554 INFO L290 TraceCheckUtils]: 8: Hoare triple {2848#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {2849#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {2849#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {2847#false} is VALID [2022-02-20 23:57:51,555 INFO L290 TraceCheckUtils]: 10: Hoare triple {2847#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2847#false} is VALID [2022-02-20 23:57:51,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {2847#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {2847#false} is VALID [2022-02-20 23:57:51,555 INFO L290 TraceCheckUtils]: 12: Hoare triple {2847#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {2847#false} is VALID [2022-02-20 23:57:51,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {2847#false} assume !(1 == #valid[node_create_~temp~0#1.base]); {2847#false} is VALID [2022-02-20 23:57:51,559 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:51,559 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:51,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1740457514] [2022-02-20 23:57:51,559 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1740457514] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:51,559 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1692100417] [2022-02-20 23:57:51,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:51,560 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:51,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:51,567 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:51,574 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:51,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,679 INFO L263 TraceCheckSpWp]: Trace formula consists of 169 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:57:51,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:51,719 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:51,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {2846#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); {2846#true} is VALID [2022-02-20 23:57:51,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {2846#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,877 INFO L290 TraceCheckUtils]: 4: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {2849#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {2849#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {2847#false} is VALID [2022-02-20 23:57:51,893 INFO L290 TraceCheckUtils]: 10: Hoare triple {2847#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2847#false} is VALID [2022-02-20 23:57:51,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {2847#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {2847#false} is VALID [2022-02-20 23:57:51,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {2847#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {2847#false} is VALID [2022-02-20 23:57:51,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {2847#false} assume !(1 == #valid[node_create_~temp~0#1.base]); {2847#false} is VALID [2022-02-20 23:57:51,893 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:51,894 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:51,974 INFO L290 TraceCheckUtils]: 13: Hoare triple {2847#false} assume !(1 == #valid[node_create_~temp~0#1.base]); {2847#false} is VALID [2022-02-20 23:57:51,974 INFO L290 TraceCheckUtils]: 12: Hoare triple {2847#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {2847#false} is VALID [2022-02-20 23:57:51,975 INFO L290 TraceCheckUtils]: 11: Hoare triple {2847#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {2847#false} is VALID [2022-02-20 23:57:51,975 INFO L290 TraceCheckUtils]: 10: Hoare triple {2847#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2847#false} is VALID [2022-02-20 23:57:51,975 INFO L290 TraceCheckUtils]: 9: Hoare triple {2849#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {2847#false} is VALID [2022-02-20 23:57:51,976 INFO L290 TraceCheckUtils]: 8: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {2849#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,977 INFO L290 TraceCheckUtils]: 6: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,978 INFO L290 TraceCheckUtils]: 4: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,978 INFO L290 TraceCheckUtils]: 3: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {2846#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2856#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 23:57:51,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {2846#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); {2846#true} is VALID [2022-02-20 23:57:51,979 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:51,980 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1692100417] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:51,980 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:51,980 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 5 [2022-02-20 23:57:51,980 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1993226758] [2022-02-20 23:57:51,980 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:51,981 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:57:51,981 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:51,981 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:51,999 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:51,999 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:57:51,999 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:52,000 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:57:52,000 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:57:52,000 INFO L87 Difference]: Start difference. First operand 128 states and 139 transitions. Second operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:52,149 INFO L93 Difference]: Finished difference Result 130 states and 141 transitions. [2022-02-20 23:57:52,150 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:57:52,150 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:57:52,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:52,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 142 transitions. [2022-02-20 23:57:52,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 142 transitions. [2022-02-20 23:57:52,153 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 142 transitions. [2022-02-20 23:57:52,264 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:52,266 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:57:52,266 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:57:52,266 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:57:52,267 INFO L933 BasicCegarLoop]: 131 mSDtfsCounter, 16 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:52,268 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 269 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:52,268 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:57:52,271 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 130. [2022-02-20 23:57:52,271 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:52,271 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 130 states, 75 states have (on average 1.88) internal successors, (141), 129 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,272 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 130 states, 75 states have (on average 1.88) internal successors, (141), 129 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,272 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 130 states, 75 states have (on average 1.88) internal successors, (141), 129 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:52,275 INFO L93 Difference]: Finished difference Result 130 states and 141 transitions. [2022-02-20 23:57:52,275 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 141 transitions. [2022-02-20 23:57:52,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:52,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:52,276 INFO L74 IsIncluded]: Start isIncluded. First operand has 130 states, 75 states have (on average 1.88) internal successors, (141), 129 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 130 states. [2022-02-20 23:57:52,277 INFO L87 Difference]: Start difference. First operand has 130 states, 75 states have (on average 1.88) internal successors, (141), 129 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 130 states. [2022-02-20 23:57:52,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:52,294 INFO L93 Difference]: Finished difference Result 130 states and 141 transitions. [2022-02-20 23:57:52,294 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 141 transitions. [2022-02-20 23:57:52,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:52,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:52,294 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:52,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:52,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 130 states, 75 states have (on average 1.88) internal successors, (141), 129 states have internal predecessors, (141), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 141 transitions. [2022-02-20 23:57:52,298 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 141 transitions. Word has length 14 [2022-02-20 23:57:52,298 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:52,298 INFO L470 AbstractCegarLoop]: Abstraction has 130 states and 141 transitions. [2022-02-20 23:57:52,298 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.4) internal successors, (22), 5 states have internal predecessors, (22), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:52,298 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 141 transitions. [2022-02-20 23:57:52,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:57:52,299 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:52,299 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:52,329 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:52,515 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:52,516 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:52,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:52,516 INFO L85 PathProgramCache]: Analyzing trace with hash -2097949021, now seen corresponding path program 1 times [2022-02-20 23:57:52,516 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:52,516 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [178268178] [2022-02-20 23:57:52,516 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:52,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:52,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:52,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {3451#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); {3451#true} is VALID [2022-02-20 23:57:52,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {3451#true} is VALID [2022-02-20 23:57:52,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,639 INFO L290 TraceCheckUtils]: 3: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,639 INFO L290 TraceCheckUtils]: 4: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,640 INFO L290 TraceCheckUtils]: 6: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,641 INFO L290 TraceCheckUtils]: 8: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,642 INFO L290 TraceCheckUtils]: 9: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {3455#(or (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 23:57:52,642 INFO L290 TraceCheckUtils]: 10: Hoare triple {3455#(or (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3455#(or (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 23:57:52,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {3455#(or (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,645 INFO L290 TraceCheckUtils]: 12: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,647 INFO L290 TraceCheckUtils]: 15: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_create_~head~0#1.base]); {3452#false} is VALID [2022-02-20 23:57:52,647 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:52,647 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:52,647 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [178268178] [2022-02-20 23:57:52,648 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [178268178] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:52,648 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1554163473] [2022-02-20 23:57:52,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:52,648 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:52,648 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:52,649 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:52,676 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:52,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:52,743 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:57:52,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:52,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:52,790 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:52,875 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:57:52,878 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:52,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {3451#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); {3451#true} is VALID [2022-02-20 23:57:52,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {3451#true} is VALID [2022-02-20 23:57:52,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,922 INFO L290 TraceCheckUtils]: 3: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,923 INFO L290 TraceCheckUtils]: 4: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,924 INFO L290 TraceCheckUtils]: 6: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {3453#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:52,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_create_~head~0#1.base]); {3452#false} is VALID [2022-02-20 23:57:52,929 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:52,929 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:53,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !(1 == #valid[dll_create_~head~0#1.base]); {3452#false} is VALID [2022-02-20 23:57:53,449 INFO L290 TraceCheckUtils]: 14: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:53,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:53,449 INFO L290 TraceCheckUtils]: 12: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:53,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:53,453 INFO L290 TraceCheckUtils]: 10: Hoare triple {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:53,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {3522#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~head~0#1.base|) 1)))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {3454#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 23:57:53,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {3522#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,456 INFO L290 TraceCheckUtils]: 6: Hoare triple {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,457 INFO L290 TraceCheckUtils]: 5: Hoare triple {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,457 INFO L290 TraceCheckUtils]: 4: Hoare triple {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,458 INFO L290 TraceCheckUtils]: 3: Hoare triple {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {3451#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {3526#(forall ((v_ArrVal_168 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| Int)) (or (not (= 0 (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18|))) (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_18| v_ArrVal_168) |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)))} is VALID [2022-02-20 23:57:53,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {3451#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {3451#true} is VALID [2022-02-20 23:57:53,459 INFO L290 TraceCheckUtils]: 0: Hoare triple {3451#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); {3451#true} is VALID [2022-02-20 23:57:53,459 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:53,460 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1554163473] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:53,460 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:53,460 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 4] total 6 [2022-02-20 23:57:53,460 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507500548] [2022-02-20 23:57:53,460 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:53,461 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:57:53,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:53,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:53,486 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:57:53,486 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:53,487 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:57:53,487 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:53,487 INFO L87 Difference]: Start difference. First operand 130 states and 141 transitions. Second operand has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:53,784 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-02-20 23:57:53,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:57:53,784 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:57:53,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:53,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 153 transitions. [2022-02-20 23:57:53,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 153 transitions. [2022-02-20 23:57:53,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 153 transitions. [2022-02-20 23:57:53,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:53,917 INFO L225 Difference]: With dead ends: 141 [2022-02-20 23:57:53,918 INFO L226 Difference]: Without dead ends: 141 [2022-02-20 23:57:53,918 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:57:53,919 INFO L933 BasicCegarLoop]: 71 mSDtfsCounter, 255 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 255 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 70 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:53,919 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [255 Valid, 152 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 82 Invalid, 0 Unknown, 70 Unchecked, 0.1s Time] [2022-02-20 23:57:53,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-02-20 23:57:53,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 129. [2022-02-20 23:57:53,922 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:53,922 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 129 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 128 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,923 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 129 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 128 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,923 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 129 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 128 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:53,926 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-02-20 23:57:53,926 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 153 transitions. [2022-02-20 23:57:53,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:53,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:53,926 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 128 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 141 states. [2022-02-20 23:57:53,927 INFO L87 Difference]: Start difference. First operand has 129 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 128 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 141 states. [2022-02-20 23:57:53,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:53,930 INFO L93 Difference]: Finished difference Result 141 states and 153 transitions. [2022-02-20 23:57:53,930 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 153 transitions. [2022-02-20 23:57:53,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:53,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:53,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:53,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:53,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 75 states have (on average 1.8666666666666667) internal successors, (140), 128 states have internal predecessors, (140), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 140 transitions. [2022-02-20 23:57:53,934 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 140 transitions. Word has length 16 [2022-02-20 23:57:53,934 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:53,934 INFO L470 AbstractCegarLoop]: Abstraction has 129 states and 140 transitions. [2022-02-20 23:57:53,935 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 4.5) internal successors, (27), 7 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:53,935 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 140 transitions. [2022-02-20 23:57:53,935 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:57:53,935 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:53,935 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:53,961 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 23:57:54,151 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,SelfDestructingSolverStorable5 [2022-02-20 23:57:54,151 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:54,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:54,152 INFO L85 PathProgramCache]: Analyzing trace with hash -2097949020, now seen corresponding path program 1 times [2022-02-20 23:57:54,152 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:54,152 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1829901249] [2022-02-20 23:57:54,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:54,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:54,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:54,291 INFO L290 TraceCheckUtils]: 0: Hoare triple {4105#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); {4105#true} is VALID [2022-02-20 23:57:54,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {4105#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {4105#true} is VALID [2022-02-20 23:57:54,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {4105#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4107#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 23:57:54,293 INFO L290 TraceCheckUtils]: 3: Hoare triple {4107#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4107#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 23:57:54,300 INFO L290 TraceCheckUtils]: 4: Hoare triple {4107#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4108#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1))} is VALID [2022-02-20 23:57:54,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {4108#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4108#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1))} is VALID [2022-02-20 23:57:54,301 INFO L290 TraceCheckUtils]: 6: Hoare triple {4108#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4110#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {4110#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,304 INFO L290 TraceCheckUtils]: 10: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,305 INFO L290 TraceCheckUtils]: 11: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,306 INFO L290 TraceCheckUtils]: 12: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,307 INFO L290 TraceCheckUtils]: 13: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,308 INFO L290 TraceCheckUtils]: 15: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(4 + (8 + dll_create_~head~0#1.offset) <= #length[dll_create_~head~0#1.base] && 0 <= 8 + dll_create_~head~0#1.offset); {4106#false} is VALID [2022-02-20 23:57:54,308 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:54,309 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:54,309 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1829901249] [2022-02-20 23:57:54,309 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1829901249] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:54,309 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [79412222] [2022-02-20 23:57:54,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:54,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:54,310 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:54,311 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:54,313 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:54,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:54,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:57:54,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:54,427 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:54,465 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:54,475 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:54,596 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:57:54,598 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:54,611 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:57:54,611 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:54,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {4105#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); {4105#true} is VALID [2022-02-20 23:57:54,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {4105#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {4105#true} is VALID [2022-02-20 23:57:54,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {4105#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,662 INFO L290 TraceCheckUtils]: 3: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,663 INFO L290 TraceCheckUtils]: 4: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,664 INFO L290 TraceCheckUtils]: 6: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 23:57:54,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {4109#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4110#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,666 INFO L290 TraceCheckUtils]: 9: Hoare triple {4110#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,667 INFO L290 TraceCheckUtils]: 10: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,667 INFO L290 TraceCheckUtils]: 11: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:57:54,670 INFO L290 TraceCheckUtils]: 15: Hoare triple {4111#(and (<= 12 (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(4 + (8 + dll_create_~head~0#1.offset) <= #length[dll_create_~head~0#1.base] && 0 <= 8 + dll_create_~head~0#1.offset); {4106#false} is VALID [2022-02-20 23:57:54,670 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:54,670 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:55,287 INFO L290 TraceCheckUtils]: 15: Hoare triple {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} assume !(4 + (8 + dll_create_~head~0#1.offset) <= #length[dll_create_~head~0#1.base] && 0 <= 8 + dll_create_~head~0#1.offset); {4106#false} is VALID [2022-02-20 23:57:55,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} is VALID [2022-02-20 23:57:55,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} is VALID [2022-02-20 23:57:55,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} is VALID [2022-02-20 23:57:55,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} is VALID [2022-02-20 23:57:55,291 INFO L290 TraceCheckUtils]: 10: Hoare triple {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} is VALID [2022-02-20 23:57:55,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {4179#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4160#(and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|)))} is VALID [2022-02-20 23:57:55,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4179#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,295 INFO L290 TraceCheckUtils]: 6: Hoare triple {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,296 INFO L290 TraceCheckUtils]: 5: Hoare triple {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,297 INFO L290 TraceCheckUtils]: 4: Hoare triple {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,298 INFO L290 TraceCheckUtils]: 3: Hoare triple {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {4105#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4183#(forall ((|v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| Int)) (or (and (<= 0 (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) (forall ((v_ArrVal_255 Int)) (<= (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) (select (store |#length| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20| v_ArrVal_255) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (not (= (select |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_20|) 0))))} is VALID [2022-02-20 23:57:55,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {4105#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {4105#true} is VALID [2022-02-20 23:57:55,299 INFO L290 TraceCheckUtils]: 0: Hoare triple {4105#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); {4105#true} is VALID [2022-02-20 23:57:55,300 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:55,300 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [79412222] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:55,300 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:55,300 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4, 4] total 9 [2022-02-20 23:57:55,300 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089404422] [2022-02-20 23:57:55,301 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:55,301 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:57:55,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:55,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:55,336 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:55,337 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:57:55,337 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:55,337 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:57:55,338 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:57:55,338 INFO L87 Difference]: Start difference. First operand 129 states and 140 transitions. Second operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:55,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:55,939 INFO L93 Difference]: Finished difference Result 140 states and 152 transitions. [2022-02-20 23:57:55,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:57:55,940 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:57:55,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:55,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:55,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 152 transitions. [2022-02-20 23:57:55,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:55,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 152 transitions. [2022-02-20 23:57:55,943 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 152 transitions. [2022-02-20 23:57:56,085 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:56,086 INFO L225 Difference]: With dead ends: 140 [2022-02-20 23:57:56,086 INFO L226 Difference]: Without dead ends: 140 [2022-02-20 23:57:56,087 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 28 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=91, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:57:56,087 INFO L933 BasicCegarLoop]: 47 mSDtfsCounter, 527 mSDsluCounter, 29 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 527 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 162 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 25 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:56,087 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [527 Valid, 76 Invalid, 162 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 124 Invalid, 0 Unknown, 25 Unchecked, 0.1s Time] [2022-02-20 23:57:56,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2022-02-20 23:57:56,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 128. [2022-02-20 23:57:56,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:56,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand has 128 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,091 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand has 128 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,091 INFO L87 Difference]: Start difference. First operand 140 states. Second operand has 128 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,094 INFO L93 Difference]: Finished difference Result 140 states and 152 transitions. [2022-02-20 23:57:56,094 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 152 transitions. [2022-02-20 23:57:56,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:56,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:56,095 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 140 states. [2022-02-20 23:57:56,095 INFO L87 Difference]: Start difference. First operand has 128 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 140 states. [2022-02-20 23:57:56,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,098 INFO L93 Difference]: Finished difference Result 140 states and 152 transitions. [2022-02-20 23:57:56,098 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 152 transitions. [2022-02-20 23:57:56,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:56,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:56,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:56,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:56,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 75 states have (on average 1.8533333333333333) internal successors, (139), 127 states have internal predecessors, (139), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 139 transitions. [2022-02-20 23:57:56,101 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 139 transitions. Word has length 16 [2022-02-20 23:57:56,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:56,102 INFO L470 AbstractCegarLoop]: Abstraction has 128 states and 139 transitions. [2022-02-20 23:57:56,102 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 10 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,102 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 139 transitions. [2022-02-20 23:57:56,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:57:56,102 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:56,102 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:56,129 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:56,315 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:56,316 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:56,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:56,316 INFO L85 PathProgramCache]: Analyzing trace with hash -1307957328, now seen corresponding path program 2 times [2022-02-20 23:57:56,316 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:56,316 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1209882459] [2022-02-20 23:57:56,316 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:56,317 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:56,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:56,380 INFO L290 TraceCheckUtils]: 0: Hoare triple {4760#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); {4760#true} is VALID [2022-02-20 23:57:56,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {4760#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {4760#true} is VALID [2022-02-20 23:57:56,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,382 INFO L290 TraceCheckUtils]: 3: Hoare triple {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,382 INFO L290 TraceCheckUtils]: 4: Hoare triple {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,383 INFO L290 TraceCheckUtils]: 5: Hoare triple {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,383 INFO L290 TraceCheckUtils]: 6: Hoare triple {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,384 INFO L290 TraceCheckUtils]: 8: Hoare triple {4762#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,384 INFO L290 TraceCheckUtils]: 9: Hoare triple {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,385 INFO L290 TraceCheckUtils]: 10: Hoare triple {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,387 INFO L290 TraceCheckUtils]: 13: Hoare triple {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:56,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {4763#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L290 TraceCheckUtils]: 15: Hoare triple {4761#false} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L290 TraceCheckUtils]: 16: Hoare triple {4761#false} assume !(dll_create_~len#1 > 0); {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L290 TraceCheckUtils]: 17: Hoare triple {4761#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {4761#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L290 TraceCheckUtils]: 19: Hoare triple {4761#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {4761#false} assume !(1 == #valid[node_create_~temp~0#1.base]); {4761#false} is VALID [2022-02-20 23:57:56,388 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:56,389 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:56,389 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1209882459] [2022-02-20 23:57:56,389 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1209882459] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:56,389 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [253180385] [2022-02-20 23:57:56,389 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:57:56,389 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:56,389 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:56,390 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:56,392 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:56,468 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-02-20 23:57:56,468 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:57:56,469 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:57:56,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:56,490 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:56,530 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:56,538 INFO L290 TraceCheckUtils]: 0: Hoare triple {4760#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); {4760#true} is VALID [2022-02-20 23:57:56,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {4760#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {4760#true} is VALID [2022-02-20 23:57:56,538 INFO L290 TraceCheckUtils]: 2: Hoare triple {4760#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4760#true} is VALID [2022-02-20 23:57:56,538 INFO L290 TraceCheckUtils]: 3: Hoare triple {4760#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4760#true} is VALID [2022-02-20 23:57:56,538 INFO L290 TraceCheckUtils]: 4: Hoare triple {4760#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4760#true} is VALID [2022-02-20 23:57:56,538 INFO L290 TraceCheckUtils]: 5: Hoare triple {4760#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4760#true} is VALID [2022-02-20 23:57:56,539 INFO L290 TraceCheckUtils]: 6: Hoare triple {4760#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4760#true} is VALID [2022-02-20 23:57:56,539 INFO L290 TraceCheckUtils]: 7: Hoare triple {4760#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4760#true} is VALID [2022-02-20 23:57:56,539 INFO L290 TraceCheckUtils]: 8: Hoare triple {4760#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4760#true} is VALID [2022-02-20 23:57:56,539 INFO L290 TraceCheckUtils]: 9: Hoare triple {4760#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {4760#true} is VALID [2022-02-20 23:57:56,539 INFO L290 TraceCheckUtils]: 10: Hoare triple {4760#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 11: Hoare triple {4760#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 12: Hoare triple {4760#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {4760#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {4760#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {4760#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {4760#true} assume !(dll_create_~len#1 > 0); {4760#true} is VALID [2022-02-20 23:57:56,540 INFO L290 TraceCheckUtils]: 17: Hoare triple {4760#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4760#true} is VALID [2022-02-20 23:57:56,545 INFO L290 TraceCheckUtils]: 18: Hoare triple {4760#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {4821#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} is VALID [2022-02-20 23:57:56,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {4821#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {4821#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} is VALID [2022-02-20 23:57:56,546 INFO L290 TraceCheckUtils]: 20: Hoare triple {4821#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} assume !(1 == #valid[node_create_~temp~0#1.base]); {4761#false} is VALID [2022-02-20 23:57:56,547 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:57:56,547 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:56,547 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [253180385] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:56,547 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:57:56,547 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [4] total 5 [2022-02-20 23:57:56,548 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1068224785] [2022-02-20 23:57:56,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:56,548 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:57:56,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:56,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,560 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:56,561 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:56,561 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:56,561 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:56,561 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:57:56,562 INFO L87 Difference]: Start difference. First operand 128 states and 139 transitions. Second operand has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,725 INFO L93 Difference]: Finished difference Result 137 states and 149 transitions. [2022-02-20 23:57:56,725 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:56,725 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:57:56,725 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:56,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 144 transitions. [2022-02-20 23:57:56,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 144 transitions. [2022-02-20 23:57:56,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 144 transitions. [2022-02-20 23:57:56,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 144 edges. 144 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:56,842 INFO L225 Difference]: With dead ends: 137 [2022-02-20 23:57:56,842 INFO L226 Difference]: Without dead ends: 137 [2022-02-20 23:57:56,842 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:57:56,843 INFO L933 BasicCegarLoop]: 75 mSDtfsCounter, 110 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 110 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:56,843 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [110 Valid, 89 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:56,844 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-02-20 23:57:56,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 125. [2022-02-20 23:57:56,852 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:56,852 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 125 states, 75 states have (on average 1.8133333333333332) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,853 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 125 states, 75 states have (on average 1.8133333333333332) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,853 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 125 states, 75 states have (on average 1.8133333333333332) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,856 INFO L93 Difference]: Finished difference Result 137 states and 149 transitions. [2022-02-20 23:57:56,856 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 149 transitions. [2022-02-20 23:57:56,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:56,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:56,857 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 75 states have (on average 1.8133333333333332) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 137 states. [2022-02-20 23:57:56,857 INFO L87 Difference]: Start difference. First operand has 125 states, 75 states have (on average 1.8133333333333332) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 137 states. [2022-02-20 23:57:56,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:56,863 INFO L93 Difference]: Finished difference Result 137 states and 149 transitions. [2022-02-20 23:57:56,863 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 149 transitions. [2022-02-20 23:57:56,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:56,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:56,864 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:56,864 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:56,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 75 states have (on average 1.8133333333333332) internal successors, (136), 124 states have internal predecessors, (136), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 136 transitions. [2022-02-20 23:57:56,873 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 136 transitions. Word has length 21 [2022-02-20 23:57:56,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:56,874 INFO L470 AbstractCegarLoop]: Abstraction has 125 states and 136 transitions. [2022-02-20 23:57:56,875 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 7.0) internal successors, (14), 3 states have internal predecessors, (14), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:56,875 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 136 transitions. [2022-02-20 23:57:56,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:57:56,875 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:56,875 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:56,902 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:57,091 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:57,091 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:57,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:57,092 INFO L85 PathProgramCache]: Analyzing trace with hash -1307957327, now seen corresponding path program 1 times [2022-02-20 23:57:57,092 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:57,092 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076473862] [2022-02-20 23:57:57,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:57,092 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:57,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:57,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {5363#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); {5363#true} is VALID [2022-02-20 23:57:57,140 INFO L290 TraceCheckUtils]: 1: Hoare triple {5363#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {5363#true} is VALID [2022-02-20 23:57:57,140 INFO L290 TraceCheckUtils]: 2: Hoare triple {5363#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,140 INFO L290 TraceCheckUtils]: 3: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,141 INFO L290 TraceCheckUtils]: 4: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,142 INFO L290 TraceCheckUtils]: 6: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,143 INFO L290 TraceCheckUtils]: 9: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,145 INFO L290 TraceCheckUtils]: 13: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,146 INFO L290 TraceCheckUtils]: 14: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5364#false} is VALID [2022-02-20 23:57:57,146 INFO L290 TraceCheckUtils]: 15: Hoare triple {5364#false} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5364#false} is VALID [2022-02-20 23:57:57,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {5364#false} assume !(dll_create_~len#1 > 0); {5364#false} is VALID [2022-02-20 23:57:57,146 INFO L290 TraceCheckUtils]: 17: Hoare triple {5364#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {5364#false} is VALID [2022-02-20 23:57:57,146 INFO L290 TraceCheckUtils]: 18: Hoare triple {5364#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {5364#false} is VALID [2022-02-20 23:57:57,147 INFO L290 TraceCheckUtils]: 19: Hoare triple {5364#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {5364#false} is VALID [2022-02-20 23:57:57,147 INFO L290 TraceCheckUtils]: 20: Hoare triple {5364#false} assume !(4 + (4 + node_create_~temp~0#1.offset) <= #length[node_create_~temp~0#1.base] && 0 <= 4 + node_create_~temp~0#1.offset); {5364#false} is VALID [2022-02-20 23:57:57,147 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:57,147 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:57,147 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076473862] [2022-02-20 23:57:57,147 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2076473862] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:57,148 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [658638497] [2022-02-20 23:57:57,148 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:57,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:57,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:57,149 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:57,175 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:57,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:57,263 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:57:57,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:57,275 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:57,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {5363#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); {5363#true} is VALID [2022-02-20 23:57:57,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {5363#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {5363#true} is VALID [2022-02-20 23:57:57,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {5363#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,323 INFO L290 TraceCheckUtils]: 3: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,323 INFO L290 TraceCheckUtils]: 4: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,324 INFO L290 TraceCheckUtils]: 6: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,326 INFO L290 TraceCheckUtils]: 10: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,327 INFO L290 TraceCheckUtils]: 11: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,327 INFO L290 TraceCheckUtils]: 12: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5364#false} is VALID [2022-02-20 23:57:57,328 INFO L290 TraceCheckUtils]: 15: Hoare triple {5364#false} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5364#false} is VALID [2022-02-20 23:57:57,329 INFO L290 TraceCheckUtils]: 16: Hoare triple {5364#false} assume !(dll_create_~len#1 > 0); {5364#false} is VALID [2022-02-20 23:57:57,329 INFO L290 TraceCheckUtils]: 17: Hoare triple {5364#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {5364#false} is VALID [2022-02-20 23:57:57,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {5364#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {5364#false} is VALID [2022-02-20 23:57:57,329 INFO L290 TraceCheckUtils]: 19: Hoare triple {5364#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {5364#false} is VALID [2022-02-20 23:57:57,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {5364#false} assume !(4 + (4 + node_create_~temp~0#1.offset) <= #length[node_create_~temp~0#1.base] && 0 <= 4 + node_create_~temp~0#1.offset); {5364#false} is VALID [2022-02-20 23:57:57,330 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:57,330 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:57,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {5364#false} assume !(4 + (4 + node_create_~temp~0#1.offset) <= #length[node_create_~temp~0#1.base] && 0 <= 4 + node_create_~temp~0#1.offset); {5364#false} is VALID [2022-02-20 23:57:57,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {5364#false} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {5364#false} is VALID [2022-02-20 23:57:57,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {5364#false} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {5364#false} is VALID [2022-02-20 23:57:57,386 INFO L290 TraceCheckUtils]: 17: Hoare triple {5364#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {5364#false} is VALID [2022-02-20 23:57:57,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {5364#false} assume !(dll_create_~len#1 > 0); {5364#false} is VALID [2022-02-20 23:57:57,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {5364#false} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5364#false} is VALID [2022-02-20 23:57:57,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5364#false} is VALID [2022-02-20 23:57:57,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,391 INFO L290 TraceCheckUtils]: 12: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,392 INFO L290 TraceCheckUtils]: 10: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,392 INFO L290 TraceCheckUtils]: 9: Hoare triple {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5366#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,394 INFO L290 TraceCheckUtils]: 6: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,394 INFO L290 TraceCheckUtils]: 4: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,395 INFO L290 TraceCheckUtils]: 3: Hoare triple {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,395 INFO L290 TraceCheckUtils]: 2: Hoare triple {5363#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5365#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 23:57:57,395 INFO L290 TraceCheckUtils]: 1: Hoare triple {5363#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {5363#true} is VALID [2022-02-20 23:57:57,396 INFO L290 TraceCheckUtils]: 0: Hoare triple {5363#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); {5363#true} is VALID [2022-02-20 23:57:57,396 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:57,396 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [658638497] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:57,396 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:57,396 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 4 [2022-02-20 23:57:57,397 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [998838512] [2022-02-20 23:57:57,397 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:57,397 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:57:57,397 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:57,398 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,415 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:57,415 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:57:57,416 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:57,416 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:57:57,416 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:57:57,416 INFO L87 Difference]: Start difference. First operand 125 states and 136 transitions. Second operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:57,567 INFO L93 Difference]: Finished difference Result 125 states and 135 transitions. [2022-02-20 23:57:57,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:57:57,567 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 21 [2022-02-20 23:57:57,567 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:57,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 135 transitions. [2022-02-20 23:57:57,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 135 transitions. [2022-02-20 23:57:57,569 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 135 transitions. [2022-02-20 23:57:57,695 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:57,697 INFO L225 Difference]: With dead ends: 125 [2022-02-20 23:57:57,697 INFO L226 Difference]: Without dead ends: 125 [2022-02-20 23:57:57,697 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 42 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,698 INFO L933 BasicCegarLoop]: 121 mSDtfsCounter, 239 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 239 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:57,698 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [239 Valid, 124 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:57,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-02-20 23:57:57,700 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 125. [2022-02-20 23:57:57,700 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:57,701 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 125 states, 75 states have (on average 1.8) internal successors, (135), 124 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,701 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 125 states, 75 states have (on average 1.8) internal successors, (135), 124 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,701 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 125 states, 75 states have (on average 1.8) internal successors, (135), 124 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:57,703 INFO L93 Difference]: Finished difference Result 125 states and 135 transitions. [2022-02-20 23:57:57,704 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 135 transitions. [2022-02-20 23:57:57,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:57,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:57,704 INFO L74 IsIncluded]: Start isIncluded. First operand has 125 states, 75 states have (on average 1.8) internal successors, (135), 124 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 125 states. [2022-02-20 23:57:57,704 INFO L87 Difference]: Start difference. First operand has 125 states, 75 states have (on average 1.8) internal successors, (135), 124 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 125 states. [2022-02-20 23:57:57,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:57,706 INFO L93 Difference]: Finished difference Result 125 states and 135 transitions. [2022-02-20 23:57:57,706 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 135 transitions. [2022-02-20 23:57:57,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:57,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:57,707 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:57,707 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:57,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 125 states, 75 states have (on average 1.8) internal successors, (135), 124 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 135 transitions. [2022-02-20 23:57:57,709 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 135 transitions. Word has length 21 [2022-02-20 23:57:57,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:57,709 INFO L470 AbstractCegarLoop]: Abstraction has 125 states and 135 transitions. [2022-02-20 23:57:57,709 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.25) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:57,710 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 135 transitions. [2022-02-20 23:57:57,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-02-20 23:57:57,710 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:57,710 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:57,741 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:57,923 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:57,923 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:57,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:57,924 INFO L85 PathProgramCache]: Analyzing trace with hash 2020822092, now seen corresponding path program 1 times [2022-02-20 23:57:57,924 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:57,924 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307808627] [2022-02-20 23:57:57,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:57,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:57,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,006 INFO L290 TraceCheckUtils]: 0: Hoare triple {5991#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); {5991#true} is VALID [2022-02-20 23:57:58,007 INFO L290 TraceCheckUtils]: 1: Hoare triple {5991#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {5991#true} is VALID [2022-02-20 23:57:58,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {5991#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5991#true} is VALID [2022-02-20 23:57:58,007 INFO L290 TraceCheckUtils]: 3: Hoare triple {5991#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5991#true} is VALID [2022-02-20 23:57:58,007 INFO L290 TraceCheckUtils]: 4: Hoare triple {5991#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5991#true} is VALID [2022-02-20 23:57:58,007 INFO L290 TraceCheckUtils]: 5: Hoare triple {5991#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5991#true} is VALID [2022-02-20 23:57:58,008 INFO L290 TraceCheckUtils]: 6: Hoare triple {5991#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5991#true} is VALID [2022-02-20 23:57:58,008 INFO L290 TraceCheckUtils]: 7: Hoare triple {5991#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5991#true} is VALID [2022-02-20 23:57:58,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {5991#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5991#true} is VALID [2022-02-20 23:57:58,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {5991#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {5991#true} is VALID [2022-02-20 23:57:58,008 INFO L290 TraceCheckUtils]: 10: Hoare triple {5991#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5991#true} is VALID [2022-02-20 23:57:58,009 INFO L290 TraceCheckUtils]: 11: Hoare triple {5991#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {5991#true} is VALID [2022-02-20 23:57:58,009 INFO L290 TraceCheckUtils]: 12: Hoare triple {5991#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {5991#true} is VALID [2022-02-20 23:57:58,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {5991#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {5991#true} is VALID [2022-02-20 23:57:58,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {5991#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {5991#true} is VALID [2022-02-20 23:57:58,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {5991#true} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {5991#true} is VALID [2022-02-20 23:57:58,010 INFO L290 TraceCheckUtils]: 16: Hoare triple {5991#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {5991#true} is VALID [2022-02-20 23:57:58,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {5991#true} assume !(dll_create_~len#1 > 0); {5991#true} is VALID [2022-02-20 23:57:58,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {5991#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {5991#true} is VALID [2022-02-20 23:57:58,012 INFO L290 TraceCheckUtils]: 19: Hoare triple {5991#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {5993#(and (= (+ (- 12) (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)) 0) (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:58,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {5993#(and (= (+ (- 12) (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)) 0) (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {5993#(and (= (+ (- 12) (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)) 0) (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0))} is VALID [2022-02-20 23:57:58,013 INFO L290 TraceCheckUtils]: 21: Hoare triple {5993#(and (= (+ (- 12) (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)) 0) (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0))} assume !(4 + (4 + node_create_~temp~0#1.offset) <= #length[node_create_~temp~0#1.base] && 0 <= 4 + node_create_~temp~0#1.offset); {5992#false} is VALID [2022-02-20 23:57:58,014 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:57:58,014 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:58,015 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307808627] [2022-02-20 23:57:58,015 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1307808627] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:58,015 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:58,015 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:58,015 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1868037155] [2022-02-20 23:57:58,015 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:58,016 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:57:58,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:58,017 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:58,029 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:58,029 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:58,030 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:58,030 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:58,030 INFO L87 Difference]: Start difference. First operand 125 states and 135 transitions. Second operand has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:58,204 INFO L93 Difference]: Finished difference Result 122 states and 132 transitions. [2022-02-20 23:57:58,204 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:58,204 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 22 [2022-02-20 23:57:58,204 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:58,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 128 transitions. [2022-02-20 23:57:58,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 128 transitions. [2022-02-20 23:57:58,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 128 transitions. [2022-02-20 23:57:58,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:58,315 INFO L225 Difference]: With dead ends: 122 [2022-02-20 23:57:58,315 INFO L226 Difference]: Without dead ends: 122 [2022-02-20 23:57:58,315 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:58,316 INFO L933 BasicCegarLoop]: 78 mSDtfsCounter, 110 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 110 SdHoareTripleChecker+Valid, 84 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:58,316 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [110 Valid, 84 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:57:58,317 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-02-20 23:57:58,318 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 122. [2022-02-20 23:57:58,318 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:58,318 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 122 states, 75 states have (on average 1.76) internal successors, (132), 121 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,318 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 122 states, 75 states have (on average 1.76) internal successors, (132), 121 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,319 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 122 states, 75 states have (on average 1.76) internal successors, (132), 121 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:58,320 INFO L93 Difference]: Finished difference Result 122 states and 132 transitions. [2022-02-20 23:57:58,321 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 132 transitions. [2022-02-20 23:57:58,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:58,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:58,321 INFO L74 IsIncluded]: Start isIncluded. First operand has 122 states, 75 states have (on average 1.76) internal successors, (132), 121 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 122 states. [2022-02-20 23:57:58,321 INFO L87 Difference]: Start difference. First operand has 122 states, 75 states have (on average 1.76) internal successors, (132), 121 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 122 states. [2022-02-20 23:57:58,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:58,323 INFO L93 Difference]: Finished difference Result 122 states and 132 transitions. [2022-02-20 23:57:58,323 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 132 transitions. [2022-02-20 23:57:58,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:58,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:58,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:58,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:58,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 122 states, 75 states have (on average 1.76) internal successors, (132), 121 states have internal predecessors, (132), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 132 transitions. [2022-02-20 23:57:58,326 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 132 transitions. Word has length 22 [2022-02-20 23:57:58,326 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:58,326 INFO L470 AbstractCegarLoop]: Abstraction has 122 states and 132 transitions. [2022-02-20 23:57:58,326 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 8.0) internal successors, (16), 3 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:58,326 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 132 transitions. [2022-02-20 23:57:58,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 23:57:58,326 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:58,327 INFO L514 BasicCegarLoop]: trace histogram [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:58,327 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:57:58,327 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr14REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:57:58,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:58,327 INFO L85 PathProgramCache]: Analyzing trace with hash 157247510, now seen corresponding path program 1 times [2022-02-20 23:57:58,327 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:57:58,327 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1299261520] [2022-02-20 23:57:58,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:58,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:57:58,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {6484#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); {6484#true} is VALID [2022-02-20 23:57:58,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {6484#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {6486#(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:58,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {6486#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,501 INFO L290 TraceCheckUtils]: 3: Hoare triple {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,502 INFO L290 TraceCheckUtils]: 4: Hoare triple {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,504 INFO L290 TraceCheckUtils]: 6: Hoare triple {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {6487#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {6486#(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:58,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {6486#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,506 INFO L290 TraceCheckUtils]: 10: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,507 INFO L290 TraceCheckUtils]: 12: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,508 INFO L290 TraceCheckUtils]: 13: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} is VALID [2022-02-20 23:57:58,510 INFO L290 TraceCheckUtils]: 16: Hoare triple {6488#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,510 INFO L290 TraceCheckUtils]: 17: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_create_~len#1 > 0); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {6490#(or (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1))} is VALID [2022-02-20 23:57:58,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {6490#(or (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {6490#(or (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1))} is VALID [2022-02-20 23:57:58,514 INFO L290 TraceCheckUtils]: 21: Hoare triple {6490#(or (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,515 INFO L290 TraceCheckUtils]: 23: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,516 INFO L290 TraceCheckUtils]: 25: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,516 INFO L290 TraceCheckUtils]: 26: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} assume !(1 == #valid[dll_insert_~head#1.base]); {6485#false} is VALID [2022-02-20 23:57:58,516 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,517 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:57:58,517 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1299261520] [2022-02-20 23:57:58,517 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1299261520] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:57:58,517 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [655991198] [2022-02-20 23:57:58,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:58,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:57:58,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:57:58,518 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:58,520 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:58,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,650 INFO L263 TraceCheckSpWp]: Trace formula consists of 314 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:57:58,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:58,667 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:58,680 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:57:58,732 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:57:58,733 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:58,771 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:57:58,771 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 14 [2022-02-20 23:57:58,832 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:57:58,833 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 14 [2022-02-20 23:57:58,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {6484#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); {6484#true} is VALID [2022-02-20 23:57:58,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {6484#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {6486#(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:58,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {6486#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,864 INFO L290 TraceCheckUtils]: 3: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,864 INFO L290 TraceCheckUtils]: 4: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,866 INFO L290 TraceCheckUtils]: 8: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,867 INFO L290 TraceCheckUtils]: 10: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,867 INFO L290 TraceCheckUtils]: 11: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,867 INFO L290 TraceCheckUtils]: 12: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,868 INFO L290 TraceCheckUtils]: 13: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,869 INFO L290 TraceCheckUtils]: 16: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,869 INFO L290 TraceCheckUtils]: 17: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_create_~len#1 > 0); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,870 INFO L290 TraceCheckUtils]: 18: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:58,871 INFO L290 TraceCheckUtils]: 19: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,871 INFO L290 TraceCheckUtils]: 20: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,872 INFO L290 TraceCheckUtils]: 21: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,872 INFO L290 TraceCheckUtils]: 22: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,872 INFO L290 TraceCheckUtils]: 23: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,873 INFO L290 TraceCheckUtils]: 24: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,873 INFO L290 TraceCheckUtils]: 25: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:58,873 INFO L290 TraceCheckUtils]: 26: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} assume !(1 == #valid[dll_insert_~head#1.base]); {6485#false} is VALID [2022-02-20 23:57:58,874 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:57:58,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:57:59,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} assume !(1 == #valid[dll_insert_~head#1.base]); {6485#false} is VALID [2022-02-20 23:57:59,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,204 INFO L290 TraceCheckUtils]: 24: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,205 INFO L290 TraceCheckUtils]: 22: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,205 INFO L290 TraceCheckUtils]: 21: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,206 INFO L290 TraceCheckUtils]: 20: Hoare triple {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {6491#(= (select |#valid| |ULTIMATE.start_dll_insert_~head#1.base|) 1)} is VALID [2022-02-20 23:57:59,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_create_~len#1 > 0); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,207 INFO L290 TraceCheckUtils]: 16: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,208 INFO L290 TraceCheckUtils]: 15: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,208 INFO L290 TraceCheckUtils]: 14: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,210 INFO L290 TraceCheckUtils]: 10: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,212 INFO L290 TraceCheckUtils]: 4: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {6645#(forall ((v_ArrVal_620 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_25| Int)) (or (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_25| v_ArrVal_620) |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (< |v_ULTIMATE.start_dll_create_~new_head~0#1.base_25| |#StackHeapBarrier|))))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {6489#(= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1)} is VALID [2022-02-20 23:57:59,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {6484#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {6645#(forall ((v_ArrVal_620 Int) (|v_ULTIMATE.start_dll_create_~new_head~0#1.base_25| Int)) (or (= (select (store |#valid| |v_ULTIMATE.start_dll_create_~new_head~0#1.base_25| v_ArrVal_620) |ULTIMATE.start_main_~#s~0#1.base|) 1) (not (< |v_ULTIMATE.start_dll_create_~new_head~0#1.base_25| |#StackHeapBarrier|))))} is VALID [2022-02-20 23:57:59,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {6484#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); {6484#true} is VALID [2022-02-20 23:57:59,216 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:57:59,216 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [655991198] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:57:59,216 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:57:59,216 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 4, 4] total 8 [2022-02-20 23:57:59,216 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1339409157] [2022-02-20 23:57:59,216 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:57:59,217 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 27 [2022-02-20 23:57:59,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:59,217 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:59,256 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:57:59,256 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:57:59,257 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:57:59,257 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:57:59,257 INFO L87 Difference]: Start difference. First operand 122 states and 132 transitions. Second operand has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:59,666 INFO L93 Difference]: Finished difference Result 127 states and 138 transitions. [2022-02-20 23:57:59,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:57:59,666 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 27 [2022-02-20 23:57:59,667 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:59,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 139 transitions. [2022-02-20 23:57:59,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 139 transitions. [2022-02-20 23:57:59,669 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 139 transitions. [2022-02-20 23:57:59,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:59,798 INFO L225 Difference]: With dead ends: 127 [2022-02-20 23:57:59,798 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 23:57:59,798 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 49 SyntacticMatches, 5 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:57:59,799 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 516 mSDsluCounter, 28 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 516 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:59,799 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [516 Valid, 88 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:57:59,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 23:57:59,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 115. [2022-02-20 23:57:59,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:59,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 115 states, 75 states have (on average 1.6666666666666667) internal successors, (125), 114 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,801 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 115 states, 75 states have (on average 1.6666666666666667) internal successors, (125), 114 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,801 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 115 states, 75 states have (on average 1.6666666666666667) internal successors, (125), 114 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:59,803 INFO L93 Difference]: Finished difference Result 127 states and 138 transitions. [2022-02-20 23:57:59,803 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 138 transitions. [2022-02-20 23:57:59,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:59,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:59,803 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 75 states have (on average 1.6666666666666667) internal successors, (125), 114 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 127 states. [2022-02-20 23:57:59,804 INFO L87 Difference]: Start difference. First operand has 115 states, 75 states have (on average 1.6666666666666667) internal successors, (125), 114 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 127 states. [2022-02-20 23:57:59,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:59,806 INFO L93 Difference]: Finished difference Result 127 states and 138 transitions. [2022-02-20 23:57:59,806 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 138 transitions. [2022-02-20 23:57:59,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:59,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:59,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:59,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:59,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 75 states have (on average 1.6666666666666667) internal successors, (125), 114 states have internal predecessors, (125), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 125 transitions. [2022-02-20 23:57:59,808 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 125 transitions. Word has length 27 [2022-02-20 23:57:59,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:59,808 INFO L470 AbstractCegarLoop]: Abstraction has 115 states and 125 transitions. [2022-02-20 23:57:59,808 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 5.25) internal successors, (42), 9 states have internal predecessors, (42), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:59,808 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 125 transitions. [2022-02-20 23:57:59,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 23:57:59,809 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:59,809 INFO L514 BasicCegarLoop]: trace histogram [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:59,838 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:58:00,035 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:00,035 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr15REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:00,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:00,036 INFO L85 PathProgramCache]: Analyzing trace with hash 157247511, now seen corresponding path program 1 times [2022-02-20 23:58:00,036 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:00,036 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [637352279] [2022-02-20 23:58:00,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:00,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:00,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:00,194 INFO L290 TraceCheckUtils]: 0: Hoare triple {7149#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); {7149#true} is VALID [2022-02-20 23:58:00,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {7149#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {7151#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {7151#(and (= (select |#valid| |ULTIMATE.start_main_~#s~0#1.base|) 1) (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,198 INFO L290 TraceCheckUtils]: 3: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,204 INFO L290 TraceCheckUtils]: 4: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,205 INFO L290 TraceCheckUtils]: 6: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,208 INFO L290 TraceCheckUtils]: 10: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {7152#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| |ULTIMATE.start_main_~#s~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,216 INFO L290 TraceCheckUtils]: 21: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,223 INFO L290 TraceCheckUtils]: 26: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} assume !(4 + dll_insert_~head#1.offset <= #length[dll_insert_~head#1.base] && 0 <= dll_insert_~head#1.offset); {7150#false} is VALID [2022-02-20 23:58:00,223 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:58:00,223 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:00,223 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [637352279] [2022-02-20 23:58:00,223 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [637352279] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:00,224 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1957658894] [2022-02-20 23:58:00,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:00,224 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:00,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:00,225 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:58:00,226 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:58:00,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:00,349 INFO L263 TraceCheckSpWp]: Trace formula consists of 314 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 23:58:00,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:00,374 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:00,415 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:00,469 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:00,471 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:00,594 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:00,595 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:00,827 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:00,828 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:00,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {7149#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); {7149#true} is VALID [2022-02-20 23:58:00,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {7149#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,876 INFO L290 TraceCheckUtils]: 3: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,877 INFO L290 TraceCheckUtils]: 4: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,881 INFO L290 TraceCheckUtils]: 11: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,882 INFO L290 TraceCheckUtils]: 12: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,882 INFO L290 TraceCheckUtils]: 13: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:00,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {7153#(and (<= 4 (select |#length| |ULTIMATE.start_main_~#s~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,887 INFO L290 TraceCheckUtils]: 21: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,888 INFO L290 TraceCheckUtils]: 22: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,888 INFO L290 TraceCheckUtils]: 23: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,889 INFO L290 TraceCheckUtils]: 24: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} is VALID [2022-02-20 23:58:00,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {7154#(and (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_dll_insert_~head#1.base|)))} assume !(4 + dll_insert_~head#1.offset <= #length[dll_insert_~head#1.base] && 0 <= dll_insert_~head#1.offset); {7150#false} is VALID [2022-02-20 23:58:00,890 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:00,890 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:00,890 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1957658894] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:00,890 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:58:00,890 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [5] total 5 [2022-02-20 23:58:00,890 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1797698634] [2022-02-20 23:58:00,890 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:00,891 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 27 [2022-02-20 23:58:00,891 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:00,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:00,910 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:00,910 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:00,910 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:00,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:00,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:58:00,910 INFO L87 Difference]: Start difference. First operand 115 states and 125 transitions. Second operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:01,166 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2022-02-20 23:58:01,166 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:01,166 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 27 [2022-02-20 23:58:01,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:01,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2022-02-20 23:58:01,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 118 transitions. [2022-02-20 23:58:01,168 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 118 transitions. [2022-02-20 23:58:01,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:01,289 INFO L225 Difference]: With dead ends: 108 [2022-02-20 23:58:01,289 INFO L226 Difference]: Without dead ends: 108 [2022-02-20 23:58:01,289 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 28 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:01,290 INFO L933 BasicCegarLoop]: 64 mSDtfsCounter, 185 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 185 SdHoareTripleChecker+Valid, 71 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:01,290 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [185 Valid, 71 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:01,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-20 23:58:01,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 108. [2022-02-20 23:58:01,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:01,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 108 states, 75 states have (on average 1.5733333333333333) internal successors, (118), 107 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,292 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 108 states, 75 states have (on average 1.5733333333333333) internal successors, (118), 107 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,292 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 108 states, 75 states have (on average 1.5733333333333333) internal successors, (118), 107 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:01,294 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2022-02-20 23:58:01,294 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2022-02-20 23:58:01,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:01,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:01,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 75 states have (on average 1.5733333333333333) internal successors, (118), 107 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 108 states. [2022-02-20 23:58:01,295 INFO L87 Difference]: Start difference. First operand has 108 states, 75 states have (on average 1.5733333333333333) internal successors, (118), 107 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 108 states. [2022-02-20 23:58:01,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:01,296 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2022-02-20 23:58:01,296 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2022-02-20 23:58:01,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:01,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:01,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:01,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:01,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 75 states have (on average 1.5733333333333333) internal successors, (118), 107 states have internal predecessors, (118), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 118 transitions. [2022-02-20 23:58:01,298 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 118 transitions. Word has length 27 [2022-02-20 23:58:01,298 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:01,299 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 118 transitions. [2022-02-20 23:58:01,299 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,299 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2022-02-20 23:58:01,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:58:01,299 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:01,299 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:01,322 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:58:01,500 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:01,500 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr16REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:01,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:01,500 INFO L85 PathProgramCache]: Analyzing trace with hash -1248708524, now seen corresponding path program 1 times [2022-02-20 23:58:01,501 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:01,501 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [322251446] [2022-02-20 23:58:01,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:01,501 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:01,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:01,706 INFO L290 TraceCheckUtils]: 0: Hoare triple {7669#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); {7669#true} is VALID [2022-02-20 23:58:01,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {7669#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,708 INFO L290 TraceCheckUtils]: 3: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,708 INFO L290 TraceCheckUtils]: 4: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,709 INFO L290 TraceCheckUtils]: 6: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:01,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {7671#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,711 INFO L290 TraceCheckUtils]: 10: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,712 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,714 INFO L290 TraceCheckUtils]: 16: Hoare triple {7672#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {7673#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,715 INFO L290 TraceCheckUtils]: 17: Hoare triple {7673#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !(dll_create_~len#1 > 0); {7673#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {7673#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {7674#(and (= (select |#valid| |ULTIMATE.start_dll_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:01,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {7674#(and (= (select |#valid| |ULTIMATE.start_dll_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {7675#(and (or (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:01,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {7675#(and (or (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {7675#(and (or (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:01,718 INFO L290 TraceCheckUtils]: 21: Hoare triple {7675#(and (or (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {7676#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:01,718 INFO L290 TraceCheckUtils]: 22: Hoare triple {7676#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {7676#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:01,719 INFO L290 TraceCheckUtils]: 23: Hoare triple {7676#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {7677#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)} is VALID [2022-02-20 23:58:01,719 INFO L290 TraceCheckUtils]: 24: Hoare triple {7677#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {7677#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)} is VALID [2022-02-20 23:58:01,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {7677#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {7677#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)} is VALID [2022-02-20 23:58:01,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {7677#(= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 1)} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {7678#(= (select |#valid| |ULTIMATE.start_dll_insert_#t~mem8#1.base|) 1)} is VALID [2022-02-20 23:58:01,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {7678#(= (select |#valid| |ULTIMATE.start_dll_insert_#t~mem8#1.base|) 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {7679#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:01,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {7679#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {7679#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:01,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {7679#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} assume !(1 == #valid[dll_insert_~last~0#1.base]); {7670#false} is VALID [2022-02-20 23:58:01,721 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:01,721 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:01,721 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [322251446] [2022-02-20 23:58:01,722 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [322251446] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:01,722 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:01,722 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 23:58:01,722 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69250205] [2022-02-20 23:58:01,722 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:01,722 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:58:01,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:01,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:01,746 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:01,746 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:58:01,746 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:01,746 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:58:01,746 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:58:01,746 INFO L87 Difference]: Start difference. First operand 108 states and 118 transitions. Second operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:02,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:02,898 INFO L93 Difference]: Finished difference Result 195 states and 216 transitions. [2022-02-20 23:58:02,898 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:58:02,898 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:58:02,898 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:02,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:02,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 217 transitions. [2022-02-20 23:58:02,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:02,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 217 transitions. [2022-02-20 23:58:02,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 217 transitions. [2022-02-20 23:58:03,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:03,082 INFO L225 Difference]: With dead ends: 195 [2022-02-20 23:58:03,082 INFO L226 Difference]: Without dead ends: 195 [2022-02-20 23:58:03,083 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=189, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:58:03,083 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 638 mSDsluCounter, 234 mSDsCounter, 0 mSdLazyCounter, 421 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 638 SdHoareTripleChecker+Valid, 284 SdHoareTripleChecker+Invalid, 463 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 421 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:03,083 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [638 Valid, 284 Invalid, 463 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 421 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:58:03,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 195 states. [2022-02-20 23:58:03,085 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 195 to 116. [2022-02-20 23:58:03,085 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:03,086 INFO L82 GeneralOperation]: Start isEquivalent. First operand 195 states. Second operand has 116 states, 83 states have (on average 1.6506024096385543) internal successors, (137), 115 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:03,086 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand has 116 states, 83 states have (on average 1.6506024096385543) internal successors, (137), 115 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:03,086 INFO L87 Difference]: Start difference. First operand 195 states. Second operand has 116 states, 83 states have (on average 1.6506024096385543) internal successors, (137), 115 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:03,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,089 INFO L93 Difference]: Finished difference Result 195 states and 216 transitions. [2022-02-20 23:58:03,089 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 216 transitions. [2022-02-20 23:58:03,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:03,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:03,090 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 83 states have (on average 1.6506024096385543) internal successors, (137), 115 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 195 states. [2022-02-20 23:58:03,090 INFO L87 Difference]: Start difference. First operand has 116 states, 83 states have (on average 1.6506024096385543) internal successors, (137), 115 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 195 states. [2022-02-20 23:58:03,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:03,095 INFO L93 Difference]: Finished difference Result 195 states and 216 transitions. [2022-02-20 23:58:03,095 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 216 transitions. [2022-02-20 23:58:03,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:03,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:03,096 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:03,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:03,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 83 states have (on average 1.6506024096385543) internal successors, (137), 115 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:03,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 137 transitions. [2022-02-20 23:58:03,098 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 137 transitions. Word has length 30 [2022-02-20 23:58:03,098 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:03,099 INFO L470 AbstractCegarLoop]: Abstraction has 116 states and 137 transitions. [2022-02-20 23:58:03,099 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 11 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:03,099 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 137 transitions. [2022-02-20 23:58:03,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:58:03,099 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:03,100 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:03,100 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 23:58:03,100 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr17REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:03,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:03,100 INFO L85 PathProgramCache]: Analyzing trace with hash -1248708523, now seen corresponding path program 1 times [2022-02-20 23:58:03,101 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:03,101 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [502292708] [2022-02-20 23:58:03,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:03,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:03,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:03,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {8395#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); {8395#true} is VALID [2022-02-20 23:58:03,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {8395#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,325 INFO L290 TraceCheckUtils]: 2: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,325 INFO L290 TraceCheckUtils]: 3: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,325 INFO L290 TraceCheckUtils]: 4: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,325 INFO L290 TraceCheckUtils]: 5: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,326 INFO L290 TraceCheckUtils]: 6: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:03,327 INFO L290 TraceCheckUtils]: 9: Hoare triple {8397#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,327 INFO L290 TraceCheckUtils]: 10: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,328 INFO L290 TraceCheckUtils]: 12: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} is VALID [2022-02-20 23:58:03,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {8398#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#length| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 12))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {8399#(and (= (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|) 12) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:58:03,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {8399#(and (= (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|) 12) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {8399#(and (= (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|) 12) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:58:03,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {8399#(and (= (select |#length| |ULTIMATE.start_dll_create_~head~0#1.base|) 12) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {8400#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_dll_create_#res#1.base|)))} is VALID [2022-02-20 23:58:03,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {8400#(and (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_dll_create_#res#1.base|)))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:03,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:03,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:03,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:03,335 INFO L290 TraceCheckUtils]: 23: Hoare triple {8401#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {8402#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} is VALID [2022-02-20 23:58:03,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {8402#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {8402#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} is VALID [2022-02-20 23:58:03,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {8402#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} is VALID [2022-02-20 23:58:03,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {8402#(and (= (select |#length| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 12) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {8403#(and (= |ULTIMATE.start_dll_insert_#t~mem8#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_dll_insert_#t~mem8#1.base|)))} is VALID [2022-02-20 23:58:03,336 INFO L290 TraceCheckUtils]: 27: Hoare triple {8403#(and (= |ULTIMATE.start_dll_insert_#t~mem8#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_dll_insert_#t~mem8#1.base|)))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {8404#(and (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_insert_~last~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:58:03,337 INFO L290 TraceCheckUtils]: 28: Hoare triple {8404#(and (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_insert_~last~0#1.base|) (- 12)) 0))} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {8404#(and (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_insert_~last~0#1.base|) (- 12)) 0))} is VALID [2022-02-20 23:58:03,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {8404#(and (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0) (= (+ (select |#length| |ULTIMATE.start_dll_insert_~last~0#1.base|) (- 12)) 0))} assume !(4 + (4 + dll_insert_~last~0#1.offset) <= #length[dll_insert_~last~0#1.base] && 0 <= 4 + dll_insert_~last~0#1.offset); {8396#false} is VALID [2022-02-20 23:58:03,338 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:03,338 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:03,338 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [502292708] [2022-02-20 23:58:03,338 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [502292708] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:03,338 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:03,338 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 23:58:03,338 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1469792508] [2022-02-20 23:58:03,338 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:03,339 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:58:03,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:03,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:03,362 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:03,362 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:58:03,362 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:03,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:58:03,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:58:03,363 INFO L87 Difference]: Start difference. First operand 116 states and 137 transitions. Second operand has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,377 INFO L93 Difference]: Finished difference Result 184 states and 203 transitions. [2022-02-20 23:58:04,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:58:04,378 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:58:04,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:04,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 204 transitions. [2022-02-20 23:58:04,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 204 transitions. [2022-02-20 23:58:04,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 204 transitions. [2022-02-20 23:58:04,568 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 204 edges. 204 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:04,570 INFO L225 Difference]: With dead ends: 184 [2022-02-20 23:58:04,570 INFO L226 Difference]: Without dead ends: 184 [2022-02-20 23:58:04,570 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=77, Invalid=163, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:58:04,571 INFO L933 BasicCegarLoop]: 54 mSDtfsCounter, 654 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 276 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 654 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 314 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 276 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:04,571 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [654 Valid, 205 Invalid, 314 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 276 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:58:04,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-02-20 23:58:04,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 116. [2022-02-20 23:58:04,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:04,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 116 states, 83 states have (on average 1.6265060240963856) internal successors, (135), 115 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,574 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 116 states, 83 states have (on average 1.6265060240963856) internal successors, (135), 115 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,574 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 116 states, 83 states have (on average 1.6265060240963856) internal successors, (135), 115 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,577 INFO L93 Difference]: Finished difference Result 184 states and 203 transitions. [2022-02-20 23:58:04,577 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 203 transitions. [2022-02-20 23:58:04,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:04,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:04,578 INFO L74 IsIncluded]: Start isIncluded. First operand has 116 states, 83 states have (on average 1.6265060240963856) internal successors, (135), 115 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 184 states. [2022-02-20 23:58:04,578 INFO L87 Difference]: Start difference. First operand has 116 states, 83 states have (on average 1.6265060240963856) internal successors, (135), 115 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 184 states. [2022-02-20 23:58:04,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,581 INFO L93 Difference]: Finished difference Result 184 states and 203 transitions. [2022-02-20 23:58:04,581 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 203 transitions. [2022-02-20 23:58:04,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:04,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:04,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:04,582 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:04,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 116 states, 83 states have (on average 1.6265060240963856) internal successors, (135), 115 states have internal predecessors, (135), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,584 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 135 transitions. [2022-02-20 23:58:04,584 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 135 transitions. Word has length 30 [2022-02-20 23:58:04,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:04,584 INFO L470 AbstractCegarLoop]: Abstraction has 116 states and 135 transitions. [2022-02-20 23:58:04,584 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 10 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,585 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 135 transitions. [2022-02-20 23:58:04,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:58:04,585 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:04,585 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:04,585 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 23:58:04,586 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr18REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:04,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:04,586 INFO L85 PathProgramCache]: Analyzing trace with hash -55260162, now seen corresponding path program 1 times [2022-02-20 23:58:04,586 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:04,586 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1578625637] [2022-02-20 23:58:04,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:04,587 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:04,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:04,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {9087#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); {9087#true} is VALID [2022-02-20 23:58:04,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {9087#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {9087#true} is VALID [2022-02-20 23:58:04,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {9087#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {9087#true} is VALID [2022-02-20 23:58:04,633 INFO L290 TraceCheckUtils]: 3: Hoare triple {9087#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {9087#true} is VALID [2022-02-20 23:58:04,633 INFO L290 TraceCheckUtils]: 4: Hoare triple {9087#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {9087#true} is VALID [2022-02-20 23:58:04,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {9087#true} is VALID [2022-02-20 23:58:04,633 INFO L290 TraceCheckUtils]: 6: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {9087#true} is VALID [2022-02-20 23:58:04,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {9087#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {9087#true} is VALID [2022-02-20 23:58:04,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {9087#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {9087#true} is VALID [2022-02-20 23:58:04,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {9087#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {9087#true} is VALID [2022-02-20 23:58:04,634 INFO L290 TraceCheckUtils]: 10: Hoare triple {9087#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {9087#true} is VALID [2022-02-20 23:58:04,634 INFO L290 TraceCheckUtils]: 11: Hoare triple {9087#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {9087#true} is VALID [2022-02-20 23:58:04,634 INFO L290 TraceCheckUtils]: 12: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {9087#true} is VALID [2022-02-20 23:58:04,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {9087#true} is VALID [2022-02-20 23:58:04,634 INFO L290 TraceCheckUtils]: 14: Hoare triple {9087#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 16: Hoare triple {9087#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 17: Hoare triple {9087#true} assume !(dll_create_~len#1 > 0); {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 18: Hoare triple {9087#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 19: Hoare triple {9087#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 20: Hoare triple {9087#true} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {9087#true} is VALID [2022-02-20 23:58:04,635 INFO L290 TraceCheckUtils]: 21: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {9087#true} is VALID [2022-02-20 23:58:04,636 INFO L290 TraceCheckUtils]: 22: Hoare triple {9087#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {9087#true} is VALID [2022-02-20 23:58:04,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {9087#true} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {9087#true} is VALID [2022-02-20 23:58:04,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {9087#true} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {9087#true} is VALID [2022-02-20 23:58:04,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {9087#true} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} is VALID [2022-02-20 23:58:04,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} is VALID [2022-02-20 23:58:04,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} is VALID [2022-02-20 23:58:04,645 INFO L290 TraceCheckUtils]: 28: Hoare triple {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} assume !(dll_insert_~index#1 > 0); {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} is VALID [2022-02-20 23:58:04,645 INFO L290 TraceCheckUtils]: 29: Hoare triple {9089#(and (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset| 0) (= |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base| 0))} assume dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0; {9088#false} is VALID [2022-02-20 23:58:04,645 INFO L290 TraceCheckUtils]: 30: Hoare triple {9088#false} assume !(1 == #valid[dll_insert_~snd_to_last~0#1.base]); {9088#false} is VALID [2022-02-20 23:58:04,646 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:04,646 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:04,646 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1578625637] [2022-02-20 23:58:04,646 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1578625637] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:04,646 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:04,646 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:58:04,647 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [533133447] [2022-02-20 23:58:04,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:04,647 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 31 [2022-02-20 23:58:04,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:04,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:04,666 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:58:04,666 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:04,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:58:04,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:58:04,667 INFO L87 Difference]: Start difference. First operand 116 states and 135 transitions. Second operand has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,775 INFO L93 Difference]: Finished difference Result 159 states and 175 transitions. [2022-02-20 23:58:04,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:58:04,775 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 31 [2022-02-20 23:58:04,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:04,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 168 transitions. [2022-02-20 23:58:04,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 168 transitions. [2022-02-20 23:58:04,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 168 transitions. [2022-02-20 23:58:04,914 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:04,915 INFO L225 Difference]: With dead ends: 159 [2022-02-20 23:58:04,916 INFO L226 Difference]: Without dead ends: 159 [2022-02-20 23:58:04,916 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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:58:04,916 INFO L933 BasicCegarLoop]: 110 mSDtfsCounter, 68 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:04,917 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 196 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:04,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-02-20 23:58:04,919 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 111. [2022-02-20 23:58:04,919 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:04,919 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 111 states, 78 states have (on average 1.564102564102564) internal successors, (122), 110 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,919 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 111 states, 78 states have (on average 1.564102564102564) internal successors, (122), 110 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,919 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 111 states, 78 states have (on average 1.564102564102564) internal successors, (122), 110 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,922 INFO L93 Difference]: Finished difference Result 159 states and 175 transitions. [2022-02-20 23:58:04,922 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 175 transitions. [2022-02-20 23:58:04,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:04,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:04,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 78 states have (on average 1.564102564102564) internal successors, (122), 110 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 159 states. [2022-02-20 23:58:04,922 INFO L87 Difference]: Start difference. First operand has 111 states, 78 states have (on average 1.564102564102564) internal successors, (122), 110 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 159 states. [2022-02-20 23:58:04,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:04,927 INFO L93 Difference]: Finished difference Result 159 states and 175 transitions. [2022-02-20 23:58:04,927 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 175 transitions. [2022-02-20 23:58:04,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:04,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:04,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:04,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:04,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 78 states have (on average 1.564102564102564) internal successors, (122), 110 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 122 transitions. [2022-02-20 23:58:04,929 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 122 transitions. Word has length 31 [2022-02-20 23:58:04,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:04,930 INFO L470 AbstractCegarLoop]: Abstraction has 111 states and 122 transitions. [2022-02-20 23:58:04,930 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 8.333333333333334) internal successors, (25), 3 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:04,930 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 122 transitions. [2022-02-20 23:58:04,930 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:58:04,931 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:04,931 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:04,931 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 23:58:04,931 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr28REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:04,931 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:04,932 INFO L85 PathProgramCache]: Analyzing trace with hash -1713045098, now seen corresponding path program 1 times [2022-02-20 23:58:04,932 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:04,932 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [267470363] [2022-02-20 23:58:04,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:04,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:04,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:04,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {9680#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); {9680#true} is VALID [2022-02-20 23:58:04,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {9680#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {9680#true} is VALID [2022-02-20 23:58:04,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {9680#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {9680#true} is VALID [2022-02-20 23:58:04,993 INFO L290 TraceCheckUtils]: 3: Hoare triple {9680#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {9680#true} is VALID [2022-02-20 23:58:04,993 INFO L290 TraceCheckUtils]: 4: Hoare triple {9680#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {9680#true} is VALID [2022-02-20 23:58:04,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {9680#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {9680#true} is VALID [2022-02-20 23:58:04,993 INFO L290 TraceCheckUtils]: 6: Hoare triple {9680#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {9680#true} is VALID [2022-02-20 23:58:04,994 INFO L290 TraceCheckUtils]: 7: Hoare triple {9680#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {9680#true} is VALID [2022-02-20 23:58:04,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {9680#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {9680#true} is VALID [2022-02-20 23:58:04,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {9680#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {9680#true} is VALID [2022-02-20 23:58:04,994 INFO L290 TraceCheckUtils]: 10: Hoare triple {9680#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {9680#true} is VALID [2022-02-20 23:58:04,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {9680#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {9680#true} is VALID [2022-02-20 23:58:04,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {9680#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 13: Hoare triple {9680#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 14: Hoare triple {9680#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {9680#true} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {9680#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {9680#true} assume !(dll_create_~len#1 > 0); {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {9680#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {9680#true} is VALID [2022-02-20 23:58:04,995 INFO L290 TraceCheckUtils]: 19: Hoare triple {9680#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {9680#true} is VALID [2022-02-20 23:58:04,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {9680#true} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {9680#true} is VALID [2022-02-20 23:58:04,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {9680#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {9682#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,996 INFO L290 TraceCheckUtils]: 22: Hoare triple {9682#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {9682#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,997 INFO L290 TraceCheckUtils]: 23: Hoare triple {9682#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {9682#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,997 INFO L290 TraceCheckUtils]: 24: Hoare triple {9682#(= (select |#valid| |ULTIMATE.start_node_create_~temp~0#1.base|) 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {9683#(= (select |#valid| |ULTIMATE.start_node_create_#res#1.base|) 1)} is VALID [2022-02-20 23:58:04,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {9683#(= (select |#valid| |ULTIMATE.start_node_create_#res#1.base|) 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,999 INFO L290 TraceCheckUtils]: 28: Hoare triple {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} assume !(dll_insert_~index#1 > 0); {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,999 INFO L290 TraceCheckUtils]: 29: Hoare triple {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} assume !(dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0); {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} is VALID [2022-02-20 23:58:04,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} SUMMARY for call dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L627 {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} is VALID [2022-02-20 23:58:05,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {9684#(= (select |#valid| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) 1)} assume !(1 == #valid[dll_insert_~new_node~0#1.base]); {9681#false} is VALID [2022-02-20 23:58:05,000 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:05,000 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:05,000 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [267470363] [2022-02-20 23:58:05,000 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [267470363] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:05,001 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:05,001 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:58:05,001 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [59339211] [2022-02-20 23:58:05,001 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:05,002 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:58:05,002 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:05,002 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:05,022 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:58:05,023 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:05,023 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:58:05,023 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:58:05,023 INFO L87 Difference]: Start difference. First operand 111 states and 122 transitions. Second operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:05,279 INFO L93 Difference]: Finished difference Result 120 states and 132 transitions. [2022-02-20 23:58:05,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:05,279 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:58:05,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:05,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 124 transitions. [2022-02-20 23:58:05,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 124 transitions. [2022-02-20 23:58:05,281 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 124 transitions. [2022-02-20 23:58:05,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:05,386 INFO L225 Difference]: With dead ends: 120 [2022-02-20 23:58:05,387 INFO L226 Difference]: Without dead ends: 120 [2022-02-20 23:58:05,387 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:05,387 INFO L933 BasicCegarLoop]: 64 mSDtfsCounter, 254 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 94 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 254 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 97 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 94 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:05,388 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [254 Valid, 106 Invalid, 97 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 94 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:05,388 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-02-20 23:58:05,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 108. [2022-02-20 23:58:05,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:05,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 108 states, 78 states have (on average 1.5256410256410255) internal successors, (119), 107 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,390 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 108 states, 78 states have (on average 1.5256410256410255) internal successors, (119), 107 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,390 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 108 states, 78 states have (on average 1.5256410256410255) internal successors, (119), 107 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:05,393 INFO L93 Difference]: Finished difference Result 120 states and 132 transitions. [2022-02-20 23:58:05,393 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-02-20 23:58:05,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:05,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:05,393 INFO L74 IsIncluded]: Start isIncluded. First operand has 108 states, 78 states have (on average 1.5256410256410255) internal successors, (119), 107 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 120 states. [2022-02-20 23:58:05,394 INFO L87 Difference]: Start difference. First operand has 108 states, 78 states have (on average 1.5256410256410255) internal successors, (119), 107 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 120 states. [2022-02-20 23:58:05,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:05,395 INFO L93 Difference]: Finished difference Result 120 states and 132 transitions. [2022-02-20 23:58:05,395 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-02-20 23:58:05,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:05,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:05,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:05,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:05,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 108 states, 78 states have (on average 1.5256410256410255) internal successors, (119), 107 states have internal predecessors, (119), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 119 transitions. [2022-02-20 23:58:05,397 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 119 transitions. Word has length 32 [2022-02-20 23:58:05,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:05,397 INFO L470 AbstractCegarLoop]: Abstraction has 108 states and 119 transitions. [2022-02-20 23:58:05,398 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 6.5) internal successors, (26), 5 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,398 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 119 transitions. [2022-02-20 23:58:05,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-02-20 23:58:05,398 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:05,398 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:05,398 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-02-20 23:58:05,398 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr29REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:05,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:05,399 INFO L85 PathProgramCache]: Analyzing trace with hash -1713045097, now seen corresponding path program 1 times [2022-02-20 23:58:05,399 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:05,400 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1466824927] [2022-02-20 23:58:05,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:05,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:05,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:05,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {10159#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); {10159#true} is VALID [2022-02-20 23:58:05,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {10159#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,483 INFO L290 TraceCheckUtils]: 3: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,484 INFO L290 TraceCheckUtils]: 4: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,485 INFO L290 TraceCheckUtils]: 6: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:05,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {10161#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,487 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,488 INFO L290 TraceCheckUtils]: 12: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,488 INFO L290 TraceCheckUtils]: 13: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,494 INFO L290 TraceCheckUtils]: 28: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} assume !(dll_insert_~index#1 > 0); {10160#false} is VALID [2022-02-20 23:58:05,494 INFO L290 TraceCheckUtils]: 29: Hoare triple {10160#false} assume !(dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0); {10160#false} is VALID [2022-02-20 23:58:05,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {10160#false} SUMMARY for call dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L627 {10160#false} is VALID [2022-02-20 23:58:05,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {10160#false} assume !(4 + (4 + dll_insert_~new_node~0#1.offset) <= #length[dll_insert_~new_node~0#1.base] && 0 <= 4 + dll_insert_~new_node~0#1.offset); {10160#false} is VALID [2022-02-20 23:58:05,494 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:05,494 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:05,494 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1466824927] [2022-02-20 23:58:05,495 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1466824927] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:05,495 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1426678192] [2022-02-20 23:58:05,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:05,495 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:05,495 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:05,496 INFO L229 MonitoredProcess]: Starting monitored process 9 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:58:05,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 23:58:05,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:05,640 INFO L263 TraceCheckSpWp]: Trace formula consists of 339 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:58:05,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:05,657 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:05,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {10159#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); {10159#true} is VALID [2022-02-20 23:58:05,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {10159#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,942 INFO L290 TraceCheckUtils]: 3: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,942 INFO L290 TraceCheckUtils]: 4: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,944 INFO L290 TraceCheckUtils]: 8: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,945 INFO L290 TraceCheckUtils]: 10: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,945 INFO L290 TraceCheckUtils]: 11: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,946 INFO L290 TraceCheckUtils]: 12: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,946 INFO L290 TraceCheckUtils]: 13: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,947 INFO L290 TraceCheckUtils]: 14: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,948 INFO L290 TraceCheckUtils]: 16: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 23:58:05,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {10162#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,952 INFO L290 TraceCheckUtils]: 24: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} is VALID [2022-02-20 23:58:05,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {10163#(<= 1 |ULTIMATE.start_dll_insert_~index#1|)} assume !(dll_insert_~index#1 > 0); {10160#false} is VALID [2022-02-20 23:58:05,954 INFO L290 TraceCheckUtils]: 29: Hoare triple {10160#false} assume !(dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0); {10160#false} is VALID [2022-02-20 23:58:05,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {10160#false} SUMMARY for call dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L627 {10160#false} is VALID [2022-02-20 23:58:05,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {10160#false} assume !(4 + (4 + dll_insert_~new_node~0#1.offset) <= #length[dll_insert_~new_node~0#1.base] && 0 <= 4 + dll_insert_~new_node~0#1.offset); {10160#false} is VALID [2022-02-20 23:58:05,955 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:05,955 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:05,955 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1426678192] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:05,955 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:58:05,955 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 5 [2022-02-20 23:58:05,956 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [646304537] [2022-02-20 23:58:05,956 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:05,956 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:58:05,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:05,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:05,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:05,982 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:05,982 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:05,983 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:05,983 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:58:05,983 INFO L87 Difference]: Start difference. First operand 108 states and 119 transitions. Second operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,104 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-02-20 23:58:06,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:58:06,105 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 32 [2022-02-20 23:58:06,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:06,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 110 transitions. [2022-02-20 23:58:06,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 110 transitions. [2022-02-20 23:58:06,107 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 110 transitions. [2022-02-20 23:58:06,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:06,198 INFO L225 Difference]: With dead ends: 107 [2022-02-20 23:58:06,198 INFO L226 Difference]: Without dead ends: 107 [2022-02-20 23:58:06,198 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:58:06,199 INFO L933 BasicCegarLoop]: 103 mSDtfsCounter, 99 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 99 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:06,199 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [99 Valid, 195 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:06,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2022-02-20 23:58:06,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2022-02-20 23:58:06,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:06,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand has 107 states, 77 states have (on average 1.5194805194805194) internal successors, (117), 106 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,205 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand has 107 states, 77 states have (on average 1.5194805194805194) internal successors, (117), 106 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,205 INFO L87 Difference]: Start difference. First operand 107 states. Second operand has 107 states, 77 states have (on average 1.5194805194805194) internal successors, (117), 106 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,207 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-02-20 23:58:06,207 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-02-20 23:58:06,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:06,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:06,208 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 77 states have (on average 1.5194805194805194) internal successors, (117), 106 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 107 states. [2022-02-20 23:58:06,208 INFO L87 Difference]: Start difference. First operand has 107 states, 77 states have (on average 1.5194805194805194) internal successors, (117), 106 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 107 states. [2022-02-20 23:58:06,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:06,209 INFO L93 Difference]: Finished difference Result 107 states and 117 transitions. [2022-02-20 23:58:06,209 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-02-20 23:58:06,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:06,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:06,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:06,210 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:06,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 77 states have (on average 1.5194805194805194) internal successors, (117), 106 states have internal predecessors, (117), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 117 transitions. [2022-02-20 23:58:06,212 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 117 transitions. Word has length 32 [2022-02-20 23:58:06,212 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:06,213 INFO L470 AbstractCegarLoop]: Abstraction has 107 states and 117 transitions. [2022-02-20 23:58:06,213 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.5) internal successors, (26), 4 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:06,213 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 117 transitions. [2022-02-20 23:58:06,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 23:58:06,213 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:06,214 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:06,240 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:06,427 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-02-20 23:58:06,427 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr16REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:06,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:06,428 INFO L85 PathProgramCache]: Analyzing trace with hash -1563834333, now seen corresponding path program 1 times [2022-02-20 23:58:06,428 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:06,428 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2070639520] [2022-02-20 23:58:06,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:06,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:06,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,529 INFO L290 TraceCheckUtils]: 0: Hoare triple {10689#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); {10689#true} is VALID [2022-02-20 23:58:06,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {10689#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,530 INFO L290 TraceCheckUtils]: 2: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,531 INFO L290 TraceCheckUtils]: 3: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,531 INFO L290 TraceCheckUtils]: 4: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,533 INFO L290 TraceCheckUtils]: 6: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,533 INFO L290 TraceCheckUtils]: 7: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} is VALID [2022-02-20 23:58:06,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {10691#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,535 INFO L290 TraceCheckUtils]: 10: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,536 INFO L290 TraceCheckUtils]: 12: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,538 INFO L290 TraceCheckUtils]: 16: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,538 INFO L290 TraceCheckUtils]: 17: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(dll_create_~len#1 > 0); {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:06,540 INFO L290 TraceCheckUtils]: 19: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,542 INFO L290 TraceCheckUtils]: 24: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,542 INFO L290 TraceCheckUtils]: 25: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,542 INFO L290 TraceCheckUtils]: 26: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,543 INFO L290 TraceCheckUtils]: 28: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,543 INFO L290 TraceCheckUtils]: 29: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:06,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {10694#(<= |ULTIMATE.start_dll_insert_~index#1| 0)} is VALID [2022-02-20 23:58:06,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {10694#(<= |ULTIMATE.start_dll_insert_~index#1| 0)} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {10690#false} is VALID [2022-02-20 23:58:06,545 INFO L290 TraceCheckUtils]: 32: Hoare triple {10690#false} assume !(1 == #valid[dll_insert_~last~0#1.base]); {10690#false} is VALID [2022-02-20 23:58:06,545 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:58:06,545 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:06,545 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2070639520] [2022-02-20 23:58:06,545 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2070639520] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:06,545 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [389083430] [2022-02-20 23:58:06,546 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:06,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:06,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:06,548 INFO L229 MonitoredProcess]: Starting monitored process 10 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:58:06,574 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 23:58:06,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,714 INFO L263 TraceCheckSpWp]: Trace formula consists of 350 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:58:06,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:06,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:07,124 INFO L290 TraceCheckUtils]: 0: Hoare triple {10689#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); {10689#true} is VALID [2022-02-20 23:58:07,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {10689#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,126 INFO L290 TraceCheckUtils]: 3: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,127 INFO L290 TraceCheckUtils]: 4: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,128 INFO L290 TraceCheckUtils]: 5: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,128 INFO L290 TraceCheckUtils]: 6: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,129 INFO L290 TraceCheckUtils]: 8: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,130 INFO L290 TraceCheckUtils]: 10: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,131 INFO L290 TraceCheckUtils]: 11: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,132 INFO L290 TraceCheckUtils]: 12: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,132 INFO L290 TraceCheckUtils]: 13: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,134 INFO L290 TraceCheckUtils]: 15: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,134 INFO L290 TraceCheckUtils]: 16: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,135 INFO L290 TraceCheckUtils]: 17: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(dll_create_~len#1 > 0); {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 23:58:07,137 INFO L290 TraceCheckUtils]: 19: Hoare triple {10692#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,137 INFO L290 TraceCheckUtils]: 21: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,138 INFO L290 TraceCheckUtils]: 23: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,139 INFO L290 TraceCheckUtils]: 24: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,140 INFO L290 TraceCheckUtils]: 27: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,141 INFO L290 TraceCheckUtils]: 28: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,141 INFO L290 TraceCheckUtils]: 29: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} is VALID [2022-02-20 23:58:07,142 INFO L290 TraceCheckUtils]: 30: Hoare triple {10693#(<= |ULTIMATE.start_dll_insert_~index#1| 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {10694#(<= |ULTIMATE.start_dll_insert_~index#1| 0)} is VALID [2022-02-20 23:58:07,142 INFO L290 TraceCheckUtils]: 31: Hoare triple {10694#(<= |ULTIMATE.start_dll_insert_~index#1| 0)} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {10690#false} is VALID [2022-02-20 23:58:07,142 INFO L290 TraceCheckUtils]: 32: Hoare triple {10690#false} assume !(1 == #valid[dll_insert_~last~0#1.base]); {10690#false} is VALID [2022-02-20 23:58:07,143 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:07,143 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:58:07,143 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [389083430] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:07,143 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:58:07,143 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 6 [2022-02-20 23:58:07,144 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [410146236] [2022-02-20 23:58:07,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:07,144 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 33 [2022-02-20 23:58:07,144 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:07,145 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,166 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:07,167 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:58:07,167 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:07,167 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:58:07,167 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:58:07,167 INFO L87 Difference]: Start difference. First operand 107 states and 117 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,314 INFO L93 Difference]: Finished difference Result 104 states and 113 transitions. [2022-02-20 23:58:07,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:07,314 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 33 [2022-02-20 23:58:07,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:07,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 107 transitions. [2022-02-20 23:58:07,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 107 transitions. [2022-02-20 23:58:07,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 107 transitions. [2022-02-20 23:58:07,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:07,404 INFO L225 Difference]: With dead ends: 104 [2022-02-20 23:58:07,404 INFO L226 Difference]: Without dead ends: 104 [2022-02-20 23:58:07,404 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=35, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:58:07,405 INFO L933 BasicCegarLoop]: 100 mSDtfsCounter, 173 mSDsluCounter, 36 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 173 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 10 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:07,405 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [173 Valid, 136 Invalid, 10 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:58:07,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-02-20 23:58:07,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-02-20 23:58:07,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:07,406 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 104 states, 76 states have (on average 1.486842105263158) internal successors, (113), 103 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,406 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 104 states, 76 states have (on average 1.486842105263158) internal successors, (113), 103 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,407 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 104 states, 76 states have (on average 1.486842105263158) internal successors, (113), 103 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,408 INFO L93 Difference]: Finished difference Result 104 states and 113 transitions. [2022-02-20 23:58:07,408 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 113 transitions. [2022-02-20 23:58:07,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:07,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:07,409 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 76 states have (on average 1.486842105263158) internal successors, (113), 103 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 104 states. [2022-02-20 23:58:07,409 INFO L87 Difference]: Start difference. First operand has 104 states, 76 states have (on average 1.486842105263158) internal successors, (113), 103 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 104 states. [2022-02-20 23:58:07,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,410 INFO L93 Difference]: Finished difference Result 104 states and 113 transitions. [2022-02-20 23:58:07,411 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 113 transitions. [2022-02-20 23:58:07,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:07,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:07,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:07,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:07,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 76 states have (on average 1.486842105263158) internal successors, (113), 103 states have internal predecessors, (113), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 113 transitions. [2022-02-20 23:58:07,413 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 113 transitions. Word has length 33 [2022-02-20 23:58:07,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:07,413 INFO L470 AbstractCegarLoop]: Abstraction has 104 states and 113 transitions. [2022-02-20 23:58:07,413 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,413 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 113 transitions. [2022-02-20 23:58:07,414 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:58:07,414 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:07,415 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:07,441 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 23:58:07,627 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-02-20 23:58:07,628 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr18REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:07,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:07,628 INFO L85 PathProgramCache]: Analyzing trace with hash -1234225649, now seen corresponding path program 1 times [2022-02-20 23:58:07,628 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:07,628 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [283142720] [2022-02-20 23:58:07,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:07,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:07,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:07,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {11213#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); {11213#true} is VALID [2022-02-20 23:58:07,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {11213#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {11213#true} is VALID [2022-02-20 23:58:07,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {11213#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {11213#true} is VALID [2022-02-20 23:58:07,680 INFO L290 TraceCheckUtils]: 3: Hoare triple {11213#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {11213#true} is VALID [2022-02-20 23:58:07,680 INFO L290 TraceCheckUtils]: 4: Hoare triple {11213#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {11213#true} is VALID [2022-02-20 23:58:07,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {11213#true} is VALID [2022-02-20 23:58:07,680 INFO L290 TraceCheckUtils]: 6: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {11213#true} is VALID [2022-02-20 23:58:07,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {11213#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {11213#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {11213#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 10: Hoare triple {11213#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 11: Hoare triple {11213#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {11213#true} is VALID [2022-02-20 23:58:07,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {11213#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {11213#true} is VALID [2022-02-20 23:58:07,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {11213#true} is VALID [2022-02-20 23:58:07,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {11213#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {11213#true} is VALID [2022-02-20 23:58:07,682 INFO L290 TraceCheckUtils]: 17: Hoare triple {11213#true} assume !(dll_create_~len#1 > 0); {11213#true} is VALID [2022-02-20 23:58:07,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {11213#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {11213#true} is VALID [2022-02-20 23:58:07,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {11213#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {11213#true} is VALID [2022-02-20 23:58:07,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {11213#true} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 21: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 22: Hoare triple {11213#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {11213#true} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {11213#true} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {11213#true} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 26: Hoare triple {11213#true} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {11213#true} is VALID [2022-02-20 23:58:07,683 INFO L290 TraceCheckUtils]: 27: Hoare triple {11213#true} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {11213#true} is VALID [2022-02-20 23:58:07,684 INFO L290 TraceCheckUtils]: 28: Hoare triple {11213#true} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {11215#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|))} is VALID [2022-02-20 23:58:07,685 INFO L290 TraceCheckUtils]: 29: Hoare triple {11215#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|))} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} is VALID [2022-02-20 23:58:07,685 INFO L290 TraceCheckUtils]: 30: Hoare triple {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} is VALID [2022-02-20 23:58:07,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} assume !(dll_insert_~index#1 > 0); {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} is VALID [2022-02-20 23:58:07,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} assume dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0; {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} is VALID [2022-02-20 23:58:07,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {11216#(= (select |#valid| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|) 1)} assume !(1 == #valid[dll_insert_~snd_to_last~0#1.base]); {11214#false} is VALID [2022-02-20 23:58:07,686 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:07,686 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:07,686 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [283142720] [2022-02-20 23:58:07,687 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [283142720] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:07,687 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:07,687 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:58:07,689 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [765903971] [2022-02-20 23:58:07,689 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:07,690 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 34 [2022-02-20 23:58:07,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:07,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:07,711 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:07,711 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:07,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:07,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:07,712 INFO L87 Difference]: Start difference. First operand 104 states and 113 transitions. Second operand has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:07,970 INFO L93 Difference]: Finished difference Result 161 states and 177 transitions. [2022-02-20 23:58:07,970 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:07,970 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 34 [2022-02-20 23:58:07,970 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:07,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 171 transitions. [2022-02-20 23:58:07,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:07,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 171 transitions. [2022-02-20 23:58:07,972 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 171 transitions. [2022-02-20 23:58:08,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 171 edges. 171 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:08,091 INFO L225 Difference]: With dead ends: 161 [2022-02-20 23:58:08,091 INFO L226 Difference]: Without dead ends: 161 [2022-02-20 23:58:08,091 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:58:08,091 INFO L933 BasicCegarLoop]: 103 mSDtfsCounter, 126 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 126 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:08,092 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [126 Valid, 170 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:08,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-02-20 23:58:08,094 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 103. [2022-02-20 23:58:08,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:08,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 103 states, 76 states have (on average 1.4736842105263157) internal successors, (112), 102 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,094 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 103 states, 76 states have (on average 1.4736842105263157) internal successors, (112), 102 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,095 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 103 states, 76 states have (on average 1.4736842105263157) internal successors, (112), 102 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:08,097 INFO L93 Difference]: Finished difference Result 161 states and 177 transitions. [2022-02-20 23:58:08,097 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 177 transitions. [2022-02-20 23:58:08,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:08,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:08,098 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 76 states have (on average 1.4736842105263157) internal successors, (112), 102 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 161 states. [2022-02-20 23:58:08,098 INFO L87 Difference]: Start difference. First operand has 103 states, 76 states have (on average 1.4736842105263157) internal successors, (112), 102 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 161 states. [2022-02-20 23:58:08,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:08,100 INFO L93 Difference]: Finished difference Result 161 states and 177 transitions. [2022-02-20 23:58:08,101 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 177 transitions. [2022-02-20 23:58:08,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:08,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:08,101 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:08,101 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:08,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 76 states have (on average 1.4736842105263157) internal successors, (112), 102 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 112 transitions. [2022-02-20 23:58:08,103 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 112 transitions. Word has length 34 [2022-02-20 23:58:08,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:08,103 INFO L470 AbstractCegarLoop]: Abstraction has 103 states and 112 transitions. [2022-02-20 23:58:08,103 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,103 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2022-02-20 23:58:08,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:58:08,104 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:08,104 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:08,104 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2022-02-20 23:58:08,104 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr19REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:08,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:08,105 INFO L85 PathProgramCache]: Analyzing trace with hash -1234225648, now seen corresponding path program 1 times [2022-02-20 23:58:08,105 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:08,105 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1823166491] [2022-02-20 23:58:08,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:08,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:08,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:08,171 INFO L290 TraceCheckUtils]: 0: Hoare triple {11807#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); {11807#true} is VALID [2022-02-20 23:58:08,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {11807#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {11807#true} is VALID [2022-02-20 23:58:08,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {11807#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {11807#true} is VALID [2022-02-20 23:58:08,172 INFO L290 TraceCheckUtils]: 3: Hoare triple {11807#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {11807#true} is VALID [2022-02-20 23:58:08,172 INFO L290 TraceCheckUtils]: 4: Hoare triple {11807#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {11807#true} is VALID [2022-02-20 23:58:08,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {11807#true} is VALID [2022-02-20 23:58:08,172 INFO L290 TraceCheckUtils]: 6: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {11807#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {11807#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {11807#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 10: Hoare triple {11807#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 11: Hoare triple {11807#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 12: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {11807#true} is VALID [2022-02-20 23:58:08,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {11807#true} is VALID [2022-02-20 23:58:08,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {11807#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {11807#true} is VALID [2022-02-20 23:58:08,174 INFO L290 TraceCheckUtils]: 15: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {11807#true} is VALID [2022-02-20 23:58:08,174 INFO L290 TraceCheckUtils]: 16: Hoare triple {11807#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {11807#true} is VALID [2022-02-20 23:58:08,174 INFO L290 TraceCheckUtils]: 17: Hoare triple {11807#true} assume !(dll_create_~len#1 > 0); {11807#true} is VALID [2022-02-20 23:58:08,174 INFO L290 TraceCheckUtils]: 18: Hoare triple {11807#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {11807#true} is VALID [2022-02-20 23:58:08,174 INFO L290 TraceCheckUtils]: 19: Hoare triple {11807#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {11807#true} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 21: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {11807#true} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {11807#true} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {11807#true} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 25: Hoare triple {11807#true} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {11807#true} is VALID [2022-02-20 23:58:08,175 INFO L290 TraceCheckUtils]: 26: Hoare triple {11807#true} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {11807#true} is VALID [2022-02-20 23:58:08,176 INFO L290 TraceCheckUtils]: 27: Hoare triple {11807#true} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {11807#true} is VALID [2022-02-20 23:58:08,176 INFO L290 TraceCheckUtils]: 28: Hoare triple {11807#true} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {11809#(and (= (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| (* (- 1) |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)) 0) (= (+ (select |#length| |ULTIMATE.start_dll_insert_~last~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|))) 0))} is VALID [2022-02-20 23:58:08,177 INFO L290 TraceCheckUtils]: 29: Hoare triple {11809#(and (= (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| (* (- 1) |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)) 0) (= (+ (select |#length| |ULTIMATE.start_dll_insert_~last~0#1.base|) (* (- 1) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|))) 0))} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} is VALID [2022-02-20 23:58:08,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} is VALID [2022-02-20 23:58:08,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} assume !(dll_insert_~index#1 > 0); {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} is VALID [2022-02-20 23:58:08,178 INFO L290 TraceCheckUtils]: 32: Hoare triple {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} assume dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0; {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} is VALID [2022-02-20 23:58:08,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {11810#(and (<= (+ 8 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|) (select |#length| |ULTIMATE.start_dll_insert_~snd_to_last~0#1.base|)) (<= 0 (+ 4 |ULTIMATE.start_dll_insert_~snd_to_last~0#1.offset|)))} assume !(4 + (4 + dll_insert_~snd_to_last~0#1.offset) <= #length[dll_insert_~snd_to_last~0#1.base] && 0 <= 4 + dll_insert_~snd_to_last~0#1.offset); {11808#false} is VALID [2022-02-20 23:58:08,179 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:58:08,179 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:08,180 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1823166491] [2022-02-20 23:58:08,180 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1823166491] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:08,180 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:08,180 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:58:08,180 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2104082621] [2022-02-20 23:58:08,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:08,181 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 34 [2022-02-20 23:58:08,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:08,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,202 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:08,202 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:58:08,203 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:08,203 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:58:08,203 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:58:08,203 INFO L87 Difference]: Start difference. First operand 103 states and 112 transitions. Second operand has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:08,481 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-02-20 23:58:08,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:08,481 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 34 [2022-02-20 23:58:08,482 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:08,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 105 transitions. [2022-02-20 23:58:08,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 105 transitions. [2022-02-20 23:58:08,483 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 105 transitions. [2022-02-20 23:58:08,556 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:08,557 INFO L225 Difference]: With dead ends: 102 [2022-02-20 23:58:08,557 INFO L226 Difference]: Without dead ends: 102 [2022-02-20 23:58:08,558 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:58:08,559 INFO L933 BasicCegarLoop]: 70 mSDtfsCounter, 78 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 99 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:08,559 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 130 Invalid, 99 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:08,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-02-20 23:58:08,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-02-20 23:58:08,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:08,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 102 states, 76 states have (on average 1.4605263157894737) internal successors, (111), 101 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,562 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 102 states, 76 states have (on average 1.4605263157894737) internal successors, (111), 101 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,562 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 102 states, 76 states have (on average 1.4605263157894737) internal successors, (111), 101 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:08,563 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-02-20 23:58:08,563 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2022-02-20 23:58:08,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:08,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:08,564 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 76 states have (on average 1.4605263157894737) internal successors, (111), 101 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 102 states. [2022-02-20 23:58:08,564 INFO L87 Difference]: Start difference. First operand has 102 states, 76 states have (on average 1.4605263157894737) internal successors, (111), 101 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 102 states. [2022-02-20 23:58:08,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:08,566 INFO L93 Difference]: Finished difference Result 102 states and 111 transitions. [2022-02-20 23:58:08,566 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2022-02-20 23:58:08,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:08,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:08,566 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:08,566 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:08,567 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 76 states have (on average 1.4605263157894737) internal successors, (111), 101 states have internal predecessors, (111), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 111 transitions. [2022-02-20 23:58:08,568 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 111 transitions. Word has length 34 [2022-02-20 23:58:08,568 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:08,568 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 111 transitions. [2022-02-20 23:58:08,568 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 9.333333333333334) internal successors, (28), 4 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,568 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 111 transitions. [2022-02-20 23:58:08,569 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 23:58:08,569 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:08,569 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:08,569 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2022-02-20 23:58:08,569 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr21REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:08,570 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:08,570 INFO L85 PathProgramCache]: Analyzing trace with hash 393710610, now seen corresponding path program 1 times [2022-02-20 23:58:08,570 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:08,570 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [304231134] [2022-02-20 23:58:08,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:08,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:08,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:08,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {12223#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); {12223#true} is VALID [2022-02-20 23:58:08,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {12223#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {12223#true} is VALID [2022-02-20 23:58:08,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {12223#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {12223#true} is VALID [2022-02-20 23:58:08,674 INFO L290 TraceCheckUtils]: 3: Hoare triple {12223#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {12223#true} is VALID [2022-02-20 23:58:08,674 INFO L290 TraceCheckUtils]: 4: Hoare triple {12223#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {12223#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {12223#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {12223#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {12223#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {12223#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 10: Hoare triple {12223#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {12223#true} is VALID [2022-02-20 23:58:08,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {12223#true} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {12223#true} is VALID [2022-02-20 23:58:08,676 INFO L290 TraceCheckUtils]: 12: Hoare triple {12223#true} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {12223#true} is VALID [2022-02-20 23:58:08,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {12223#true} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {12223#true} is VALID [2022-02-20 23:58:08,676 INFO L290 TraceCheckUtils]: 14: Hoare triple {12223#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {12223#true} is VALID [2022-02-20 23:58:08,676 INFO L290 TraceCheckUtils]: 15: Hoare triple {12223#true} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {12223#true} is VALID [2022-02-20 23:58:08,676 INFO L290 TraceCheckUtils]: 16: Hoare triple {12223#true} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {12223#true} is VALID [2022-02-20 23:58:08,676 INFO L290 TraceCheckUtils]: 17: Hoare triple {12223#true} assume !(dll_create_~len#1 > 0); {12223#true} is VALID [2022-02-20 23:58:08,677 INFO L290 TraceCheckUtils]: 18: Hoare triple {12223#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {12223#true} is VALID [2022-02-20 23:58:08,678 INFO L290 TraceCheckUtils]: 19: Hoare triple {12223#true} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:08,678 INFO L290 TraceCheckUtils]: 20: Hoare triple {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:08,679 INFO L290 TraceCheckUtils]: 21: Hoare triple {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:08,680 INFO L290 TraceCheckUtils]: 22: Hoare triple {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:08,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:08,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {12225#(and (= |ULTIMATE.start_node_create_~temp~0#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_~temp~0#1.base|)))} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {12226#(and (= |ULTIMATE.start_node_create_#res#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_#res#1.base|)))} is VALID [2022-02-20 23:58:08,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {12226#(and (= |ULTIMATE.start_node_create_#res#1.offset| 0) (= 12 (select |#length| |ULTIMATE.start_node_create_#res#1.base|)))} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,682 INFO L290 TraceCheckUtils]: 26: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,683 INFO L290 TraceCheckUtils]: 28: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,683 INFO L290 TraceCheckUtils]: 29: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,684 INFO L290 TraceCheckUtils]: 30: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} assume !(dll_insert_~index#1 > 0); {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} assume dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0; {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, 4 + dll_insert_~snd_to_last~0#1.offset, 4); srcloc: L620 {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} is VALID [2022-02-20 23:58:08,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {12227#(and (= (+ (select |#length| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (- 12)) 0) (= |ULTIMATE.start_dll_insert_~new_node~0#1.offset| 0))} assume !(4 + (8 + dll_insert_~new_node~0#1.offset) <= #length[dll_insert_~new_node~0#1.base] && 0 <= 8 + dll_insert_~new_node~0#1.offset); {12224#false} is VALID [2022-02-20 23:58:08,686 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-02-20 23:58:08,686 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:08,687 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [304231134] [2022-02-20 23:58:08,687 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [304231134] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:58:08,687 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:58:08,687 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:58:08,687 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [901060275] [2022-02-20 23:58:08,687 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:58:08,688 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 35 [2022-02-20 23:58:08,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:58:08,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,711 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:08,711 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:58:08,711 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:58:08,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:58:08,712 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:58:08,712 INFO L87 Difference]: Start difference. First operand 102 states and 111 transitions. Second operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:08,939 INFO L93 Difference]: Finished difference Result 99 states and 108 transitions. [2022-02-20 23:58:08,939 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:58:08,939 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 35 [2022-02-20 23:58:08,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:58:08,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2022-02-20 23:58:08,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:08,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 104 transitions. [2022-02-20 23:58:08,941 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 104 transitions. [2022-02-20 23:58:09,026 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:58:09,027 INFO L225 Difference]: With dead ends: 99 [2022-02-20 23:58:09,027 INFO L226 Difference]: Without dead ends: 99 [2022-02-20 23:58:09,027 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:58:09,028 INFO L933 BasicCegarLoop]: 65 mSDtfsCounter, 238 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 238 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 70 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:58:09,028 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [238 Valid, 83 Invalid, 70 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:58:09,029 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-02-20 23:58:09,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 99. [2022-02-20 23:58:09,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:58:09,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 99 states, 76 states have (on average 1.4210526315789473) internal successors, (108), 98 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:09,030 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 99 states, 76 states have (on average 1.4210526315789473) internal successors, (108), 98 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:09,030 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 99 states, 76 states have (on average 1.4210526315789473) internal successors, (108), 98 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:09,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:09,031 INFO L93 Difference]: Finished difference Result 99 states and 108 transitions. [2022-02-20 23:58:09,032 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 108 transitions. [2022-02-20 23:58:09,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:09,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:09,032 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 76 states have (on average 1.4210526315789473) internal successors, (108), 98 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 99 states. [2022-02-20 23:58:09,032 INFO L87 Difference]: Start difference. First operand has 99 states, 76 states have (on average 1.4210526315789473) internal successors, (108), 98 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 99 states. [2022-02-20 23:58:09,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:58:09,034 INFO L93 Difference]: Finished difference Result 99 states and 108 transitions. [2022-02-20 23:58:09,034 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 108 transitions. [2022-02-20 23:58:09,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:58:09,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:58:09,034 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:58:09,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:58:09,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 76 states have (on average 1.4210526315789473) internal successors, (108), 98 states have internal predecessors, (108), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:09,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 108 transitions. [2022-02-20 23:58:09,036 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 108 transitions. Word has length 35 [2022-02-20 23:58:09,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:58:09,036 INFO L470 AbstractCegarLoop]: Abstraction has 99 states and 108 transitions. [2022-02-20 23:58:09,036 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 7.25) internal successors, (29), 5 states have internal predecessors, (29), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:58:09,036 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 108 transitions. [2022-02-20 23:58:09,037 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 23:58:09,037 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:58:09,037 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:58:09,037 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20 [2022-02-20 23:58:09,037 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr24REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 57 more)] === [2022-02-20 23:58:09,038 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:58:09,038 INFO L85 PathProgramCache]: Analyzing trace with hash -522865965, now seen corresponding path program 1 times [2022-02-20 23:58:09,038 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:58:09,038 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1853369825] [2022-02-20 23:58:09,038 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:09,038 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:58:09,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:09,494 INFO L290 TraceCheckUtils]: 0: Hoare triple {12630#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); {12630#true} is VALID [2022-02-20 23:58:09,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {12630#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {12632#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:09,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {12632#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {12632#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:09,496 INFO L290 TraceCheckUtils]: 3: Hoare triple {12632#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {12632#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} is VALID [2022-02-20 23:58:09,496 INFO L290 TraceCheckUtils]: 4: Hoare triple {12632#(<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|)} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,497 INFO L290 TraceCheckUtils]: 5: Hoare triple {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,497 INFO L290 TraceCheckUtils]: 6: Hoare triple {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,499 INFO L290 TraceCheckUtils]: 7: Hoare triple {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {12633#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {12634#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {12634#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {12635#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,501 INFO L290 TraceCheckUtils]: 10: Hoare triple {12635#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {12635#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,501 INFO L290 TraceCheckUtils]: 11: Hoare triple {12635#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {12636#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,502 INFO L290 TraceCheckUtils]: 12: Hoare triple {12636#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {12637#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,503 INFO L290 TraceCheckUtils]: 13: Hoare triple {12637#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {12637#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,503 INFO L290 TraceCheckUtils]: 14: Hoare triple {12637#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {12637#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} is VALID [2022-02-20 23:58:09,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {12637#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {12638#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) 1))} is VALID [2022-02-20 23:58:09,505 INFO L290 TraceCheckUtils]: 16: Hoare triple {12638#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) 1))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {12639#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:58:09,505 INFO L290 TraceCheckUtils]: 17: Hoare triple {12639#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {12639#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:58:09,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {12639#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {12640#(and (= (select |#valid| |ULTIMATE.start_dll_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4)) 1))} is VALID [2022-02-20 23:58:09,507 INFO L290 TraceCheckUtils]: 19: Hoare triple {12640#(and (= (select |#valid| |ULTIMATE.start_dll_create_#res#1.base|) 1) (<= (+ |#StackHeapBarrier| 1) |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4)) 1))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:09,507 INFO L290 TraceCheckUtils]: 20: Hoare triple {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:09,508 INFO L290 TraceCheckUtils]: 21: Hoare triple {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:09,509 INFO L290 TraceCheckUtils]: 22: Hoare triple {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} is VALID [2022-02-20 23:58:09,510 INFO L290 TraceCheckUtils]: 23: Hoare triple {12641#(and (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) |ULTIMATE.start_node_create_~temp~0#1.base|)) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (not (= |ULTIMATE.start_dll_insert_~head#1.base| |ULTIMATE.start_node_create_~temp~0#1.base|)))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {12642#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} is VALID [2022-02-20 23:58:09,510 INFO L290 TraceCheckUtils]: 24: Hoare triple {12642#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1) (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4))) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {12643#(and (or (= |ULTIMATE.start_node_create_#res#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} is VALID [2022-02-20 23:58:09,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {12643#(and (or (= |ULTIMATE.start_node_create_#res#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1)) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0))} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {12644#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (or (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4) |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1)))} is VALID [2022-02-20 23:58:09,512 INFO L290 TraceCheckUtils]: 26: Hoare triple {12644#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|) 0) (or (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4) |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) |ULTIMATE.start_dll_insert_~head#1.offset|)) 4)) 1)))} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {12645#(and (= |ULTIMATE.start_dll_insert_#t~mem8#1.offset| 0) (or (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_#t~mem8#1.base|) 4) |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_#t~mem8#1.base|) 4)) 1)))} is VALID [2022-02-20 23:58:09,512 INFO L290 TraceCheckUtils]: 27: Hoare triple {12645#(and (= |ULTIMATE.start_dll_insert_#t~mem8#1.offset| 0) (or (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_#t~mem8#1.base|) 4) |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_#t~mem8#1.base|) 4)) 1)))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {12646#(and (= (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4) 4) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4))) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4)) |ULTIMATE.start_dll_insert_~new_node~0#1.base|)))} is VALID [2022-02-20 23:58:09,513 INFO L290 TraceCheckUtils]: 28: Hoare triple {12646#(and (= (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4) 4) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4))) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4)) |ULTIMATE.start_dll_insert_~new_node~0#1.base|)))} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {12646#(and (= (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4) 4) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4))) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4)) |ULTIMATE.start_dll_insert_~new_node~0#1.base|)))} is VALID [2022-02-20 23:58:09,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {12646#(and (= (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4) 4) (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4))) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~last~0#1.base|) (+ |ULTIMATE.start_dll_insert_~last~0#1.offset| 4)) |ULTIMATE.start_dll_insert_~new_node~0#1.base|)))} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {12647#(or (= |ULTIMATE.start_dll_insert_#t~mem9#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_#t~mem9#1.base|) 1))} is VALID [2022-02-20 23:58:09,514 INFO L290 TraceCheckUtils]: 30: Hoare triple {12647#(or (= |ULTIMATE.start_dll_insert_#t~mem9#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_#t~mem9#1.base|) 1))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} is VALID [2022-02-20 23:58:09,514 INFO L290 TraceCheckUtils]: 31: Hoare triple {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} assume !(dll_insert_~index#1 > 0); {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} is VALID [2022-02-20 23:58:09,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} assume dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0; {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} is VALID [2022-02-20 23:58:09,515 INFO L290 TraceCheckUtils]: 33: Hoare triple {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} SUMMARY for call write~$Pointer$(dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, 4 + dll_insert_~snd_to_last~0#1.offset, 4); srcloc: L620 {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} is VALID [2022-02-20 23:58:09,516 INFO L290 TraceCheckUtils]: 34: Hoare triple {12648#(or (= |ULTIMATE.start_dll_insert_~last~0#1.base| |ULTIMATE.start_dll_insert_~new_node~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1))} SUMMARY for call write~$Pointer$(dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~new_node~0#1.base, 8 + dll_insert_~new_node~0#1.offset, 4); srcloc: L620-1 {12649#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:09,516 INFO L290 TraceCheckUtils]: 35: Hoare triple {12649#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} SUMMARY for call write~$Pointer$(dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset, dll_insert_~new_node~0#1.base, 4 + dll_insert_~new_node~0#1.offset, 4); srcloc: L621 {12649#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:09,516 INFO L290 TraceCheckUtils]: 36: Hoare triple {12649#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} assume dll_insert_~last~0#1.base != 0 || dll_insert_~last~0#1.offset != 0; {12649#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} is VALID [2022-02-20 23:58:09,516 INFO L290 TraceCheckUtils]: 37: Hoare triple {12649#(= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1)} assume !(1 == #valid[dll_insert_~last~0#1.base]); {12631#false} is VALID [2022-02-20 23:58:09,517 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:09,517 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:58:09,517 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1853369825] [2022-02-20 23:58:09,517 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1853369825] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:58:09,517 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [909653475] [2022-02-20 23:58:09,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:58:09,517 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:58:09,517 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:58:09,518 INFO L229 MonitoredProcess]: Starting monitored process 11 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:58:09,519 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 23:58:09,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:09,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 396 conjuncts, 71 conjunts are in the unsatisfiable core [2022-02-20 23:58:09,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:58:09,702 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:58:09,746 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:09,893 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:58:09,894 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:58:09,991 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2022-02-20 23:58:10,065 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,067 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 22 [2022-02-20 23:58:10,142 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 23:58:10,143 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 35 [2022-02-20 23:58:10,391 INFO L356 Elim1Store]: treesize reduction 72, result has 37.4 percent of original size [2022-02-20 23:58:10,391 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 34 treesize of output 57 [2022-02-20 23:58:10,499 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,505 INFO L356 Elim1Store]: treesize reduction 23, result has 17.9 percent of original size [2022-02-20 23:58:10,505 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 65 treesize of output 55 [2022-02-20 23:58:10,519 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,520 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 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:58:10,549 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,555 INFO L356 Elim1Store]: treesize reduction 23, result has 17.9 percent of original size [2022-02-20 23:58:10,556 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 65 treesize of output 55 [2022-02-20 23:58:10,572 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,574 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 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:58:10,671 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,672 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 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:58:10,724 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:58:10,731 INFO L356 Elim1Store]: treesize reduction 23, result has 17.9 percent of original size [2022-02-20 23:58:10,731 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 65 treesize of output 55 [2022-02-20 23:58:10,850 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-02-20 23:58:11,085 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:58:11,086 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 50 treesize of output 21 [2022-02-20 23:58:11,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {12630#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); {12630#true} is VALID [2022-02-20 23:58:11,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {12630#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret14#1.base, main_#t~ret14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1.base, main_#t~mem16#1.offset, main_#t~mem17#1, main_#t~post18#1, main_~temp~2#1.base, main_~temp~2#1.offset, main_#t~mem19#1, main_#t~mem20#1.base, main_#t~mem20#1.offset, main_#t~post21#1, main_#t~mem22#1.base, main_#t~mem22#1.offset, main_#t~mem23#1, main_#t~post24#1, main_~temp~3#1.base, main_~temp~3#1.offset, main_#t~mem25#1.base, main_#t~mem25#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_~mid_index~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_create } true;dll_create_#in~len#1, dll_create_#in~data#1 := main_~len~0#1, main_~data~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset, dll_create_#t~post5#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~data#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~data#1 := dll_create_#in~data#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {12656#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {12656#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,424 INFO L290 TraceCheckUtils]: 3: Hoare triple {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {12660#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {12679#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {12679#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset := #Ultimate.allocOnHeap(12);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset;havoc dll_create_#t~malloc4#1.base, dll_create_#t~malloc4#1.offset; {12683#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {12683#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {12683#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {12683#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4); srcloc: L589-1 {12683#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,429 INFO L290 TraceCheckUtils]: 12: Hoare triple {12683#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~head~0#1.base, dll_create_~head~0#1.offset, dll_create_~new_head~0#1.base, 4 + dll_create_~new_head~0#1.offset, 4); srcloc: L592 {12693#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,432 INFO L290 TraceCheckUtils]: 13: Hoare triple {12693#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); srcloc: L593 {12693#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {12693#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0; {12693#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {12693#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0))} SUMMARY for call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 8 + dll_create_~head~0#1.offset, 4); srcloc: L596 {12703#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) 1))} is VALID [2022-02-20 23:58:11,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {12703#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) 1))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post5#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post5#1 - 1;havoc dll_create_#t~post5#1; {12707#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {12707#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {12707#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {12707#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4)) 1) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {12714#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_#res#1.base|) 1) (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4)) 1))} is VALID [2022-02-20 23:58:11,438 INFO L290 TraceCheckUtils]: 19: Hoare triple {12714#(and (< |#StackHeapBarrier| |ULTIMATE.start_main_~#s~0#1.base|) (= (select |#valid| |ULTIMATE.start_dll_create_#res#1.base|) 1) (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= |ULTIMATE.start_main_~#s~0#1.offset| 0) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4)) 1))} main_#t~ret14#1.base, main_#t~ret14#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;call write~init~$Pointer$(main_#t~ret14#1.base, main_#t~ret14#1.offset, main_~#s~0#1.base, main_~#s~0#1.offset, 4);havoc main_#t~ret14#1.base, main_#t~ret14#1.offset;main_~uneq~0#1 := 5;main_~mid_index~0#1 := (if main_~len~0#1 < 0 && 0 != main_~len~0#1 % 2 then 1 + main_~len~0#1 / 2 else main_~len~0#1 / 2);assume { :begin_inline_dll_insert } true;dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset, dll_insert_#in~data#1, dll_insert_#in~index#1 := main_~#s~0#1.base, main_~#s~0#1.offset, main_~uneq~0#1, main_~mid_index~0#1;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset, dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset, dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset, dll_insert_#t~post10#1, dll_insert_#t~mem11#1.base, dll_insert_#t~mem11#1.offset, dll_insert_#t~mem12#1.base, dll_insert_#t~mem12#1.offset, dll_insert_#t~mem13#1.base, dll_insert_#t~mem13#1.offset, dll_insert_~head#1.base, dll_insert_~head#1.offset, dll_insert_~data#1, dll_insert_~index#1, dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset;dll_insert_~head#1.base, dll_insert_~head#1.offset := dll_insert_#in~head#1.base, dll_insert_#in~head#1.offset;dll_insert_~data#1 := dll_insert_#in~data#1;dll_insert_~index#1 := dll_insert_#in~index#1;assume { :begin_inline_node_create } true;node_create_#in~data#1 := dll_insert_~data#1;havoc node_create_#res#1.base, node_create_#res#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset, node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset;node_create_~data#1 := node_create_#in~data#1;call node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(12);node_create_~temp~0#1.base, node_create_~temp~0#1.offset := node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset;havoc node_create_#t~malloc3#1.base, node_create_#t~malloc3#1.offset; {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,439 INFO L290 TraceCheckUtils]: 20: Hoare triple {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} assume !(0 == node_create_~temp~0#1.base && 0 == node_create_~temp~0#1.offset); {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,440 INFO L290 TraceCheckUtils]: 21: Hoare triple {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 4 + node_create_~temp~0#1.offset, 4); srcloc: L577-1 {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,442 INFO L290 TraceCheckUtils]: 22: Hoare triple {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} SUMMARY for call write~$Pointer$(0, 0, node_create_~temp~0#1.base, 8 + node_create_~temp~0#1.offset, 4); srcloc: L580 {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {12718#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (not (= |ULTIMATE.start_node_create_~temp~0#1.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_node_create_~temp~0#1.base|)) (< (+ |ULTIMATE.start_node_create_~temp~0#1.base| 1) |ULTIMATE.start_dll_insert_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} SUMMARY for call write~int(node_create_~data#1, node_create_~temp~0#1.base, node_create_~temp~0#1.offset, 4); srcloc: L581 {12731#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,444 INFO L290 TraceCheckUtils]: 24: Hoare triple {12731#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} node_create_#res#1.base, node_create_#res#1.offset := node_create_~temp~0#1.base, node_create_~temp~0#1.offset; {12731#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,444 INFO L290 TraceCheckUtils]: 25: Hoare triple {12731#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset := node_create_#res#1.base, node_create_#res#1.offset;assume { :end_inline_node_create } true;dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset := dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;havoc dll_insert_#t~ret7#1.base, dll_insert_#t~ret7#1.offset;dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := 0, 0; {12731#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} is VALID [2022-02-20 23:58:11,446 INFO L290 TraceCheckUtils]: 26: Hoare triple {12731#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~head#1.offset| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_insert_~head#1.base|) 0) 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))} SUMMARY for call dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset := read~$Pointer$(dll_insert_~head#1.base, dll_insert_~head#1.offset, 4); srcloc: L613 {12741#(and (exists ((|ULTIMATE.start_dll_insert_~head#1.base| Int)) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_dll_insert_#t~mem8#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))) (= |ULTIMATE.start_dll_insert_#t~mem8#1.offset| 0))} is VALID [2022-02-20 23:58:11,447 INFO L290 TraceCheckUtils]: 27: Hoare triple {12741#(and (exists ((|ULTIMATE.start_dll_insert_~head#1.base| Int)) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) |ULTIMATE.start_dll_insert_#t~mem8#1.base|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))) (= |ULTIMATE.start_dll_insert_#t~mem8#1.offset| 0))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset;havoc dll_insert_#t~mem8#1.base, dll_insert_#t~mem8#1.offset; {12745#(and (exists ((|ULTIMATE.start_dll_insert_~head#1.base| Int)) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))) (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,448 INFO L290 TraceCheckUtils]: 28: Hoare triple {12745#(and (exists ((|ULTIMATE.start_dll_insert_~head#1.base| Int)) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))) (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0))} assume !!(dll_insert_~index#1 > 0);dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset := dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset; {12745#(and (exists ((|ULTIMATE.start_dll_insert_~head#1.base| Int)) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))) (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0))} is VALID [2022-02-20 23:58:11,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {12745#(and (exists ((|ULTIMATE.start_dll_insert_~head#1.base| Int)) (and (= (select |#valid| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4)) 1) (= |ULTIMATE.start_dll_insert_~last~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 1) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_insert_~head#1.base|) 0)) 4))))) (= |ULTIMATE.start_dll_insert_~last~0#1.offset| 0))} SUMMARY for call dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset := read~$Pointer$(dll_insert_~last~0#1.base, 4 + dll_insert_~last~0#1.offset, 4); srcloc: L616 {12752#(and (= (select |#valid| |ULTIMATE.start_dll_insert_#t~mem9#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (not (= |ULTIMATE.start_dll_insert_#t~mem9#1.base| v_arrayElimIndex_5)) (= (select |#valid| v_arrayElimIndex_5) 1))))} is VALID [2022-02-20 23:58:11,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {12752#(and (= (select |#valid| |ULTIMATE.start_dll_insert_#t~mem9#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (not (= |ULTIMATE.start_dll_insert_#t~mem9#1.base| v_arrayElimIndex_5)) (= (select |#valid| v_arrayElimIndex_5) 1))))} dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset := dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;havoc dll_insert_#t~mem9#1.base, dll_insert_#t~mem9#1.offset;dll_insert_#t~post10#1 := dll_insert_~index#1;dll_insert_~index#1 := dll_insert_#t~post10#1 - 1;havoc dll_insert_#t~post10#1; {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} assume !(dll_insert_~index#1 > 0); {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,451 INFO L290 TraceCheckUtils]: 32: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} assume dll_insert_~snd_to_last~0#1.base != 0 || dll_insert_~snd_to_last~0#1.offset != 0; {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,452 INFO L290 TraceCheckUtils]: 33: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} SUMMARY for call write~$Pointer$(dll_insert_~new_node~0#1.base, dll_insert_~new_node~0#1.offset, dll_insert_~snd_to_last~0#1.base, 4 + dll_insert_~snd_to_last~0#1.offset, 4); srcloc: L620 {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,453 INFO L290 TraceCheckUtils]: 34: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} SUMMARY for call write~$Pointer$(dll_insert_~snd_to_last~0#1.base, dll_insert_~snd_to_last~0#1.offset, dll_insert_~new_node~0#1.base, 8 + dll_insert_~new_node~0#1.offset, 4); srcloc: L620-1 {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,454 INFO L290 TraceCheckUtils]: 35: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} SUMMARY for call write~$Pointer$(dll_insert_~last~0#1.base, dll_insert_~last~0#1.offset, dll_insert_~new_node~0#1.base, 4 + dll_insert_~new_node~0#1.offset, 4); srcloc: L621 {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,455 INFO L290 TraceCheckUtils]: 36: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} assume dll_insert_~last~0#1.base != 0 || dll_insert_~last~0#1.offset != 0; {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} is VALID [2022-02-20 23:58:11,455 INFO L290 TraceCheckUtils]: 37: Hoare triple {12756#(and (= (select |#valid| |ULTIMATE.start_dll_insert_~last~0#1.base|) 1) (exists ((v_arrayElimIndex_5 Int)) (and (= (select |#valid| v_arrayElimIndex_5) 1) (not (= |ULTIMATE.start_dll_insert_~last~0#1.base| v_arrayElimIndex_5)))))} assume !(1 == #valid[dll_insert_~last~0#1.base]); {12631#false} is VALID [2022-02-20 23:58:11,456 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:58:11,456 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:58:11,607 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1703 (Array Int Int)) (v_ArrVal_1702 (Array Int Int))) (= (select |c_#valid| (select (let ((.cse0 (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_node_create_~temp~0#1.base| v_ArrVal_1702))) (select .cse0 (select (select .cse0 |c_ULTIMATE.start_dll_insert_~head#1.base|) |c_ULTIMATE.start_dll_insert_~head#1.offset|))) (+ (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_node_create_~temp~0#1.base| v_ArrVal_1703) |c_ULTIMATE.start_dll_insert_~head#1.base|) |c_ULTIMATE.start_dll_insert_~head#1.offset|) 4))) 1)) is different from false [2022-02-20 23:58:11,726 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 72 treesize of output 64 [2022-02-20 23:58:11,744 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 30 treesize of output 28 [2022-02-20 23:58:19,926 INFO L356 Elim1Store]: treesize reduction 27, result has 43.8 percent of original size [2022-02-20 23:58:19,927 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 156 treesize of output 101 [2022-02-20 23:58:20,272 INFO L356 Elim1Store]: treesize reduction 282, result has 44.3 percent of original size [2022-02-20 23:58:20,273 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 9 select indices, 9 select index equivalence classes, 0 disjoint index pairs (out of 36 index pairs), introduced 10 new quantified variables, introduced 36 case distinctions, treesize of input 978 treesize of output 1073 [2022-02-20 23:58:20,349 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:58:20,350 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 1073 treesize of output 1029 [2022-02-20 23:58:20,427 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:58:20,428 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 1029 treesize of output 1013