./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/list-simple/dll2n_update_all.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/list-simple/dll2n_update_all.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash c46cc56772f2c3f0b073640343b328fb3b128ed13803ffe5a04f6290fe624494 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:55:18,975 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:55:18,977 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:55:18,995 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:55:18,996 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:55:18,997 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:55:18,998 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:55:18,999 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:55:19,000 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:55:19,001 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:55:19,001 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:55:19,002 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:55:19,002 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:55:19,003 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:55:19,004 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:55:19,004 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:55:19,005 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:55:19,006 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:55:19,007 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:55:19,008 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:55:19,009 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:55:19,010 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:55:19,010 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:55:19,011 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:55:19,013 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:55:19,013 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:55:19,013 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:55:19,014 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:55:19,014 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:55:19,015 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:55:19,015 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:55:19,015 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:55:19,016 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:55:19,017 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:55:19,017 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:55:19,017 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:55:19,018 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:55:19,018 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:55:19,018 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:55:19,019 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:55:19,020 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:55:19,021 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 16:55:19,035 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:55:19,035 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:55:19,035 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:55:19,036 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:55:19,036 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:55:19,036 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:55:19,037 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:55:19,037 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:55:19,037 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:55:19,037 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:55:19,037 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:55:19,037 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:55:19,038 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:55:19,038 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:55:19,038 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:55:19,038 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:55:19,038 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:55:19,038 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:55:19,039 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:55:19,039 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:55:19,039 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:55:19,039 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:55:19,039 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:55:19,039 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:55:19,039 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:55:19,040 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:55:19,040 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:55:19,040 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:55:19,040 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:55:19,040 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:55:19,040 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:55:19,041 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:55:19,041 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:55:19,041 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> c46cc56772f2c3f0b073640343b328fb3b128ed13803ffe5a04f6290fe624494 [2022-02-20 16:55:19,184 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:55:19,198 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:55:19,200 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:55:19,200 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:55:19,201 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:55:19,202 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-simple/dll2n_update_all.i [2022-02-20 16:55:19,267 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/42b9b210c/e8780a7895b942fbb8b52e92e73318ec/FLAG740dc8b74 [2022-02-20 16:55:19,627 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:55:19,627 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-simple/dll2n_update_all.i [2022-02-20 16:55:19,641 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/42b9b210c/e8780a7895b942fbb8b52e92e73318ec/FLAG740dc8b74 [2022-02-20 16:55:20,005 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/42b9b210c/e8780a7895b942fbb8b52e92e73318ec [2022-02-20 16:55:20,008 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:55:20,009 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:55:20,011 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:55:20,011 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:55:20,016 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:55:20,017 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,019 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@8501f08 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20, skipping insertion in model container [2022-02-20 16:55:20,019 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,024 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:55:20,044 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:55:20,296 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_update_all.i[24455,24468] [2022-02-20 16:55:20,300 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:55:20,305 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:55:20,357 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_update_all.i[24455,24468] [2022-02-20 16:55:20,362 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:55:20,386 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:55:20,387 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20 WrapperNode [2022-02-20 16:55:20,387 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:55:20,388 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:55:20,388 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:55:20,388 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:55:20,393 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,417 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,441 INFO L137 Inliner]: procedures = 126, calls = 27, calls flagged for inlining = 6, calls inlined = 6, statements flattened = 111 [2022-02-20 16:55:20,445 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:55:20,445 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:55:20,445 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:55:20,446 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:55:20,451 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,451 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,455 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,456 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,461 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,463 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,464 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,466 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:55:20,466 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:55:20,466 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:55:20,466 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:55:20,467 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (1/1) ... [2022-02-20 16:55:20,484 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:55:20,494 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:20,516 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 16:55:20,551 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 16:55:20,562 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2022-02-20 16:55:20,562 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2022-02-20 16:55:20,562 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:55:20,562 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:55:20,562 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:55:20,563 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:55:20,563 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:55:20,563 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:55:20,563 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:55:20,563 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:55:20,563 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:55:20,564 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:55:20,630 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:55:20,640 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:55:20,685 INFO L766 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2022-02-20 16:55:20,886 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:55:20,891 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:55:20,891 INFO L299 CfgBuilder]: Removed 6 assume(true) statements. [2022-02-20 16:55:20,892 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:55:20 BoogieIcfgContainer [2022-02-20 16:55:20,901 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:55:20,902 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:55:20,902 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:55:20,904 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:55:20,905 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:55:20" (1/3) ... [2022-02-20 16:55:20,905 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49bcbe2e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:55:20, skipping insertion in model container [2022-02-20 16:55:20,905 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:55:20" (2/3) ... [2022-02-20 16:55:20,906 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49bcbe2e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:55:20, skipping insertion in model container [2022-02-20 16:55:20,906 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:55:20" (3/3) ... [2022-02-20 16:55:20,907 INFO L111 eAbstractionObserver]: Analyzing ICFG dll2n_update_all.i [2022-02-20 16:55:20,910 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:55:20,914 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:55:20,959 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:55:20,975 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 16:55:20,975 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:55:20,988 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 30 states have internal predecessors, (45), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:55:20,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 16:55:20,991 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:20,992 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:20,992 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:20,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:20,998 INFO L85 PathProgramCache]: Analyzing trace with hash -465735870, now seen corresponding path program 1 times [2022-02-20 16:55:21,005 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:21,006 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [618294653] [2022-02-20 16:55:21,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:21,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:21,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:21,167 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {35#true} is VALID [2022-02-20 16:55:21,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {35#true} is VALID [2022-02-20 16:55:21,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume !true; {36#false} is VALID [2022-02-20 16:55:21,168 INFO L290 TraceCheckUtils]: 3: Hoare triple {36#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {36#false} is VALID [2022-02-20 16:55:21,168 INFO L290 TraceCheckUtils]: 4: Hoare triple {36#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {36#false} is VALID [2022-02-20 16:55:21,169 INFO L290 TraceCheckUtils]: 5: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-02-20 16:55:21,169 INFO L290 TraceCheckUtils]: 6: Hoare triple {36#false} main_~i~0#1 := 0; {36#false} is VALID [2022-02-20 16:55:21,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {36#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {36#false} is VALID [2022-02-20 16:55:21,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {36#false} assume !(dll_get_data_at_~index#1 > 0); {36#false} is VALID [2022-02-20 16:55:21,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {36#false} is VALID [2022-02-20 16:55:21,170 INFO L290 TraceCheckUtils]: 10: Hoare triple {36#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {36#false} is VALID [2022-02-20 16:55:21,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {36#false} is VALID [2022-02-20 16:55:21,171 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-02-20 16:55:21,172 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 16:55:21,172 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:21,173 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [618294653] [2022-02-20 16:55:21,173 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [618294653] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:21,174 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:21,174 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:55:21,175 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1045754483] [2022-02-20 16:55:21,176 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:21,180 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 13 [2022-02-20 16:55:21,180 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:21,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:21,198 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:55:21,198 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:21,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:55:21,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:55:21,216 INFO L87 Difference]: Start difference. First operand has 32 states, 29 states have (on average 1.5517241379310345) internal successors, (45), 30 states have internal predecessors, (45), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,268 INFO L93 Difference]: Finished difference Result 54 states and 78 transitions. [2022-02-20 16:55:21,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:55:21,269 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 13 [2022-02-20 16:55:21,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:21,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2022-02-20 16:55:21,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 78 transitions. [2022-02-20 16:55:21,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 78 transitions. [2022-02-20 16:55:21,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:21,370 INFO L225 Difference]: With dead ends: 54 [2022-02-20 16:55:21,370 INFO L226 Difference]: Without dead ends: 23 [2022-02-20 16:55:21,373 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:55:21,376 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:21,377 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:21,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2022-02-20 16:55:21,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2022-02-20 16:55:21,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:21,399 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand has 23 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 22 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 16:55:21,400 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand has 23 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 22 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 16:55:21,400 INFO L87 Difference]: Start difference. First operand 23 states. Second operand has 23 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 22 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 16:55:21,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,403 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2022-02-20 16:55:21,403 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:55:21,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:21,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:21,404 INFO L74 IsIncluded]: Start isIncluded. First operand has 23 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 22 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) Second operand 23 states. [2022-02-20 16:55:21,406 INFO L87 Difference]: Start difference. First operand has 23 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 22 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) Second operand 23 states. [2022-02-20 16:55:21,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,408 INFO L93 Difference]: Finished difference Result 23 states and 28 transitions. [2022-02-20 16:55:21,408 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:55:21,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:21,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:21,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:21,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:21,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 22 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 16:55:21,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 28 transitions. [2022-02-20 16:55:21,411 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 28 transitions. Word has length 13 [2022-02-20 16:55:21,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:21,412 INFO L470 AbstractCegarLoop]: Abstraction has 23 states and 28 transitions. [2022-02-20 16:55:21,414 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.5) internal successors, (13), 2 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,414 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 28 transitions. [2022-02-20 16:55:21,415 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 16:55:21,415 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:21,415 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:21,416 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:55:21,416 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:21,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:21,418 INFO L85 PathProgramCache]: Analyzing trace with hash 1372290212, now seen corresponding path program 1 times [2022-02-20 16:55:21,422 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:21,422 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1897524073] [2022-02-20 16:55:21,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:21,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:21,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:21,488 INFO L290 TraceCheckUtils]: 0: Hoare triple {192#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {192#true} is VALID [2022-02-20 16:55:21,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {192#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {194#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:21,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {194#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !(dll_create_~len#1 > 0); {193#false} is VALID [2022-02-20 16:55:21,490 INFO L290 TraceCheckUtils]: 3: Hoare triple {193#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {193#false} is VALID [2022-02-20 16:55:21,490 INFO L290 TraceCheckUtils]: 4: Hoare triple {193#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {193#false} is VALID [2022-02-20 16:55:21,490 INFO L290 TraceCheckUtils]: 5: Hoare triple {193#false} assume !(main_~i~0#1 < main_~len~0#1); {193#false} is VALID [2022-02-20 16:55:21,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {193#false} main_~i~0#1 := 0; {193#false} is VALID [2022-02-20 16:55:21,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {193#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {193#false} is VALID [2022-02-20 16:55:21,491 INFO L290 TraceCheckUtils]: 8: Hoare triple {193#false} assume !(dll_get_data_at_~index#1 > 0); {193#false} is VALID [2022-02-20 16:55:21,491 INFO L290 TraceCheckUtils]: 9: Hoare triple {193#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {193#false} is VALID [2022-02-20 16:55:21,492 INFO L290 TraceCheckUtils]: 10: Hoare triple {193#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {193#false} is VALID [2022-02-20 16:55:21,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {193#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {193#false} is VALID [2022-02-20 16:55:21,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {193#false} assume !false; {193#false} is VALID [2022-02-20 16:55:21,492 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 16:55:21,493 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:21,493 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1897524073] [2022-02-20 16:55:21,493 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1897524073] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:21,493 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:21,493 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:55:21,494 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1534154857] [2022-02-20 16:55:21,494 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:21,495 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 13 [2022-02-20 16:55:21,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:21,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,506 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:21,507 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:55:21,507 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:21,508 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:55:21,508 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:55:21,509 INFO L87 Difference]: Start difference. First operand 23 states and 28 transitions. Second operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,550 INFO L93 Difference]: Finished difference Result 44 states and 54 transitions. [2022-02-20 16:55:21,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:55:21,551 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 13 [2022-02-20 16:55:21,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:21,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2022-02-20 16:55:21,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2022-02-20 16:55:21,554 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2022-02-20 16:55:21,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:21,599 INFO L225 Difference]: With dead ends: 44 [2022-02-20 16:55:21,599 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 16:55:21,602 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 16:55:21,604 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 5 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 50 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 16:55:21,604 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 50 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:21,606 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 16:55:21,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 24. [2022-02-20 16:55:21,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:21,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 24 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 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 16:55:21,612 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 24 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 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 16:55:21,612 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 24 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 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 16:55:21,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,614 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-02-20 16:55:21,614 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-02-20 16:55:21,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:21,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:21,615 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 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) Second operand 28 states. [2022-02-20 16:55:21,615 INFO L87 Difference]: Start difference. First operand has 24 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 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) Second operand 28 states. [2022-02-20 16:55:21,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,618 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-02-20 16:55:21,618 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-02-20 16:55:21,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:21,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:21,618 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:21,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:21,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 23 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 16:55:21,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 29 transitions. [2022-02-20 16:55:21,623 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 29 transitions. Word has length 13 [2022-02-20 16:55:21,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:21,623 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 29 transitions. [2022-02-20 16:55:21,624 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.333333333333333) internal successors, (13), 3 states have internal predecessors, (13), 0 states have call successors, (0), 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 16:55:21,624 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 29 transitions. [2022-02-20 16:55:21,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 16:55:21,624 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:21,624 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:21,625 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:55:21,625 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:21,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:21,625 INFO L85 PathProgramCache]: Analyzing trace with hash 2143586260, now seen corresponding path program 1 times [2022-02-20 16:55:21,625 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:21,626 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [921433867] [2022-02-20 16:55:21,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:21,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:21,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:21,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {346#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {346#true} is VALID [2022-02-20 16:55:21,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {346#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {348#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:21,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {348#(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; {348#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:21,714 INFO L290 TraceCheckUtils]: 3: Hoare triple {348#(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); {348#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:21,715 INFO L290 TraceCheckUtils]: 4: Hoare triple {348#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {348#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:21,716 INFO L290 TraceCheckUtils]: 5: Hoare triple {348#(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;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); {347#false} is VALID [2022-02-20 16:55:21,716 INFO L290 TraceCheckUtils]: 6: Hoare triple {347#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; {347#false} is VALID [2022-02-20 16:55:21,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {347#false} assume !(dll_create_~len#1 > 0); {347#false} is VALID [2022-02-20 16:55:21,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {347#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {347#false} is VALID [2022-02-20 16:55:21,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {347#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {347#false} is VALID [2022-02-20 16:55:21,717 INFO L290 TraceCheckUtils]: 10: Hoare triple {347#false} assume !(main_~i~0#1 < main_~len~0#1); {347#false} is VALID [2022-02-20 16:55:21,717 INFO L290 TraceCheckUtils]: 11: Hoare triple {347#false} main_~i~0#1 := 0; {347#false} is VALID [2022-02-20 16:55:21,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {347#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {347#false} is VALID [2022-02-20 16:55:21,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {347#false} assume !(dll_get_data_at_~index#1 > 0); {347#false} is VALID [2022-02-20 16:55:21,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {347#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {347#false} is VALID [2022-02-20 16:55:21,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {347#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {347#false} is VALID [2022-02-20 16:55:21,718 INFO L290 TraceCheckUtils]: 16: Hoare triple {347#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {347#false} is VALID [2022-02-20 16:55:21,718 INFO L290 TraceCheckUtils]: 17: Hoare triple {347#false} assume !false; {347#false} is VALID [2022-02-20 16:55:21,718 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:55:21,719 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:21,719 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [921433867] [2022-02-20 16:55:21,719 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [921433867] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:21,719 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:21,720 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:55:21,720 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [674575227] [2022-02-20 16:55:21,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:21,720 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 18 [2022-02-20 16:55:21,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:21,723 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 16:55:21,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:21,737 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:55:21,738 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:21,738 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:55:21,738 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:55:21,738 INFO L87 Difference]: Start difference. First operand 24 states and 29 transitions. Second operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 16:55:21,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,786 INFO L93 Difference]: Finished difference Result 49 states and 60 transitions. [2022-02-20 16:55:21,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:55:21,787 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 18 [2022-02-20 16:55:21,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:21,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 16:55:21,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2022-02-20 16:55:21,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 16:55:21,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2022-02-20 16:55:21,790 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 60 transitions. [2022-02-20 16:55:21,836 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:21,839 INFO L225 Difference]: With dead ends: 49 [2022-02-20 16:55:21,839 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 16:55:21,840 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 16:55:21,845 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 1 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 6 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:21,846 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [1 Valid, 48 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:21,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 16:55:21,851 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-02-20 16:55:21,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:21,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 26 states have internal predecessors, (32), 0 states have call successors, (0), 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 16:55:21,852 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 26 states have internal predecessors, (32), 0 states have call successors, (0), 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 16:55:21,852 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 26 states have internal predecessors, (32), 0 states have call successors, (0), 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 16:55:21,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,855 INFO L93 Difference]: Finished difference Result 28 states and 33 transitions. [2022-02-20 16:55:21,855 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2022-02-20 16:55:21,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:21,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:21,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 26 states have internal predecessors, (32), 0 states have call successors, (0), 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 28 states. [2022-02-20 16:55:21,856 INFO L87 Difference]: Start difference. First operand has 27 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 26 states have internal predecessors, (32), 0 states have call successors, (0), 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 28 states. [2022-02-20 16:55:21,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:21,858 INFO L93 Difference]: Finished difference Result 28 states and 33 transitions. [2022-02-20 16:55:21,858 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 33 transitions. [2022-02-20 16:55:21,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:21,859 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:21,859 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:21,859 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:21,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 26 states have internal predecessors, (32), 0 states have call successors, (0), 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 16:55:21,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 32 transitions. [2022-02-20 16:55:21,860 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 32 transitions. Word has length 18 [2022-02-20 16:55:21,860 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:21,861 INFO L470 AbstractCegarLoop]: Abstraction has 27 states and 32 transitions. [2022-02-20 16:55:21,861 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.0) internal successors, (18), 3 states have internal predecessors, (18), 0 states have call successors, (0), 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 16:55:21,861 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 32 transitions. [2022-02-20 16:55:21,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 16:55:21,861 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:21,861 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:21,862 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:55:21,862 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:21,862 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:21,862 INFO L85 PathProgramCache]: Analyzing trace with hash 1556780246, now seen corresponding path program 1 times [2022-02-20 16:55:21,862 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:21,863 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1018498670] [2022-02-20 16:55:21,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:21,863 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:21,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:21,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {509#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {509#true} is VALID [2022-02-20 16:55:21,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {509#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:21,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {511#(= (+ (- 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; {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:21,905 INFO L290 TraceCheckUtils]: 3: Hoare triple {511#(= (+ (- 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); {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:21,905 INFO L290 TraceCheckUtils]: 4: Hoare triple {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:21,906 INFO L290 TraceCheckUtils]: 5: Hoare triple {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {511#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:21,906 INFO L290 TraceCheckUtils]: 6: Hoare triple {511#(= (+ (- 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; {512#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:21,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {512#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {510#false} is VALID [2022-02-20 16:55:21,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {510#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {510#false} is VALID [2022-02-20 16:55:21,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {510#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {510#false} is VALID [2022-02-20 16:55:21,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {510#false} assume !(main_~i~0#1 < main_~len~0#1); {510#false} is VALID [2022-02-20 16:55:21,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {510#false} main_~i~0#1 := 0; {510#false} is VALID [2022-02-20 16:55:21,908 INFO L290 TraceCheckUtils]: 12: Hoare triple {510#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {510#false} is VALID [2022-02-20 16:55:21,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {510#false} assume !(dll_get_data_at_~index#1 > 0); {510#false} is VALID [2022-02-20 16:55:21,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {510#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {510#false} is VALID [2022-02-20 16:55:21,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {510#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {510#false} is VALID [2022-02-20 16:55:21,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {510#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {510#false} is VALID [2022-02-20 16:55:21,909 INFO L290 TraceCheckUtils]: 17: Hoare triple {510#false} assume !false; {510#false} is VALID [2022-02-20 16:55:21,909 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 16:55:21,909 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:21,909 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1018498670] [2022-02-20 16:55:21,909 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1018498670] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:21,909 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1183176220] [2022-02-20 16:55:21,910 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:21,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:21,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:21,911 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 16:55:21,920 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 16:55:21,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:21,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:55:21,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:21,990 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:22,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {509#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {509#true} is VALID [2022-02-20 16:55:22,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {509#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {519#(<= 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; {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,086 INFO L290 TraceCheckUtils]: 3: Hoare triple {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,086 INFO L290 TraceCheckUtils]: 4: Hoare triple {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,086 INFO L290 TraceCheckUtils]: 5: Hoare triple {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,087 INFO L290 TraceCheckUtils]: 6: Hoare triple {519#(<= 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; {512#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,087 INFO L290 TraceCheckUtils]: 7: Hoare triple {512#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {510#false} is VALID [2022-02-20 16:55:22,088 INFO L290 TraceCheckUtils]: 8: Hoare triple {510#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {510#false} is VALID [2022-02-20 16:55:22,088 INFO L290 TraceCheckUtils]: 9: Hoare triple {510#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {510#false} is VALID [2022-02-20 16:55:22,088 INFO L290 TraceCheckUtils]: 10: Hoare triple {510#false} assume !(main_~i~0#1 < main_~len~0#1); {510#false} is VALID [2022-02-20 16:55:22,088 INFO L290 TraceCheckUtils]: 11: Hoare triple {510#false} main_~i~0#1 := 0; {510#false} is VALID [2022-02-20 16:55:22,088 INFO L290 TraceCheckUtils]: 12: Hoare triple {510#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {510#false} is VALID [2022-02-20 16:55:22,089 INFO L290 TraceCheckUtils]: 13: Hoare triple {510#false} assume !(dll_get_data_at_~index#1 > 0); {510#false} is VALID [2022-02-20 16:55:22,089 INFO L290 TraceCheckUtils]: 14: Hoare triple {510#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {510#false} is VALID [2022-02-20 16:55:22,089 INFO L290 TraceCheckUtils]: 15: Hoare triple {510#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {510#false} is VALID [2022-02-20 16:55:22,089 INFO L290 TraceCheckUtils]: 16: Hoare triple {510#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {510#false} is VALID [2022-02-20 16:55:22,089 INFO L290 TraceCheckUtils]: 17: Hoare triple {510#false} assume !false; {510#false} is VALID [2022-02-20 16:55:22,090 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 16:55:22,090 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:22,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {510#false} assume !false; {510#false} is VALID [2022-02-20 16:55:22,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {510#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {510#false} is VALID [2022-02-20 16:55:22,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {510#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {510#false} is VALID [2022-02-20 16:55:22,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {510#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {510#false} is VALID [2022-02-20 16:55:22,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {510#false} assume !(dll_get_data_at_~index#1 > 0); {510#false} is VALID [2022-02-20 16:55:22,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {510#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {510#false} is VALID [2022-02-20 16:55:22,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {510#false} main_~i~0#1 := 0; {510#false} is VALID [2022-02-20 16:55:22,170 INFO L290 TraceCheckUtils]: 10: Hoare triple {510#false} assume !(main_~i~0#1 < main_~len~0#1); {510#false} is VALID [2022-02-20 16:55:22,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {510#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {510#false} is VALID [2022-02-20 16:55:22,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {510#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {510#false} is VALID [2022-02-20 16:55:22,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {512#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {510#false} is VALID [2022-02-20 16:55:22,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {519#(<= 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; {512#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,172 INFO L290 TraceCheckUtils]: 4: Hoare triple {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {519#(<= 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; {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {509#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {519#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:55:22,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {509#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {509#true} is VALID [2022-02-20 16:55:22,174 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 16:55:22,174 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1183176220] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:22,174 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:22,174 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 5 [2022-02-20 16:55:22,175 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1014274041] [2022-02-20 16:55:22,175 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:22,175 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 18 [2022-02-20 16:55:22,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:22,176 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 16:55:22,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:22,192 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:55:22,192 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:22,193 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:55:22,193 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-02-20 16:55:22,193 INFO L87 Difference]: Start difference. First operand 27 states and 32 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 16:55:22,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:22,254 INFO L93 Difference]: Finished difference Result 45 states and 54 transitions. [2022-02-20 16:55:22,254 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:55:22,254 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 18 [2022-02-20 16:55:22,254 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:22,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 16:55:22,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 16:55:22,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 16:55:22,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 16:55:22,257 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 54 transitions. [2022-02-20 16:55:22,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:22,304 INFO L225 Difference]: With dead ends: 45 [2022-02-20 16:55:22,304 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 16:55:22,304 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 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 16:55:22,305 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 9 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 12 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:22,305 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 94 Invalid, 12 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:22,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 16:55:22,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 16:55:22,308 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:22,308 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:22,308 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:22,309 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:22,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:22,309 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2022-02-20 16:55:22,310 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:55:22,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:22,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:22,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 0 states have call successors, (0), 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 29 states. [2022-02-20 16:55:22,310 INFO L87 Difference]: Start difference. First operand has 29 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 0 states have call successors, (0), 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 29 states. [2022-02-20 16:55:22,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:22,311 INFO L93 Difference]: Finished difference Result 29 states and 34 transitions. [2022-02-20 16:55:22,311 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:55:22,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:22,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:22,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:22,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:22,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 28 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:22,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 34 transitions. [2022-02-20 16:55:22,313 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 34 transitions. Word has length 18 [2022-02-20 16:55:22,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:22,313 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 34 transitions. [2022-02-20 16:55:22,313 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 0 states have call successors, (0), 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 16:55:22,313 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 34 transitions. [2022-02-20 16:55:22,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 16:55:22,314 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:22,314 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:22,333 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 16:55:22,530 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:22,531 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:22,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:22,531 INFO L85 PathProgramCache]: Analyzing trace with hash -976830750, now seen corresponding path program 1 times [2022-02-20 16:55:22,531 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:22,531 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1547098177] [2022-02-20 16:55:22,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:22,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:22,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:22,618 INFO L290 TraceCheckUtils]: 0: Hoare triple {777#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {777#true} is VALID [2022-02-20 16:55:22,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {777#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {779#(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 16:55:22,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {779#(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; {779#(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 16:55:22,623 INFO L290 TraceCheckUtils]: 3: Hoare triple {779#(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); {779#(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 16:55:22,624 INFO L290 TraceCheckUtils]: 4: Hoare triple {779#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {779#(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 16:55:22,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {779#(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); {779#(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 16:55:22,625 INFO L290 TraceCheckUtils]: 6: Hoare triple {779#(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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,633 INFO L290 TraceCheckUtils]: 10: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,634 INFO L290 TraceCheckUtils]: 12: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,635 INFO L290 TraceCheckUtils]: 14: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {781#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:22,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} assume !(main_~i~0#1 < main_~len~0#1); {778#false} is VALID [2022-02-20 16:55:22,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {778#false} main_~i~0#1 := 0; {778#false} is VALID [2022-02-20 16:55:22,636 INFO L290 TraceCheckUtils]: 17: Hoare triple {778#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {778#false} is VALID [2022-02-20 16:55:22,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {778#false} assume !(dll_get_data_at_~index#1 > 0); {778#false} is VALID [2022-02-20 16:55:22,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {778#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {778#false} is VALID [2022-02-20 16:55:22,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {778#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {778#false} is VALID [2022-02-20 16:55:22,636 INFO L290 TraceCheckUtils]: 21: Hoare triple {778#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {778#false} is VALID [2022-02-20 16:55:22,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {778#false} assume !false; {778#false} is VALID [2022-02-20 16:55:22,637 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:55:22,637 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:22,637 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1547098177] [2022-02-20 16:55:22,637 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1547098177] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:22,637 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1415122556] [2022-02-20 16:55:22,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:22,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:22,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:22,639 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 16:55:22,640 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 16:55:22,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:22,717 INFO L263 TraceCheckSpWp]: Trace formula consists of 192 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 16:55:22,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:22,727 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:22,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {777#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {777#true} is VALID [2022-02-20 16:55:22,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {777#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,831 INFO L290 TraceCheckUtils]: 3: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,832 INFO L290 TraceCheckUtils]: 4: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,832 INFO L290 TraceCheckUtils]: 5: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,832 INFO L290 TraceCheckUtils]: 6: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {780#(<= 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; {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:22,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {780#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {827#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:22,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {827#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} assume !(main_~i~0#1 < main_~len~0#1); {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {778#false} main_~i~0#1 := 0; {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 17: Hoare triple {778#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {778#false} assume !(dll_get_data_at_~index#1 > 0); {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {778#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {778#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 21: Hoare triple {778#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {778#false} is VALID [2022-02-20 16:55:22,836 INFO L290 TraceCheckUtils]: 22: Hoare triple {778#false} assume !false; {778#false} is VALID [2022-02-20 16:55:22,837 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:22,837 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:55:22,837 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1415122556] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:22,837 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:55:22,837 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 6 [2022-02-20 16:55:22,837 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089479020] [2022-02-20 16:55:22,837 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:22,838 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 23 [2022-02-20 16:55:22,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:22,838 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 16:55:22,850 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:22,851 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:55:22,851 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:22,851 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:55:22,851 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:55:22,852 INFO L87 Difference]: Start difference. First operand 29 states and 34 transitions. Second operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 16:55:22,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:22,912 INFO L93 Difference]: Finished difference Result 51 states and 60 transitions. [2022-02-20 16:55:22,913 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:55:22,913 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 23 [2022-02-20 16:55:22,913 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:22,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 16:55:22,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 16:55:22,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 16:55:22,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 54 transitions. [2022-02-20 16:55:22,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 54 transitions. [2022-02-20 16:55:22,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:22,958 INFO L225 Difference]: With dead ends: 51 [2022-02-20 16:55:22,958 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 16:55:22,959 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:55:22,959 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 30 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 14 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:22,960 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 44 Invalid, 14 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:22,960 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 16:55:22,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 30. [2022-02-20 16:55:22,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:22,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 30 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 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 16:55:22,972 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 30 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 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 16:55:22,973 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 30 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 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 16:55:22,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:22,973 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2022-02-20 16:55:22,974 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2022-02-20 16:55:22,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:22,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:22,974 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 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) Second operand 42 states. [2022-02-20 16:55:22,974 INFO L87 Difference]: Start difference. First operand has 30 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 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) Second operand 42 states. [2022-02-20 16:55:22,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:22,975 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2022-02-20 16:55:22,975 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 49 transitions. [2022-02-20 16:55:22,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:22,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:22,976 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:22,976 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:22,976 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.206896551724138) internal successors, (35), 29 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 16:55:22,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 35 transitions. [2022-02-20 16:55:22,977 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 35 transitions. Word has length 23 [2022-02-20 16:55:22,977 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:22,977 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 35 transitions. [2022-02-20 16:55:22,977 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 4.75) internal successors, (19), 4 states have internal predecessors, (19), 0 states have call successors, (0), 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 16:55:22,977 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 35 transitions. [2022-02-20 16:55:22,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 16:55:22,978 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:22,978 INFO L514 BasicCegarLoop]: trace histogram [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 16:55:22,995 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:23,183 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:23,183 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:23,184 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:23,184 INFO L85 PathProgramCache]: Analyzing trace with hash -209353439, now seen corresponding path program 1 times [2022-02-20 16:55:23,184 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:23,184 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1403259127] [2022-02-20 16:55:23,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:23,187 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:23,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:23,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {1047#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1047#true} is VALID [2022-02-20 16:55:23,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {1047#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1049#(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 16:55:23,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {1049#(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; {1049#(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 16:55:23,341 INFO L290 TraceCheckUtils]: 3: Hoare triple {1049#(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); {1049#(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 16:55:23,341 INFO L290 TraceCheckUtils]: 4: Hoare triple {1049#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1049#(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 16:55:23,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {1049#(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); {1049#(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 16:55:23,342 INFO L290 TraceCheckUtils]: 6: Hoare triple {1049#(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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,343 INFO L290 TraceCheckUtils]: 9: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,344 INFO L290 TraceCheckUtils]: 10: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} assume !(dll_update_at_~index#1 > 0); {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,347 INFO L290 TraceCheckUtils]: 17: Hoare triple {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} assume { :end_inline_dll_update_at } true; {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {1051#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~i~0#1| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1052#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {1052#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~len~0#1|)} assume !(main_~i~0#1 < main_~len~0#1); {1048#false} is VALID [2022-02-20 16:55:23,348 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#false} main_~i~0#1 := 0; {1048#false} is VALID [2022-02-20 16:55:23,348 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1048#false} is VALID [2022-02-20 16:55:23,348 INFO L290 TraceCheckUtils]: 23: Hoare triple {1048#false} assume !(dll_get_data_at_~index#1 > 0); {1048#false} is VALID [2022-02-20 16:55:23,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {1048#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1048#false} is VALID [2022-02-20 16:55:23,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {1048#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1048#false} is VALID [2022-02-20 16:55:23,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {1048#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1048#false} is VALID [2022-02-20 16:55:23,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {1048#false} assume !false; {1048#false} is VALID [2022-02-20 16:55:23,349 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 16:55:23,349 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:23,349 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1403259127] [2022-02-20 16:55:23,349 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1403259127] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:23,350 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1081199005] [2022-02-20 16:55:23,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:23,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:23,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:23,364 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 16:55:23,365 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 16:55:23,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:23,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 227 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 16:55:23,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:23,454 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:23,590 INFO L290 TraceCheckUtils]: 0: Hoare triple {1047#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1047#true} is VALID [2022-02-20 16:55:23,591 INFO L290 TraceCheckUtils]: 1: Hoare triple {1047#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,591 INFO L290 TraceCheckUtils]: 3: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,592 INFO L290 TraceCheckUtils]: 4: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,593 INFO L290 TraceCheckUtils]: 8: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,593 INFO L290 TraceCheckUtils]: 9: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,594 INFO L290 TraceCheckUtils]: 10: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,594 INFO L290 TraceCheckUtils]: 12: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,596 INFO L290 TraceCheckUtils]: 14: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,597 INFO L290 TraceCheckUtils]: 15: Hoare triple {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,597 INFO L290 TraceCheckUtils]: 16: Hoare triple {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} assume !(dll_update_at_~index#1 > 0); {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,597 INFO L290 TraceCheckUtils]: 17: Hoare triple {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,598 INFO L290 TraceCheckUtils]: 18: Hoare triple {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} assume { :end_inline_dll_update_at } true; {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} is VALID [2022-02-20 16:55:23,598 INFO L290 TraceCheckUtils]: 19: Hoare triple {1098#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1114#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:23,599 INFO L290 TraceCheckUtils]: 20: Hoare triple {1114#(and (<= 2 |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !(main_~i~0#1 < main_~len~0#1); {1048#false} is VALID [2022-02-20 16:55:23,599 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#false} main_~i~0#1 := 0; {1048#false} is VALID [2022-02-20 16:55:23,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1048#false} is VALID [2022-02-20 16:55:23,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {1048#false} assume !(dll_get_data_at_~index#1 > 0); {1048#false} is VALID [2022-02-20 16:55:23,600 INFO L290 TraceCheckUtils]: 24: Hoare triple {1048#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1048#false} is VALID [2022-02-20 16:55:23,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {1048#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1048#false} is VALID [2022-02-20 16:55:23,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {1048#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1048#false} is VALID [2022-02-20 16:55:23,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {1048#false} assume !false; {1048#false} is VALID [2022-02-20 16:55:23,600 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:23,600 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:23,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {1048#false} assume !false; {1048#false} is VALID [2022-02-20 16:55:23,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {1048#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1048#false} is VALID [2022-02-20 16:55:23,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {1048#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1048#false} is VALID [2022-02-20 16:55:23,702 INFO L290 TraceCheckUtils]: 24: Hoare triple {1048#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1048#false} is VALID [2022-02-20 16:55:23,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {1048#false} assume !(dll_get_data_at_~index#1 > 0); {1048#false} is VALID [2022-02-20 16:55:23,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {1048#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1048#false} is VALID [2022-02-20 16:55:23,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {1048#false} main_~i~0#1 := 0; {1048#false} is VALID [2022-02-20 16:55:23,706 INFO L290 TraceCheckUtils]: 20: Hoare triple {1052#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~len~0#1|)} assume !(main_~i~0#1 < main_~len~0#1); {1048#false} is VALID [2022-02-20 16:55:23,706 INFO L290 TraceCheckUtils]: 19: Hoare triple {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1052#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} assume { :end_inline_dll_update_at } true; {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,707 INFO L290 TraceCheckUtils]: 16: Hoare triple {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} assume !(dll_update_at_~index#1 > 0); {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,708 INFO L290 TraceCheckUtils]: 15: Hoare triple {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1163#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,709 INFO L290 TraceCheckUtils]: 12: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,709 INFO L290 TraceCheckUtils]: 10: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,711 INFO L290 TraceCheckUtils]: 4: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,711 INFO L290 TraceCheckUtils]: 3: Hoare triple {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {1050#(<= 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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {1047#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1050#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:23,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {1047#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1047#true} is VALID [2022-02-20 16:55:23,713 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:23,713 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1081199005] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:23,713 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:23,713 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 9 [2022-02-20 16:55:23,713 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [415769477] [2022-02-20 16:55:23,713 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:23,714 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 28 [2022-02-20 16:55:23,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:23,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:23,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:23,741 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 16:55:23,741 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:23,741 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 16:55:23,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=44, Unknown=0, NotChecked=0, Total=72 [2022-02-20 16:55:23,742 INFO L87 Difference]: Start difference. First operand 30 states and 35 transitions. Second operand has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:23,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:23,931 INFO L93 Difference]: Finished difference Result 64 states and 75 transitions. [2022-02-20 16:55:23,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:55:23,931 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 28 [2022-02-20 16:55:23,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:23,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:23,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2022-02-20 16:55:23,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:23,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2022-02-20 16:55:23,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 74 transitions. [2022-02-20 16:55:24,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:24,003 INFO L225 Difference]: With dead ends: 64 [2022-02-20 16:55:24,003 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 16:55:24,003 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=35, Invalid=55, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:55:24,003 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 51 mSDsluCounter, 80 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:24,004 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [51 Valid, 101 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:24,004 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 16:55:24,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 35. [2022-02-20 16:55:24,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:24,022 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 35 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 34 states have internal predecessors, (41), 0 states have call successors, (0), 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 16:55:24,022 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 35 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 34 states have internal predecessors, (41), 0 states have call successors, (0), 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 16:55:24,022 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 35 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 34 states have internal predecessors, (41), 0 states have call successors, (0), 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 16:55:24,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:24,024 INFO L93 Difference]: Finished difference Result 55 states and 64 transitions. [2022-02-20 16:55:24,024 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2022-02-20 16:55:24,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:24,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:24,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 34 states have internal predecessors, (41), 0 states have call successors, (0), 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 55 states. [2022-02-20 16:55:24,025 INFO L87 Difference]: Start difference. First operand has 35 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 34 states have internal predecessors, (41), 0 states have call successors, (0), 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 55 states. [2022-02-20 16:55:24,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:24,026 INFO L93 Difference]: Finished difference Result 55 states and 64 transitions. [2022-02-20 16:55:24,026 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 64 transitions. [2022-02-20 16:55:24,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:24,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:24,026 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:24,026 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:24,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 34 states have internal predecessors, (41), 0 states have call successors, (0), 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 16:55:24,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 41 transitions. [2022-02-20 16:55:24,028 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 41 transitions. Word has length 28 [2022-02-20 16:55:24,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:24,028 INFO L470 AbstractCegarLoop]: Abstraction has 35 states and 41 transitions. [2022-02-20 16:55:24,028 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.777777777777778) internal successors, (43), 9 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:24,029 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 41 transitions. [2022-02-20 16:55:24,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-02-20 16:55:24,029 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:24,029 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:24,053 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 16:55:24,247 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:24,247 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:24,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:24,248 INFO L85 PathProgramCache]: Analyzing trace with hash -141308350, now seen corresponding path program 2 times [2022-02-20 16:55:24,248 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:24,248 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [248720354] [2022-02-20 16:55:24,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:24,248 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:24,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:24,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {1470#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1470#true} is VALID [2022-02-20 16:55:24,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1472#(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 16:55:24,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {1472#(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; {1472#(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 16:55:24,339 INFO L290 TraceCheckUtils]: 3: Hoare triple {1472#(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); {1472#(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 16:55:24,339 INFO L290 TraceCheckUtils]: 4: Hoare triple {1472#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1472#(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 16:55:24,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {1472#(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); {1472#(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 16:55:24,340 INFO L290 TraceCheckUtils]: 6: Hoare triple {1472#(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; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,341 INFO L290 TraceCheckUtils]: 7: Hoare triple {1473#(<= 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; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,342 INFO L290 TraceCheckUtils]: 10: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {1473#(<= 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; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_create_~len#1 > 0); {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {1473#(<= 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; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,343 INFO L290 TraceCheckUtils]: 14: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,343 INFO L290 TraceCheckUtils]: 15: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !(dll_update_at_~index#1 > 0); {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume { :end_inline_dll_update_at } true; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,344 INFO L290 TraceCheckUtils]: 19: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {1473#(<= 2 |ULTIMATE.start_main_~len~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1474#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~index#1|))} is VALID [2022-02-20 16:55:24,345 INFO L290 TraceCheckUtils]: 21: Hoare triple {1474#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~index#1|))} assume !(dll_update_at_~index#1 > 0); {1475#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,346 INFO L290 TraceCheckUtils]: 22: Hoare triple {1475#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1475#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,347 INFO L290 TraceCheckUtils]: 23: Hoare triple {1475#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} assume { :end_inline_dll_update_at } true; {1475#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,348 INFO L290 TraceCheckUtils]: 24: Hoare triple {1475#(<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~len~0#1|)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1476#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~len~0#1|)} is VALID [2022-02-20 16:55:24,349 INFO L290 TraceCheckUtils]: 25: Hoare triple {1476#(<= (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~len~0#1|)} assume !(main_~i~0#1 < main_~len~0#1); {1471#false} is VALID [2022-02-20 16:55:24,349 INFO L290 TraceCheckUtils]: 26: Hoare triple {1471#false} main_~i~0#1 := 0; {1471#false} is VALID [2022-02-20 16:55:24,349 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1471#false} is VALID [2022-02-20 16:55:24,350 INFO L290 TraceCheckUtils]: 28: Hoare triple {1471#false} assume !(dll_get_data_at_~index#1 > 0); {1471#false} is VALID [2022-02-20 16:55:24,350 INFO L290 TraceCheckUtils]: 29: Hoare triple {1471#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1471#false} is VALID [2022-02-20 16:55:24,350 INFO L290 TraceCheckUtils]: 30: Hoare triple {1471#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1471#false} is VALID [2022-02-20 16:55:24,350 INFO L290 TraceCheckUtils]: 31: Hoare triple {1471#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1471#false} is VALID [2022-02-20 16:55:24,350 INFO L290 TraceCheckUtils]: 32: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-02-20 16:55:24,350 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-02-20 16:55:24,350 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:24,351 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [248720354] [2022-02-20 16:55:24,351 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [248720354] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:24,351 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1766542864] [2022-02-20 16:55:24,351 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:55:24,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:24,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:24,352 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 16:55:24,384 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 16:55:24,472 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:55:24,472 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:55:24,473 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:55:24,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:24,491 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:24,593 INFO L290 TraceCheckUtils]: 0: Hoare triple {1470#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1470#true} is VALID [2022-02-20 16:55:24,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1470#true} is VALID [2022-02-20 16:55:24,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,593 INFO L290 TraceCheckUtils]: 3: Hoare triple {1470#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1470#true} is VALID [2022-02-20 16:55:24,593 INFO L290 TraceCheckUtils]: 4: Hoare triple {1470#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 6: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {1470#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {1470#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 10: Hoare triple {1470#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 11: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,594 INFO L290 TraceCheckUtils]: 12: Hoare triple {1470#true} assume !(dll_create_~len#1 > 0); {1470#true} is VALID [2022-02-20 16:55:24,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {1470#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1470#true} is VALID [2022-02-20 16:55:24,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {1470#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !(dll_update_at_~index#1 > 0); {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,596 INFO L290 TraceCheckUtils]: 18: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume { :end_inline_dll_update_at } true; {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,597 INFO L290 TraceCheckUtils]: 19: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1538#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,597 INFO L290 TraceCheckUtils]: 20: Hoare triple {1538#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1542#(<= 1 |ULTIMATE.start_dll_update_at_~index#1|)} is VALID [2022-02-20 16:55:24,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {1542#(<= 1 |ULTIMATE.start_dll_update_at_~index#1|)} assume !(dll_update_at_~index#1 > 0); {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 22: Hoare triple {1471#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 23: Hoare triple {1471#false} assume { :end_inline_dll_update_at } true; {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 24: Hoare triple {1471#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 25: Hoare triple {1471#false} assume !(main_~i~0#1 < main_~len~0#1); {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 26: Hoare triple {1471#false} main_~i~0#1 := 0; {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 28: Hoare triple {1471#false} assume !(dll_get_data_at_~index#1 > 0); {1471#false} is VALID [2022-02-20 16:55:24,598 INFO L290 TraceCheckUtils]: 29: Hoare triple {1471#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1471#false} is VALID [2022-02-20 16:55:24,599 INFO L290 TraceCheckUtils]: 30: Hoare triple {1471#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1471#false} is VALID [2022-02-20 16:55:24,599 INFO L290 TraceCheckUtils]: 31: Hoare triple {1471#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1471#false} is VALID [2022-02-20 16:55:24,599 INFO L290 TraceCheckUtils]: 32: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-02-20 16:55:24,599 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:24,599 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:24,692 INFO L290 TraceCheckUtils]: 32: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-02-20 16:55:24,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {1471#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1471#false} is VALID [2022-02-20 16:55:24,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {1471#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1471#false} is VALID [2022-02-20 16:55:24,692 INFO L290 TraceCheckUtils]: 29: Hoare triple {1471#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1471#false} is VALID [2022-02-20 16:55:24,692 INFO L290 TraceCheckUtils]: 28: Hoare triple {1471#false} assume !(dll_get_data_at_~index#1 > 0); {1471#false} is VALID [2022-02-20 16:55:24,693 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1471#false} is VALID [2022-02-20 16:55:24,693 INFO L290 TraceCheckUtils]: 26: Hoare triple {1471#false} main_~i~0#1 := 0; {1471#false} is VALID [2022-02-20 16:55:24,693 INFO L290 TraceCheckUtils]: 25: Hoare triple {1471#false} assume !(main_~i~0#1 < main_~len~0#1); {1471#false} is VALID [2022-02-20 16:55:24,693 INFO L290 TraceCheckUtils]: 24: Hoare triple {1471#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1471#false} is VALID [2022-02-20 16:55:24,693 INFO L290 TraceCheckUtils]: 23: Hoare triple {1471#false} assume { :end_inline_dll_update_at } true; {1471#false} is VALID [2022-02-20 16:55:24,693 INFO L290 TraceCheckUtils]: 22: Hoare triple {1471#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1471#false} is VALID [2022-02-20 16:55:24,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {1542#(<= 1 |ULTIMATE.start_dll_update_at_~index#1|)} assume !(dll_update_at_~index#1 > 0); {1471#false} is VALID [2022-02-20 16:55:24,694 INFO L290 TraceCheckUtils]: 20: Hoare triple {1538#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1542#(<= 1 |ULTIMATE.start_dll_update_at_~index#1|)} is VALID [2022-02-20 16:55:24,695 INFO L290 TraceCheckUtils]: 19: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1538#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,695 INFO L290 TraceCheckUtils]: 18: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume { :end_inline_dll_update_at } true; {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,695 INFO L290 TraceCheckUtils]: 17: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,696 INFO L290 TraceCheckUtils]: 16: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !(dll_update_at_~index#1 > 0); {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {1470#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1522#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:24,696 INFO L290 TraceCheckUtils]: 13: Hoare triple {1470#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 12: Hoare triple {1470#true} assume !(dll_create_~len#1 > 0); {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 10: Hoare triple {1470#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {1470#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {1470#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1470#true} is VALID [2022-02-20 16:55:24,698 INFO L290 TraceCheckUtils]: 4: Hoare triple {1470#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1470#true} is VALID [2022-02-20 16:55:24,698 INFO L290 TraceCheckUtils]: 3: Hoare triple {1470#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1470#true} is VALID [2022-02-20 16:55:24,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#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; {1470#true} is VALID [2022-02-20 16:55:24,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1470#true} is VALID [2022-02-20 16:55:24,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {1470#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1470#true} is VALID [2022-02-20 16:55:24,698 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 6 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:24,698 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1766542864] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:24,698 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:24,699 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 10 [2022-02-20 16:55:24,699 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136013286] [2022-02-20 16:55:24,699 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:24,699 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:24,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:24,700 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:24,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:24,732 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 16:55:24,732 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:24,732 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 16:55:24,732 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:55:24,733 INFO L87 Difference]: Start difference. First operand 35 states and 41 transitions. Second operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:25,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:25,084 INFO L93 Difference]: Finished difference Result 59 states and 70 transitions. [2022-02-20 16:55:25,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 16:55:25,084 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:25,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:25,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:25,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-02-20 16:55:25,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:25,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-02-20 16:55:25,086 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 69 transitions. [2022-02-20 16:55:25,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:25,135 INFO L225 Difference]: With dead ends: 59 [2022-02-20 16:55:25,136 INFO L226 Difference]: Without dead ends: 45 [2022-02-20 16:55:25,136 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 62 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=154, Unknown=0, NotChecked=0, Total=210 [2022-02-20 16:55:25,136 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 94 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 103 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:25,136 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 140 Invalid, 103 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:55:25,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-02-20 16:55:25,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-02-20 16:55:25,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:25,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 35 states have (on average 1.2) internal successors, (42), 35 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 16:55:25,170 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 35 states have (on average 1.2) internal successors, (42), 35 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 16:55:25,171 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 35 states have (on average 1.2) internal successors, (42), 35 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 16:55:25,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:25,172 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2022-02-20 16:55:25,172 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-02-20 16:55:25,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:25,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:25,172 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 35 states have (on average 1.2) internal successors, (42), 35 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) Second operand 45 states. [2022-02-20 16:55:25,172 INFO L87 Difference]: Start difference. First operand has 36 states, 35 states have (on average 1.2) internal successors, (42), 35 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) Second operand 45 states. [2022-02-20 16:55:25,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:25,178 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2022-02-20 16:55:25,178 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-02-20 16:55:25,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:25,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:25,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:25,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:25,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 35 states have (on average 1.2) internal successors, (42), 35 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 16:55:25,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 42 transitions. [2022-02-20 16:55:25,180 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 42 transitions. Word has length 33 [2022-02-20 16:55:25,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:25,180 INFO L470 AbstractCegarLoop]: Abstraction has 36 states and 42 transitions. [2022-02-20 16:55:25,180 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 10 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:25,180 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-02-20 16:55:25,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 16:55:25,181 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:25,181 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:25,202 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 16:55:25,400 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:25,400 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:25,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:25,400 INFO L85 PathProgramCache]: Analyzing trace with hash -1882863022, now seen corresponding path program 1 times [2022-02-20 16:55:25,400 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:25,400 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1638894673] [2022-02-20 16:55:25,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:25,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:25,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:25,836 INFO L290 TraceCheckUtils]: 0: Hoare triple {1908#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1908#true} is VALID [2022-02-20 16:55:25,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {1908#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1908#true} is VALID [2022-02-20 16:55:25,837 INFO L290 TraceCheckUtils]: 2: Hoare triple {1908#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; {1910#(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 16:55:25,838 INFO L290 TraceCheckUtils]: 3: Hoare triple {1910#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (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); {1910#(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 16:55:25,838 INFO L290 TraceCheckUtils]: 4: Hoare triple {1910#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1910#(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 16:55:25,839 INFO L290 TraceCheckUtils]: 5: Hoare triple {1910#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (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); {1910#(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 16:55:25,839 INFO L290 TraceCheckUtils]: 6: Hoare triple {1910#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (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; {1911#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 16:55:25,840 INFO L290 TraceCheckUtils]: 7: Hoare triple {1911#(= (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; {1912#(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|)))} is VALID [2022-02-20 16:55:25,840 INFO L290 TraceCheckUtils]: 8: Hoare triple {1912#(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|)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1912#(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|)))} is VALID [2022-02-20 16:55:25,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {1912#(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|)))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1913#(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|)) (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|)))} is VALID [2022-02-20 16:55:25,842 INFO L290 TraceCheckUtils]: 10: Hoare triple {1913#(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|)) (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|)))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1914#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (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|)))} is VALID [2022-02-20 16:55:25,843 INFO L290 TraceCheckUtils]: 11: Hoare triple {1914#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (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|)))} 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; {1915#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {1915#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {1915#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {1915#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |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; {1916#(and (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} is VALID [2022-02-20 16:55:25,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {1916#(and (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1917#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,845 INFO L290 TraceCheckUtils]: 15: Hoare triple {1917#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1918#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,845 INFO L290 TraceCheckUtils]: 16: Hoare triple {1918#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {1918#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,846 INFO L290 TraceCheckUtils]: 17: Hoare triple {1918#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1919#(and (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,847 INFO L290 TraceCheckUtils]: 18: Hoare triple {1919#(and (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {1919#(and (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:25,847 INFO L290 TraceCheckUtils]: 19: Hoare triple {1919#(and (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)) (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1920#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~s~0#1.offset| 0) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {1920#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~s~0#1.offset| 0) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1921#(and (= |ULTIMATE.start_dll_update_at_~head#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,849 INFO L290 TraceCheckUtils]: 21: Hoare triple {1921#(and (= |ULTIMATE.start_dll_update_at_~head#1.offset| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {1922#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,849 INFO L290 TraceCheckUtils]: 22: Hoare triple {1922#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume !(dll_update_at_~index#1 > 0); {1922#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,850 INFO L290 TraceCheckUtils]: 23: Hoare triple {1922#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,850 INFO L290 TraceCheckUtils]: 24: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume { :end_inline_dll_update_at } true; {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,851 INFO L290 TraceCheckUtils]: 25: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,851 INFO L290 TraceCheckUtils]: 26: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume !(main_~i~0#1 < main_~len~0#1); {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,852 INFO L290 TraceCheckUtils]: 27: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} main_~i~0#1 := 0; {1924#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:25,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {1924#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:25,853 INFO L290 TraceCheckUtils]: 29: Hoare triple {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} assume !(dll_get_data_at_~index#1 > 0); {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:25,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1926#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} is VALID [2022-02-20 16:55:25,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {1926#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1927#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} is VALID [2022-02-20 16:55:25,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {1927#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1909#false} is VALID [2022-02-20 16:55:25,854 INFO L290 TraceCheckUtils]: 33: Hoare triple {1909#false} assume !false; {1909#false} is VALID [2022-02-20 16:55:25,855 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:55:25,855 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:25,855 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1638894673] [2022-02-20 16:55:25,855 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1638894673] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:25,855 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1261318611] [2022-02-20 16:55:25,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:25,855 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:25,855 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:25,864 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 16:55:25,891 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 16:55:25,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:25,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 83 conjunts are in the unsatisfiable core [2022-02-20 16:55:25,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:25,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:26,015 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 16:55:26,093 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:55:26,094 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 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 16:55:26,159 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:26,160 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 19 [2022-02-20 16:55:26,223 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:55:26,223 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 32 treesize of output 33 [2022-02-20 16:55:26,526 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 11 treesize of output 7 [2022-02-20 16:55:26,535 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 29 [2022-02-20 16:55:26,719 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:55:26,720 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 11 [2022-02-20 16:55:26,804 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 14 treesize of output 16 [2022-02-20 16:55:27,015 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 22 treesize of output 10 [2022-02-20 16:55:27,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {1908#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1908#true} is VALID [2022-02-20 16:55:27,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {1908#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1934#(= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:27,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {1934#(= |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; {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:27,079 INFO L290 TraceCheckUtils]: 3: Hoare triple {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 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); {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:27,080 INFO L290 TraceCheckUtils]: 4: Hoare triple {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:27,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:27,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {1938#(and (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 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; {1951#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:27,082 INFO L290 TraceCheckUtils]: 7: Hoare triple {1951#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 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; {1955#(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|)) (= |ULTIMATE.start_main_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)))} is VALID [2022-02-20 16:55:27,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {1955#(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|)) (= |ULTIMATE.start_main_~len~0#1| 2) (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); {1955#(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|)) (= |ULTIMATE.start_main_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)))} is VALID [2022-02-20 16:55:27,083 INFO L290 TraceCheckUtils]: 9: Hoare triple {1955#(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|)) (= |ULTIMATE.start_main_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {1962#(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|)) (= |ULTIMATE.start_main_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} is VALID [2022-02-20 16:55:27,084 INFO L290 TraceCheckUtils]: 10: Hoare triple {1962#(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|)) (= |ULTIMATE.start_main_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {1966#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (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_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} is VALID [2022-02-20 16:55:27,084 INFO L290 TraceCheckUtils]: 11: Hoare triple {1966#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (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_~len~0#1| 2) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 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; {1970#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0))} is VALID [2022-02-20 16:55:27,085 INFO L290 TraceCheckUtils]: 12: Hoare triple {1970#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0))} assume !(dll_create_~len#1 > 0); {1970#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0))} is VALID [2022-02-20 16:55:27,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {1970#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1977#(and (not (= |ULTIMATE.start_dll_create_#res#1.base| 0)) (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} is VALID [2022-02-20 16:55:27,086 INFO L290 TraceCheckUtils]: 14: Hoare triple {1977#(and (not (= |ULTIMATE.start_dll_create_#res#1.base| 0)) (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {1981#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {1981#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {1985#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {1985#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {1985#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,092 INFO L290 TraceCheckUtils]: 17: Hoare triple {1985#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1992#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {1992#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {1992#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,093 INFO L290 TraceCheckUtils]: 19: Hoare triple {1992#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1992#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {1992#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2002#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {2002#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 8) 0) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {2006#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,095 INFO L290 TraceCheckUtils]: 22: Hoare triple {2006#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {2006#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {2006#(and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,097 INFO L290 TraceCheckUtils]: 24: Hoare triple {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(main_~i~0#1 < main_~len~0#1); {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,098 INFO L290 TraceCheckUtils]: 27: Hoare triple {2013#(and (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_~i~0#1 := 0; {2026#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:27,099 INFO L290 TraceCheckUtils]: 28: Hoare triple {2026#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~len~0#1| 2) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {2030#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0) (= 2 (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (not (= |ULTIMATE.start_dll_get_data_at_~head#1.base| 0)))} is VALID [2022-02-20 16:55:27,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {2030#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0) (= 2 (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (not (= |ULTIMATE.start_dll_get_data_at_~head#1.base| 0)))} assume !(dll_get_data_at_~index#1 > 0); {2030#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0) (= 2 (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (not (= |ULTIMATE.start_dll_get_data_at_~head#1.base| 0)))} is VALID [2022-02-20 16:55:27,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {2030#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0) (= 2 (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (not (= |ULTIMATE.start_dll_get_data_at_~head#1.base| 0)))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {2037#(and (= 2 |ULTIMATE.start_dll_get_data_at_#res#1|) (= 2 |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:27,100 INFO L290 TraceCheckUtils]: 31: Hoare triple {2037#(and (= 2 |ULTIMATE.start_dll_get_data_at_#res#1|) (= 2 |ULTIMATE.start_main_~expected~0#1|))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {2041#(and (= 2 |ULTIMATE.start_main_~expected~0#1|) (= 2 |ULTIMATE.start_main_#t~ret15#1|))} is VALID [2022-02-20 16:55:27,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {2041#(and (= 2 |ULTIMATE.start_main_~expected~0#1|) (= 2 |ULTIMATE.start_main_#t~ret15#1|))} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1909#false} is VALID [2022-02-20 16:55:27,101 INFO L290 TraceCheckUtils]: 33: Hoare triple {1909#false} assume !false; {1909#false} is VALID [2022-02-20 16:55:27,101 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:55:27,101 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:27,256 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_448 (Array Int Int))) (<= |c_ULTIMATE.start_main_~len~0#1| (select (select (store |c_#memory_int| |c_ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |c_ULTIMATE.start_main_~s~0#1.base|) |c_ULTIMATE.start_main_~s~0#1.offset|))) (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |c_#memory_int| |c_ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |c_ULTIMATE.start_main_~s~0#1.base|) |c_ULTIMATE.start_main_~s~0#1.offset|) |c_ULTIMATE.start_main_~len~0#1|))) is different from false [2022-02-20 16:55:27,306 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_update_at_~head#1.base|) (+ |c_ULTIMATE.start_dll_update_at_~head#1.offset| 4)) v_ArrVal_448) |c_ULTIMATE.start_main_~s~0#1.base|) |c_ULTIMATE.start_main_~s~0#1.offset|) |c_ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |c_ULTIMATE.start_main_~len~0#1| (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_update_at_~head#1.base|) (+ |c_ULTIMATE.start_dll_update_at_~head#1.offset| 4)) v_ArrVal_448) |c_ULTIMATE.start_main_~s~0#1.base|) |c_ULTIMATE.start_main_~s~0#1.offset|)))) is different from false [2022-02-20 16:55:27,345 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~s~0#1.base|) (+ |c_ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |c_ULTIMATE.start_main_~s~0#1.base|) |c_ULTIMATE.start_main_~s~0#1.offset|) |c_ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |c_ULTIMATE.start_main_~len~0#1| (select (select (store |c_#memory_int| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~s~0#1.base|) (+ |c_ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |c_ULTIMATE.start_main_~s~0#1.base|) |c_ULTIMATE.start_main_~s~0#1.offset|)))) is different from false [2022-02-20 16:55:27,412 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:55:27,412 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 1 case distinctions, treesize of input 32 treesize of output 33 [2022-02-20 16:55:27,426 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:55:27,426 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 58 treesize of output 61 [2022-02-20 16:55:27,430 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 23 treesize of output 21 [2022-02-20 16:55:27,499 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:55:27,499 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 1 case distinctions, treesize of input 32 treesize of output 33 [2022-02-20 16:55:27,512 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 50 [2022-02-20 16:55:27,535 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 23 treesize of output 21 [2022-02-20 16:55:27,857 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_443 (Array Int Int)) (v_ArrVal_446 Int)) (not (= (select (store (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_443) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| v_ArrVal_446) (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|))) is different from false [2022-02-20 16:55:27,894 INFO L356 Elim1Store]: treesize reduction 27, result has 43.8 percent of original size [2022-02-20 16:55:27,894 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 31 treesize of output 37 [2022-02-20 16:55:27,904 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 55 treesize of output 49 [2022-02-20 16:55:27,919 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-02-20 16:55:27,919 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 64 treesize of output 52 [2022-02-20 16:55:27,931 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 26 treesize of output 22 [2022-02-20 16:55:28,052 INFO L290 TraceCheckUtils]: 33: Hoare triple {1909#false} assume !false; {1909#false} is VALID [2022-02-20 16:55:28,053 INFO L290 TraceCheckUtils]: 32: Hoare triple {1927#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {1909#false} is VALID [2022-02-20 16:55:28,053 INFO L290 TraceCheckUtils]: 31: Hoare triple {1926#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {1927#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} is VALID [2022-02-20 16:55:28,054 INFO L290 TraceCheckUtils]: 30: Hoare triple {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {1926#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} is VALID [2022-02-20 16:55:28,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} assume !(dll_get_data_at_~index#1 > 0); {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:28,055 INFO L290 TraceCheckUtils]: 28: Hoare triple {2063#(and (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {1925#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:28,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} main_~i~0#1 := 0; {2063#(and (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)))} is VALID [2022-02-20 16:55:28,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume !(main_~i~0#1 < main_~len~0#1); {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:28,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:28,056 INFO L290 TraceCheckUtils]: 24: Hoare triple {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} assume { :end_inline_dll_update_at } true; {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:28,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {2079#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {1923#(and (<= (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|) (<= |ULTIMATE.start_main_~len~0#1| (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|)))} is VALID [2022-02-20 16:55:28,059 INFO L290 TraceCheckUtils]: 22: Hoare triple {2079#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} assume !(dll_update_at_~index#1 > 0); {2079#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} is VALID [2022-02-20 16:55:28,059 INFO L290 TraceCheckUtils]: 21: Hoare triple {2086#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {2079#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} is VALID [2022-02-20 16:55:28,060 INFO L290 TraceCheckUtils]: 20: Hoare triple {2090#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2086#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} is VALID [2022-02-20 16:55:28,061 INFO L290 TraceCheckUtils]: 19: Hoare triple {2090#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2090#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} is VALID [2022-02-20 16:55:28,061 INFO L290 TraceCheckUtils]: 18: Hoare triple {2090#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} assume { :end_inline_dll_update_at } true; {2090#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} is VALID [2022-02-20 16:55:28,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {2100#(and (<= |ULTIMATE.start_dll_update_at_~data#1| |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (forall ((v_ArrVal_446 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_446)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2090#(and (forall ((v_ArrVal_448 (Array Int Int))) (<= (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|) |ULTIMATE.start_main_~len~0#1|)) (forall ((v_ArrVal_448 (Array Int Int))) (<= |ULTIMATE.start_main_~len~0#1| (select (select (store |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) v_ArrVal_448) |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))))} is VALID [2022-02-20 16:55:28,063 INFO L290 TraceCheckUtils]: 16: Hoare triple {2100#(and (<= |ULTIMATE.start_dll_update_at_~data#1| |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (forall ((v_ArrVal_446 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_446)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))} assume !(dll_update_at_~index#1 > 0); {2100#(and (<= |ULTIMATE.start_dll_update_at_~data#1| |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (forall ((v_ArrVal_446 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_446)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))} is VALID [2022-02-20 16:55:28,063 INFO L290 TraceCheckUtils]: 15: Hoare triple {2107#(and (forall ((v_ArrVal_446 Int)) (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2100#(and (<= |ULTIMATE.start_dll_update_at_~data#1| |ULTIMATE.start_main_~len~0#1|) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (forall ((v_ArrVal_446 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_446)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))} is VALID [2022-02-20 16:55:28,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {2111#(forall ((v_ArrVal_446 Int)) (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_#res#1.offset| 4)) |ULTIMATE.start_dll_create_#res#1.base|)))} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {2107#(and (forall ((v_ArrVal_446 Int)) (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:28,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {2115#(forall ((v_ArrVal_446 Int)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2111#(forall ((v_ArrVal_446 Int)) (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_#res#1.offset| 4)) |ULTIMATE.start_dll_create_#res#1.base|)))} is VALID [2022-02-20 16:55:28,065 INFO L290 TraceCheckUtils]: 12: Hoare triple {2115#(forall ((v_ArrVal_446 Int)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))))} assume !(dll_create_~len#1 > 0); {2115#(forall ((v_ArrVal_446 Int)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:28,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {2122#(forall ((v_ArrVal_446 Int)) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)))))} 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; {2115#(forall ((v_ArrVal_446 Int)) (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:28,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {2126#(forall ((v_ArrVal_443 (Array Int Int)) (v_ArrVal_446 Int)) (not (= (select (store (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_443) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {2122#(forall ((v_ArrVal_446 Int)) (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:28,068 INFO L290 TraceCheckUtils]: 9: Hoare triple {2130#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2126#(forall ((v_ArrVal_443 (Array Int Int)) (v_ArrVal_446 Int)) (not (= (select (store (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_443) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset| v_ArrVal_446) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |ULTIMATE.start_dll_create_~new_head~0#1.base|)))} is VALID [2022-02-20 16:55:28,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {2130#(not (= |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); {2130#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:55:28,068 INFO L290 TraceCheckUtils]: 7: Hoare triple {2137#(or (not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 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; {2130#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:55:28,069 INFO L290 TraceCheckUtils]: 6: Hoare triple {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |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; {2137#(or (not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 0)) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:28,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |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); {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0)))} is VALID [2022-02-20 16:55:28,070 INFO L290 TraceCheckUtils]: 4: Hoare triple {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0)))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0)))} is VALID [2022-02-20 16:55:28,070 INFO L290 TraceCheckUtils]: 3: Hoare triple {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |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); {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0)))} is VALID [2022-02-20 16:55:28,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {1908#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; {2141#(or (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0) (not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0)))} is VALID [2022-02-20 16:55:28,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {1908#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {1908#true} is VALID [2022-02-20 16:55:28,071 INFO L290 TraceCheckUtils]: 0: Hoare triple {1908#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {1908#true} is VALID [2022-02-20 16:55:28,071 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 9 not checked. [2022-02-20 16:55:28,071 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1261318611] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:28,071 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:28,071 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 20, 19] total 51 [2022-02-20 16:55:28,071 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [54765882] [2022-02-20 16:55:28,071 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:28,072 INFO L78 Accepts]: Start accepts. Automaton has has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:28,072 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:28,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:28,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:28,145 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 51 states [2022-02-20 16:55:28,145 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:28,145 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 51 interpolants. [2022-02-20 16:55:28,146 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=178, Invalid=1996, Unknown=4, NotChecked=372, Total=2550 [2022-02-20 16:55:28,146 INFO L87 Difference]: Start difference. First operand 36 states and 42 transitions. Second operand has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:31,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:31,330 INFO L93 Difference]: Finished difference Result 189 states and 227 transitions. [2022-02-20 16:55:31,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2022-02-20 16:55:31,331 INFO L78 Accepts]: Start accepts. Automaton has has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:31,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:31,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:31,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 205 transitions. [2022-02-20 16:55:31,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:31,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 205 transitions. [2022-02-20 16:55:31,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states and 205 transitions. [2022-02-20 16:55:31,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:31,506 INFO L225 Difference]: With dead ends: 189 [2022-02-20 16:55:31,506 INFO L226 Difference]: Without dead ends: 187 [2022-02-20 16:55:31,507 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 36 SyntacticMatches, 5 SemanticMatches, 84 ConstructedPredicates, 4 IntricatePredicates, 0 DeprecatedPredicates, 1937 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=617, Invalid=6037, Unknown=4, NotChecked=652, Total=7310 [2022-02-20 16:55:31,508 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 381 mSDsluCounter, 578 mSDsCounter, 0 mSdLazyCounter, 665 mSolverCounterSat, 74 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 381 SdHoareTripleChecker+Valid, 605 SdHoareTripleChecker+Invalid, 1354 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 74 IncrementalHoareTripleChecker+Valid, 665 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 615 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:31,508 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [381 Valid, 605 Invalid, 1354 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [74 Valid, 665 Invalid, 0 Unknown, 615 Unchecked, 0.6s Time] [2022-02-20 16:55:31,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 187 states. [2022-02-20 16:55:31,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 187 to 63. [2022-02-20 16:55:31,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:31,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 187 states. Second operand has 63 states, 62 states have (on average 1.2258064516129032) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 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 16:55:31,594 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand has 63 states, 62 states have (on average 1.2258064516129032) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 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 16:55:31,596 INFO L87 Difference]: Start difference. First operand 187 states. Second operand has 63 states, 62 states have (on average 1.2258064516129032) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 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 16:55:31,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:31,601 INFO L93 Difference]: Finished difference Result 187 states and 224 transitions. [2022-02-20 16:55:31,601 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 224 transitions. [2022-02-20 16:55:31,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:31,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:31,602 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 62 states have (on average 1.2258064516129032) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 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 187 states. [2022-02-20 16:55:31,603 INFO L87 Difference]: Start difference. First operand has 63 states, 62 states have (on average 1.2258064516129032) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 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 187 states. [2022-02-20 16:55:31,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:31,607 INFO L93 Difference]: Finished difference Result 187 states and 224 transitions. [2022-02-20 16:55:31,607 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 224 transitions. [2022-02-20 16:55:31,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:31,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:31,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:31,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:31,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 62 states have (on average 1.2258064516129032) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 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 16:55:31,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 76 transitions. [2022-02-20 16:55:31,609 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 76 transitions. Word has length 34 [2022-02-20 16:55:31,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:31,610 INFO L470 AbstractCegarLoop]: Abstraction has 63 states and 76 transitions. [2022-02-20 16:55:31,610 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 51 states, 51 states have (on average 1.7647058823529411) internal successors, (90), 51 states have internal predecessors, (90), 0 states have call successors, (0), 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 16:55:31,610 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-02-20 16:55:31,610 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 16:55:31,610 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:31,611 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:31,644 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 16:55:31,827 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:31,828 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:31,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:31,828 INFO L85 PathProgramCache]: Analyzing trace with hash -2016876528, now seen corresponding path program 1 times [2022-02-20 16:55:31,828 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:31,828 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1925771620] [2022-02-20 16:55:31,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:31,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:31,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:31,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {2968#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {2968#true} is VALID [2022-02-20 16:55:31,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {2968#true} is VALID [2022-02-20 16:55:31,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#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; {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {2970#(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); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,878 INFO L290 TraceCheckUtils]: 5: Hoare triple {2970#(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); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,878 INFO L290 TraceCheckUtils]: 6: Hoare triple {2970#(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; {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {2971#(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; {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {2971#(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); {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 10: Hoare triple {2971#(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); {2969#false} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {2969#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; {2969#false} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {2969#false} assume !(dll_create_~len#1 > 0); {2969#false} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {2969#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2969#false} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {2969#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {2969#false} is VALID [2022-02-20 16:55:31,880 INFO L290 TraceCheckUtils]: 15: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 16: Hoare triple {2969#false} assume !(dll_update_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 17: Hoare triple {2969#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 18: Hoare triple {2969#false} assume { :end_inline_dll_update_at } true; {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 19: Hoare triple {2969#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 20: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 21: Hoare triple {2969#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 22: Hoare triple {2969#false} assume !(dll_update_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {2969#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 24: Hoare triple {2969#false} assume { :end_inline_dll_update_at } true; {2969#false} is VALID [2022-02-20 16:55:31,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {2969#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 26: Hoare triple {2969#false} assume !(main_~i~0#1 < main_~len~0#1); {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 27: Hoare triple {2969#false} main_~i~0#1 := 0; {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 28: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 29: Hoare triple {2969#false} assume !(dll_get_data_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 30: Hoare triple {2969#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 31: Hoare triple {2969#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 32: Hoare triple {2969#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {2969#false} is VALID [2022-02-20 16:55:31,882 INFO L290 TraceCheckUtils]: 33: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-02-20 16:55:31,883 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:55:31,887 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:31,888 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1925771620] [2022-02-20 16:55:31,888 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1925771620] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:31,888 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2039554650] [2022-02-20 16:55:31,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:31,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:31,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:31,889 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 16:55:31,890 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 16:55:31,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:31,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 260 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:55:32,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:32,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:32,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {2968#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {2968#true} is VALID [2022-02-20 16:55:32,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {2968#true} is VALID [2022-02-20 16:55:32,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#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; {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,092 INFO L290 TraceCheckUtils]: 3: Hoare triple {2970#(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); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,092 INFO L290 TraceCheckUtils]: 4: Hoare triple {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {2970#(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); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,093 INFO L290 TraceCheckUtils]: 6: Hoare triple {2970#(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; {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {2971#(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; {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,094 INFO L290 TraceCheckUtils]: 8: Hoare triple {2971#(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); {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,094 INFO L290 TraceCheckUtils]: 10: Hoare triple {2971#(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); {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 11: Hoare triple {2969#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; {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {2969#false} assume !(dll_create_~len#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {2969#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {2969#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 15: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {2969#false} assume !(dll_update_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {2969#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {2969#false} assume { :end_inline_dll_update_at } true; {2969#false} is VALID [2022-02-20 16:55:32,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {2969#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {2969#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 22: Hoare triple {2969#false} assume !(dll_update_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {2969#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {2969#false} assume { :end_inline_dll_update_at } true; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {2969#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {2969#false} assume !(main_~i~0#1 < main_~len~0#1); {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {2969#false} main_~i~0#1 := 0; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 28: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:32,096 INFO L290 TraceCheckUtils]: 29: Hoare triple {2969#false} assume !(dll_get_data_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {2969#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {2969#false} is VALID [2022-02-20 16:55:32,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {2969#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {2969#false} is VALID [2022-02-20 16:55:32,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {2969#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {2969#false} is VALID [2022-02-20 16:55:32,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-02-20 16:55:32,097 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:55:32,097 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:32,158 INFO L290 TraceCheckUtils]: 33: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-02-20 16:55:32,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {2969#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {2969#false} is VALID [2022-02-20 16:55:32,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {2969#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {2969#false} is VALID [2022-02-20 16:55:32,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {2969#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {2969#false} is VALID [2022-02-20 16:55:32,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {2969#false} assume !(dll_get_data_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,160 INFO L290 TraceCheckUtils]: 28: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:32,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {2969#false} main_~i~0#1 := 0; {2969#false} is VALID [2022-02-20 16:55:32,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {2969#false} assume !(main_~i~0#1 < main_~len~0#1); {2969#false} is VALID [2022-02-20 16:55:32,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {2969#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2969#false} is VALID [2022-02-20 16:55:32,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {2969#false} assume { :end_inline_dll_update_at } true; {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 23: Hoare triple {2969#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {2969#false} assume !(dll_update_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {2969#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {2969#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {2969#false} assume { :end_inline_dll_update_at } true; {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {2969#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {2969#false} assume !(dll_update_at_~index#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {2969#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {2969#false} is VALID [2022-02-20 16:55:32,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {2969#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {2969#false} is VALID [2022-02-20 16:55:32,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {2969#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2969#false} is VALID [2022-02-20 16:55:32,162 INFO L290 TraceCheckUtils]: 12: Hoare triple {2969#false} assume !(dll_create_~len#1 > 0); {2969#false} is VALID [2022-02-20 16:55:32,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {2969#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; {2969#false} is VALID [2022-02-20 16:55:32,163 INFO L290 TraceCheckUtils]: 10: Hoare triple {2971#(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); {2969#false} is VALID [2022-02-20 16:55:32,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {2971#(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); {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {2971#(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; {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {2970#(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; {2971#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,165 INFO L290 TraceCheckUtils]: 5: Hoare triple {2970#(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); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,165 INFO L290 TraceCheckUtils]: 4: Hoare triple {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,165 INFO L290 TraceCheckUtils]: 3: Hoare triple {2970#(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); {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#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; {2970#(not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| 0))} is VALID [2022-02-20 16:55:32,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {2968#true} is VALID [2022-02-20 16:55:32,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {2968#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {2968#true} is VALID [2022-02-20 16:55:32,166 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:55:32,166 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2039554650] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:32,166 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:32,166 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 4 [2022-02-20 16:55:32,166 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [503981568] [2022-02-20 16:55:32,166 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:32,167 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 34 [2022-02-20 16:55:32,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:32,167 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 16:55:32,196 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 16:55:32,196 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:55:32,196 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:32,196 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:55:32,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:55:32,197 INFO L87 Difference]: Start difference. First operand 63 states and 76 transitions. Second operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 16:55:32,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:32,310 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2022-02-20 16:55:32,310 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 16:55:32,311 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 34 [2022-02-20 16:55:32,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:32,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 16:55:32,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 59 transitions. [2022-02-20 16:55:32,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 16:55:32,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 59 transitions. [2022-02-20 16:55:32,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 59 transitions. [2022-02-20 16:55:32,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:32,356 INFO L225 Difference]: With dead ends: 116 [2022-02-20 16:55:32,357 INFO L226 Difference]: Without dead ends: 61 [2022-02-20 16:55:32,357 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 68 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 16:55:32,357 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 43 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:32,358 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 27 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:32,358 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-02-20 16:55:32,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2022-02-20 16:55:32,431 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:32,431 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 61 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:32,431 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 61 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:32,431 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 61 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:32,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:32,432 INFO L93 Difference]: Finished difference Result 61 states and 71 transitions. [2022-02-20 16:55:32,433 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-02-20 16:55:32,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:32,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:32,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 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 61 states. [2022-02-20 16:55:32,433 INFO L87 Difference]: Start difference. First operand has 61 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 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 61 states. [2022-02-20 16:55:32,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:32,434 INFO L93 Difference]: Finished difference Result 61 states and 71 transitions. [2022-02-20 16:55:32,434 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-02-20 16:55:32,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:32,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:32,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:32,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:32,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 60 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:32,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-02-20 16:55:32,436 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 34 [2022-02-20 16:55:32,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:32,436 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-02-20 16:55:32,436 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 7.25) internal successors, (29), 4 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 16:55:32,436 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-02-20 16:55:32,437 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:55:32,437 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:32,437 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:32,454 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 16:55:32,654 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:32,654 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:32,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:32,654 INFO L85 PathProgramCache]: Analyzing trace with hash 1812442575, now seen corresponding path program 1 times [2022-02-20 16:55:32,654 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:32,655 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1291460087] [2022-02-20 16:55:32,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:32,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:32,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:32,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {3547#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {3547#true} is VALID [2022-02-20 16:55:32,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {3547#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {3547#true} is VALID [2022-02-20 16:55:32,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {3547#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; {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {3547#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 4: Hoare triple {3547#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {3547#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 6: Hoare triple {3547#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; {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {3547#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; {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {3547#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {3547#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 10: Hoare triple {3547#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {3547#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; {3547#true} is VALID [2022-02-20 16:55:32,709 INFO L290 TraceCheckUtils]: 12: Hoare triple {3547#true} assume !(dll_create_~len#1 > 0); {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {3547#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {3547#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 15: Hoare triple {3547#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 16: Hoare triple {3547#true} assume !(dll_update_at_~index#1 > 0); {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 17: Hoare triple {3547#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {3547#true} assume { :end_inline_dll_update_at } true; {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {3547#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {3547#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3547#true} is VALID [2022-02-20 16:55:32,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {3547#true} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3547#true} is VALID [2022-02-20 16:55:32,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {3547#true} assume !(dll_update_at_~index#1 > 0); {3547#true} is VALID [2022-02-20 16:55:32,711 INFO L290 TraceCheckUtils]: 23: Hoare triple {3547#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3547#true} is VALID [2022-02-20 16:55:32,711 INFO L290 TraceCheckUtils]: 24: Hoare triple {3547#true} assume { :end_inline_dll_update_at } true; {3547#true} is VALID [2022-02-20 16:55:32,711 INFO L290 TraceCheckUtils]: 25: Hoare triple {3547#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3547#true} is VALID [2022-02-20 16:55:32,711 INFO L290 TraceCheckUtils]: 26: Hoare triple {3547#true} assume !(main_~i~0#1 < main_~len~0#1); {3547#true} is VALID [2022-02-20 16:55:32,711 INFO L290 TraceCheckUtils]: 27: Hoare triple {3547#true} main_~i~0#1 := 0; {3549#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:32,712 INFO L290 TraceCheckUtils]: 28: Hoare triple {3549#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {3550#(= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} is VALID [2022-02-20 16:55:32,712 INFO L290 TraceCheckUtils]: 29: Hoare triple {3550#(= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {3548#false} is VALID [2022-02-20 16:55:32,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {3548#false} assume !(dll_get_data_at_~index#1 > 0); {3548#false} is VALID [2022-02-20 16:55:32,712 INFO L290 TraceCheckUtils]: 31: Hoare triple {3548#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {3548#false} is VALID [2022-02-20 16:55:32,713 INFO L290 TraceCheckUtils]: 32: Hoare triple {3548#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {3548#false} is VALID [2022-02-20 16:55:32,713 INFO L290 TraceCheckUtils]: 33: Hoare triple {3548#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {3548#false} is VALID [2022-02-20 16:55:32,713 INFO L290 TraceCheckUtils]: 34: Hoare triple {3548#false} assume !false; {3548#false} is VALID [2022-02-20 16:55:32,713 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:32,713 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:32,713 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1291460087] [2022-02-20 16:55:32,713 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1291460087] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:32,713 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:55:32,713 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 16:55:32,714 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1692355608] [2022-02-20 16:55:32,714 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:32,714 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 35 [2022-02-20 16:55:32,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:32,714 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 16:55:32,729 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 16:55:32,729 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 16:55:32,729 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:32,730 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 16:55:32,730 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 16:55:32,730 INFO L87 Difference]: Start difference. First operand 61 states and 71 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 16:55:32,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:32,901 INFO L93 Difference]: Finished difference Result 78 states and 90 transitions. [2022-02-20 16:55:32,901 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:55:32,901 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 35 [2022-02-20 16:55:32,901 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:32,901 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 16:55:32,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-02-20 16:55:32,902 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 16:55:32,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-02-20 16:55:32,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-02-20 16:55:32,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:32,939 INFO L225 Difference]: With dead ends: 78 [2022-02-20 16:55:32,939 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 16:55:32,940 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 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 16:55:32,940 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 43 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:32,941 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 67 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:32,942 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 16:55:33,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 63. [2022-02-20 16:55:33,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:33,028 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 63 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 62 states have internal predecessors, (72), 0 states have call successors, (0), 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 16:55:33,028 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 63 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 62 states have internal predecessors, (72), 0 states have call successors, (0), 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 16:55:33,029 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 63 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 62 states have internal predecessors, (72), 0 states have call successors, (0), 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 16:55:33,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:33,030 INFO L93 Difference]: Finished difference Result 70 states and 79 transitions. [2022-02-20 16:55:33,030 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2022-02-20 16:55:33,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:33,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:33,030 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 62 states have internal predecessors, (72), 0 states have call successors, (0), 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 70 states. [2022-02-20 16:55:33,031 INFO L87 Difference]: Start difference. First operand has 63 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 62 states have internal predecessors, (72), 0 states have call successors, (0), 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 70 states. [2022-02-20 16:55:33,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:33,032 INFO L93 Difference]: Finished difference Result 70 states and 79 transitions. [2022-02-20 16:55:33,032 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2022-02-20 16:55:33,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:33,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:33,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:33,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:33,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 62 states have internal predecessors, (72), 0 states have call successors, (0), 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 16:55:33,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 72 transitions. [2022-02-20 16:55:33,034 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 72 transitions. Word has length 35 [2022-02-20 16:55:33,034 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:33,034 INFO L470 AbstractCegarLoop]: Abstraction has 63 states and 72 transitions. [2022-02-20 16:55:33,034 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 16:55:33,034 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 72 transitions. [2022-02-20 16:55:33,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 16:55:33,035 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:33,035 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:33,035 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 16:55:33,035 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:33,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:33,036 INFO L85 PathProgramCache]: Analyzing trace with hash -36483006, now seen corresponding path program 2 times [2022-02-20 16:55:33,036 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:33,037 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257078865] [2022-02-20 16:55:33,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:33,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:33,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:33,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {3897#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {3897#true} is VALID [2022-02-20 16:55:33,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {3897#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {3897#true} is VALID [2022-02-20 16:55:33,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {3897#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {3897#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {3897#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {3897#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 10: Hoare triple {3897#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,124 INFO L290 TraceCheckUtils]: 12: Hoare triple {3897#true} assume !(dll_create_~len#1 > 0); {3897#true} is VALID [2022-02-20 16:55:33,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {3897#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {3897#true} is VALID [2022-02-20 16:55:33,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {3897#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,125 INFO L290 TraceCheckUtils]: 16: Hoare triple {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !(dll_update_at_~index#1 > 0); {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,126 INFO L290 TraceCheckUtils]: 17: Hoare triple {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} assume { :end_inline_dll_update_at } true; {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {3899#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3900#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 16:55:33,127 INFO L290 TraceCheckUtils]: 20: Hoare triple {3900#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3901#(<= |ULTIMATE.start_dll_update_at_~index#1| 1)} is VALID [2022-02-20 16:55:33,127 INFO L290 TraceCheckUtils]: 21: Hoare triple {3901#(<= |ULTIMATE.start_dll_update_at_~index#1| 1)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3902#(<= |ULTIMATE.start_dll_update_at_~index#1| 0)} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 22: Hoare triple {3902#(<= |ULTIMATE.start_dll_update_at_~index#1| 0)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 23: Hoare triple {3898#false} assume !(dll_update_at_~index#1 > 0); {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 24: Hoare triple {3898#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {3898#false} assume { :end_inline_dll_update_at } true; {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 26: Hoare triple {3898#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {3898#false} assume !(main_~i~0#1 < main_~len~0#1); {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 28: Hoare triple {3898#false} main_~i~0#1 := 0; {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 29: Hoare triple {3898#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {3898#false} is VALID [2022-02-20 16:55:33,128 INFO L290 TraceCheckUtils]: 30: Hoare triple {3898#false} assume !(dll_get_data_at_~index#1 > 0); {3898#false} is VALID [2022-02-20 16:55:33,129 INFO L290 TraceCheckUtils]: 31: Hoare triple {3898#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {3898#false} is VALID [2022-02-20 16:55:33,129 INFO L290 TraceCheckUtils]: 32: Hoare triple {3898#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {3898#false} is VALID [2022-02-20 16:55:33,129 INFO L290 TraceCheckUtils]: 33: Hoare triple {3898#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {3898#false} is VALID [2022-02-20 16:55:33,129 INFO L290 TraceCheckUtils]: 34: Hoare triple {3898#false} assume !false; {3898#false} is VALID [2022-02-20 16:55:33,129 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:33,129 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:33,129 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257078865] [2022-02-20 16:55:33,129 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257078865] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:33,129 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [86243982] [2022-02-20 16:55:33,130 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:55:33,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:33,130 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:33,143 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 16:55:33,144 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 16:55:33,254 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:55:33,255 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:55:33,256 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 16:55:33,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:33,267 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:33,370 INFO L290 TraceCheckUtils]: 0: Hoare triple {3897#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {3897#true} is VALID [2022-02-20 16:55:33,370 INFO L290 TraceCheckUtils]: 1: Hoare triple {3897#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {3897#true} is VALID [2022-02-20 16:55:33,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 3: Hoare triple {3897#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 4: Hoare triple {3897#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {3897#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {3897#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 10: Hoare triple {3897#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {3897#true} is VALID [2022-02-20 16:55:33,371 INFO L290 TraceCheckUtils]: 11: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,372 INFO L290 TraceCheckUtils]: 12: Hoare triple {3897#true} assume !(dll_create_~len#1 > 0); {3897#true} is VALID [2022-02-20 16:55:33,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {3897#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {3897#true} is VALID [2022-02-20 16:55:33,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {3897#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,373 INFO L290 TraceCheckUtils]: 16: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !(dll_update_at_~index#1 > 0); {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,373 INFO L290 TraceCheckUtils]: 17: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,373 INFO L290 TraceCheckUtils]: 18: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume { :end_inline_dll_update_at } true; {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,374 INFO L290 TraceCheckUtils]: 19: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3900#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 16:55:33,374 INFO L290 TraceCheckUtils]: 20: Hoare triple {3900#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3901#(<= |ULTIMATE.start_dll_update_at_~index#1| 1)} is VALID [2022-02-20 16:55:33,375 INFO L290 TraceCheckUtils]: 21: Hoare triple {3901#(<= |ULTIMATE.start_dll_update_at_~index#1| 1)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3902#(<= |ULTIMATE.start_dll_update_at_~index#1| 0)} is VALID [2022-02-20 16:55:33,375 INFO L290 TraceCheckUtils]: 22: Hoare triple {3902#(<= |ULTIMATE.start_dll_update_at_~index#1| 0)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3898#false} is VALID [2022-02-20 16:55:33,375 INFO L290 TraceCheckUtils]: 23: Hoare triple {3898#false} assume !(dll_update_at_~index#1 > 0); {3898#false} is VALID [2022-02-20 16:55:33,375 INFO L290 TraceCheckUtils]: 24: Hoare triple {3898#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3898#false} is VALID [2022-02-20 16:55:33,375 INFO L290 TraceCheckUtils]: 25: Hoare triple {3898#false} assume { :end_inline_dll_update_at } true; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 26: Hoare triple {3898#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 27: Hoare triple {3898#false} assume !(main_~i~0#1 < main_~len~0#1); {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 28: Hoare triple {3898#false} main_~i~0#1 := 0; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 29: Hoare triple {3898#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 30: Hoare triple {3898#false} assume !(dll_get_data_at_~index#1 > 0); {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 31: Hoare triple {3898#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 32: Hoare triple {3898#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 33: Hoare triple {3898#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {3898#false} is VALID [2022-02-20 16:55:33,376 INFO L290 TraceCheckUtils]: 34: Hoare triple {3898#false} assume !false; {3898#false} is VALID [2022-02-20 16:55:33,377 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:33,377 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:33,482 INFO L290 TraceCheckUtils]: 34: Hoare triple {3898#false} assume !false; {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {3898#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {3898#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {3898#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {3898#false} assume !(dll_get_data_at_~index#1 > 0); {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {3898#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 28: Hoare triple {3898#false} main_~i~0#1 := 0; {3898#false} is VALID [2022-02-20 16:55:33,483 INFO L290 TraceCheckUtils]: 27: Hoare triple {3898#false} assume !(main_~i~0#1 < main_~len~0#1); {3898#false} is VALID [2022-02-20 16:55:33,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {3898#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3898#false} is VALID [2022-02-20 16:55:33,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {3898#false} assume { :end_inline_dll_update_at } true; {3898#false} is VALID [2022-02-20 16:55:33,484 INFO L290 TraceCheckUtils]: 24: Hoare triple {3898#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3898#false} is VALID [2022-02-20 16:55:33,484 INFO L290 TraceCheckUtils]: 23: Hoare triple {3898#false} assume !(dll_update_at_~index#1 > 0); {3898#false} is VALID [2022-02-20 16:55:33,484 INFO L290 TraceCheckUtils]: 22: Hoare triple {3902#(<= |ULTIMATE.start_dll_update_at_~index#1| 0)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3898#false} is VALID [2022-02-20 16:55:33,485 INFO L290 TraceCheckUtils]: 21: Hoare triple {3901#(<= |ULTIMATE.start_dll_update_at_~index#1| 1)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {3902#(<= |ULTIMATE.start_dll_update_at_~index#1| 0)} is VALID [2022-02-20 16:55:33,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {3900#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3901#(<= |ULTIMATE.start_dll_update_at_~index#1| 1)} is VALID [2022-02-20 16:55:33,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {3900#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 16:55:33,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume { :end_inline_dll_update_at } true; {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,487 INFO L290 TraceCheckUtils]: 16: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !(dll_update_at_~index#1 > 0); {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,487 INFO L290 TraceCheckUtils]: 15: Hoare triple {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,487 INFO L290 TraceCheckUtils]: 14: Hoare triple {3897#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {3948#(<= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:33,487 INFO L290 TraceCheckUtils]: 13: Hoare triple {3897#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {3897#true} is VALID [2022-02-20 16:55:33,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {3897#true} assume !(dll_create_~len#1 > 0); {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 10: Hoare triple {3897#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {3897#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 6: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {3897#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 4: Hoare triple {3897#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {3897#true} is VALID [2022-02-20 16:55:33,488 INFO L290 TraceCheckUtils]: 3: Hoare triple {3897#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {3897#true} is VALID [2022-02-20 16:55:33,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {3897#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; {3897#true} is VALID [2022-02-20 16:55:33,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {3897#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {3897#true} is VALID [2022-02-20 16:55:33,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {3897#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {3897#true} is VALID [2022-02-20 16:55:33,489 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 16:55:33,489 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [86243982] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:33,489 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:33,489 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 7 [2022-02-20 16:55:33,490 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [72377201] [2022-02-20 16:55:33,490 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:33,490 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:33,490 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:33,513 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:55:33,514 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:33,514 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:55:33,514 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:55:33,514 INFO L87 Difference]: Start difference. First operand 63 states and 72 transitions. Second operand has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:33,729 INFO L93 Difference]: Finished difference Result 104 states and 119 transitions. [2022-02-20 16:55:33,729 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:55:33,729 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:33,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 75 transitions. [2022-02-20 16:55:33,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 75 transitions. [2022-02-20 16:55:33,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 75 transitions. [2022-02-20 16:55:33,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:33,783 INFO L225 Difference]: With dead ends: 104 [2022-02-20 16:55:33,783 INFO L226 Difference]: Without dead ends: 82 [2022-02-20 16:55:33,783 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=56, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:55:33,784 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 71 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:33,784 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [71 Valid, 73 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:33,784 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2022-02-20 16:55:33,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 65. [2022-02-20 16:55:33,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:33,872 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand has 65 states, 64 states have (on average 1.109375) internal successors, (71), 64 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:33,873 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand has 65 states, 64 states have (on average 1.109375) internal successors, (71), 64 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:33,873 INFO L87 Difference]: Start difference. First operand 82 states. Second operand has 65 states, 64 states have (on average 1.109375) internal successors, (71), 64 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:33,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:33,874 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2022-02-20 16:55:33,874 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2022-02-20 16:55:33,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:33,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:33,875 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 64 states have (on average 1.109375) internal successors, (71), 64 states have internal predecessors, (71), 0 states have call successors, (0), 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 82 states. [2022-02-20 16:55:33,875 INFO L87 Difference]: Start difference. First operand has 65 states, 64 states have (on average 1.109375) internal successors, (71), 64 states have internal predecessors, (71), 0 states have call successors, (0), 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 82 states. [2022-02-20 16:55:33,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:33,876 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2022-02-20 16:55:33,876 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2022-02-20 16:55:33,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:33,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:33,876 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:33,876 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:33,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 64 states have (on average 1.109375) internal successors, (71), 64 states have internal predecessors, (71), 0 states have call successors, (0), 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 16:55:33,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 71 transitions. [2022-02-20 16:55:33,877 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 71 transitions. Word has length 35 [2022-02-20 16:55:33,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:33,877 INFO L470 AbstractCegarLoop]: Abstraction has 65 states and 71 transitions. [2022-02-20 16:55:33,878 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.285714285714286) internal successors, (37), 7 states have internal predecessors, (37), 0 states have call successors, (0), 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 16:55:33,878 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-02-20 16:55:33,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 16:55:33,878 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:33,878 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:33,896 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 16:55:34,087 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:34,088 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:34,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:34,088 INFO L85 PathProgramCache]: Analyzing trace with hash 656694366, now seen corresponding path program 3 times [2022-02-20 16:55:34,088 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:34,088 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1133260546] [2022-02-20 16:55:34,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:34,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:34,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {4524#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {4524#true} is VALID [2022-02-20 16:55:34,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {4524#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {4526#(= (+ (- 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; {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,171 INFO L290 TraceCheckUtils]: 3: Hoare triple {4526#(= (+ (- 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); {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,172 INFO L290 TraceCheckUtils]: 4: Hoare triple {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,172 INFO L290 TraceCheckUtils]: 5: Hoare triple {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4526#(= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0)} is VALID [2022-02-20 16:55:34,172 INFO L290 TraceCheckUtils]: 6: Hoare triple {4526#(= (+ (- 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; {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 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; {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,174 INFO L290 TraceCheckUtils]: 10: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 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; {4528#(<= |ULTIMATE.start_dll_create_~len#1| 0)} is VALID [2022-02-20 16:55:34,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {4528#(<= |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; {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {4525#false} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {4525#false} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {4525#false} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {4525#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; {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {4525#false} assume !(dll_create_~len#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {4525#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 19: Hoare triple {4525#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 20: Hoare triple {4525#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4525#false} is VALID [2022-02-20 16:55:34,177 INFO L290 TraceCheckUtils]: 21: Hoare triple {4525#false} assume !(dll_update_at_~index#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {4525#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 23: Hoare triple {4525#false} assume { :end_inline_dll_update_at } true; {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 24: Hoare triple {4525#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 25: Hoare triple {4525#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 26: Hoare triple {4525#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {4525#false} assume !(dll_update_at_~index#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {4525#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 29: Hoare triple {4525#false} assume { :end_inline_dll_update_at } true; {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {4525#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4525#false} is VALID [2022-02-20 16:55:34,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {4525#false} assume !(main_~i~0#1 < main_~len~0#1); {4525#false} is VALID [2022-02-20 16:55:34,179 INFO L290 TraceCheckUtils]: 32: Hoare triple {4525#false} main_~i~0#1 := 0; {4525#false} is VALID [2022-02-20 16:55:34,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {4525#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {4525#false} is VALID [2022-02-20 16:55:34,179 INFO L290 TraceCheckUtils]: 34: Hoare triple {4525#false} assume !(dll_get_data_at_~index#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {4525#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {4525#false} is VALID [2022-02-20 16:55:34,189 INFO L290 TraceCheckUtils]: 36: Hoare triple {4525#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {4525#false} is VALID [2022-02-20 16:55:34,189 INFO L290 TraceCheckUtils]: 37: Hoare triple {4525#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {4525#false} is VALID [2022-02-20 16:55:34,189 INFO L290 TraceCheckUtils]: 38: Hoare triple {4525#false} assume !false; {4525#false} is VALID [2022-02-20 16:55:34,189 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:55:34,190 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:34,190 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1133260546] [2022-02-20 16:55:34,190 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1133260546] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:34,190 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [91068002] [2022-02-20 16:55:34,190 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 16:55:34,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:34,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:34,200 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 16:55:34,201 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 16:55:34,409 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 16:55:34,409 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:55:34,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 332 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 16:55:34,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:34,425 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:34,514 INFO L290 TraceCheckUtils]: 0: Hoare triple {4524#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {4524#true} is VALID [2022-02-20 16:55:34,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {4524#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} is VALID [2022-02-20 16:55:34,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {4535#(<= |ULTIMATE.start_dll_create_~len#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; {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} is VALID [2022-02-20 16:55:34,515 INFO L290 TraceCheckUtils]: 3: Hoare triple {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} is VALID [2022-02-20 16:55:34,516 INFO L290 TraceCheckUtils]: 4: Hoare triple {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} is VALID [2022-02-20 16:55:34,516 INFO L290 TraceCheckUtils]: 5: Hoare triple {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4535#(<= |ULTIMATE.start_dll_create_~len#1| 2)} is VALID [2022-02-20 16:55:34,516 INFO L290 TraceCheckUtils]: 6: Hoare triple {4535#(<= |ULTIMATE.start_dll_create_~len#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; {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 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; {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,517 INFO L290 TraceCheckUtils]: 10: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4527#(<= |ULTIMATE.start_dll_create_~len#1| 1)} is VALID [2022-02-20 16:55:34,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {4527#(<= |ULTIMATE.start_dll_create_~len#1| 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; {4528#(<= |ULTIMATE.start_dll_create_~len#1| 0)} is VALID [2022-02-20 16:55:34,518 INFO L290 TraceCheckUtils]: 12: Hoare triple {4528#(<= |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; {4525#false} is VALID [2022-02-20 16:55:34,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {4525#false} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4525#false} is VALID [2022-02-20 16:55:34,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {4525#false} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4525#false} is VALID [2022-02-20 16:55:34,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {4525#false} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 16: Hoare triple {4525#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; {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 17: Hoare triple {4525#false} assume !(dll_create_~len#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 18: Hoare triple {4525#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {4525#false} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {4525#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {4525#false} assume !(dll_update_at_~index#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 22: Hoare triple {4525#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 23: Hoare triple {4525#false} assume { :end_inline_dll_update_at } true; {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 24: Hoare triple {4525#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4525#false} is VALID [2022-02-20 16:55:34,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {4525#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 26: Hoare triple {4525#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 27: Hoare triple {4525#false} assume !(dll_update_at_~index#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 28: Hoare triple {4525#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 29: Hoare triple {4525#false} assume { :end_inline_dll_update_at } true; {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 30: Hoare triple {4525#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 31: Hoare triple {4525#false} assume !(main_~i~0#1 < main_~len~0#1); {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 32: Hoare triple {4525#false} main_~i~0#1 := 0; {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 33: Hoare triple {4525#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {4525#false} is VALID [2022-02-20 16:55:34,520 INFO L290 TraceCheckUtils]: 34: Hoare triple {4525#false} assume !(dll_get_data_at_~index#1 > 0); {4525#false} is VALID [2022-02-20 16:55:34,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {4525#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {4525#false} is VALID [2022-02-20 16:55:34,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {4525#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {4525#false} is VALID [2022-02-20 16:55:34,521 INFO L290 TraceCheckUtils]: 37: Hoare triple {4525#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {4525#false} is VALID [2022-02-20 16:55:34,521 INFO L290 TraceCheckUtils]: 38: Hoare triple {4525#false} assume !false; {4525#false} is VALID [2022-02-20 16:55:34,521 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 18 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:55:34,521 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:55:34,521 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [91068002] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:34,521 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:55:34,521 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 6 [2022-02-20 16:55:34,522 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1406087246] [2022-02-20 16:55:34,522 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:34,522 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 39 [2022-02-20 16:55:34,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:34,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:34,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:34,562 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 16:55:34,562 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:34,563 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 16:55:34,563 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:55:34,563 INFO L87 Difference]: Start difference. First operand 65 states and 71 transitions. Second operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:34,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,722 INFO L93 Difference]: Finished difference Result 82 states and 91 transitions. [2022-02-20 16:55:34,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:55:34,723 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 39 [2022-02-20 16:55:34,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:34,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:34,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-02-20 16:55:34,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:34,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-02-20 16:55:34,725 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-02-20 16:55:34,758 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:34,758 INFO L225 Difference]: With dead ends: 82 [2022-02-20 16:55:34,758 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 16:55:34,759 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:55:34,759 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 41 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 37 SdHoareTripleChecker+Invalid, 12 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:34,760 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 37 Invalid, 12 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:34,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 16:55:34,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-02-20 16:55:34,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:34,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 49 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:34,851 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 49 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:34,851 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 49 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:34,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,852 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-02-20 16:55:34,852 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-02-20 16:55:34,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:34,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:34,853 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 49 states have internal predecessors, (54), 0 states have call successors, (0), 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 50 states. [2022-02-20 16:55:34,853 INFO L87 Difference]: Start difference. First operand has 50 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 49 states have internal predecessors, (54), 0 states have call successors, (0), 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 50 states. [2022-02-20 16:55:34,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:34,854 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-02-20 16:55:34,854 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-02-20 16:55:34,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:34,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:34,855 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:34,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:34,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 49 states have (on average 1.1020408163265305) internal successors, (54), 49 states have internal predecessors, (54), 0 states have call successors, (0), 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 16:55:34,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 54 transitions. [2022-02-20 16:55:34,856 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 54 transitions. Word has length 39 [2022-02-20 16:55:34,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:34,856 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 54 transitions. [2022-02-20 16:55:34,856 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.8) internal successors, (34), 5 states have internal predecessors, (34), 0 states have call successors, (0), 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 16:55:34,856 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-02-20 16:55:34,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 16:55:34,857 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:34,857 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:34,877 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-02-20 16:55:35,075 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,SelfDestructingSolverStorable11 [2022-02-20 16:55:35,075 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:35,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:35,075 INFO L85 PathProgramCache]: Analyzing trace with hash -367645571, now seen corresponding path program 1 times [2022-02-20 16:55:35,076 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:35,076 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [530529535] [2022-02-20 16:55:35,076 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:35,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:35,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {4938#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {4938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 3: Hoare triple {4938#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 4: Hoare triple {4938#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {4938#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {4938#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {4938#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {4938#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 11: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 12: Hoare triple {4938#true} assume !(dll_create_~len#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 13: Hoare triple {4938#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {4938#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4938#true} is VALID [2022-02-20 16:55:35,134 INFO L290 TraceCheckUtils]: 15: Hoare triple {4938#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {4938#true} assume !(dll_update_at_~index#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 17: Hoare triple {4938#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {4938#true} assume { :end_inline_dll_update_at } true; {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {4938#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {4938#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 21: Hoare triple {4938#true} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 22: Hoare triple {4938#true} assume !(dll_update_at_~index#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {4938#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,136 INFO L290 TraceCheckUtils]: 24: Hoare triple {4938#true} assume { :end_inline_dll_update_at } true; {4938#true} is VALID [2022-02-20 16:55:35,136 INFO L290 TraceCheckUtils]: 25: Hoare triple {4938#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4938#true} is VALID [2022-02-20 16:55:35,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {4938#true} assume !(main_~i~0#1 < main_~len~0#1); {4938#true} is VALID [2022-02-20 16:55:35,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {4938#true} main_~i~0#1 := 0; {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:35,136 INFO L290 TraceCheckUtils]: 28: Hoare triple {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:35,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !(dll_get_data_at_~index#1 > 0); {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:35,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:35,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:35,137 INFO L290 TraceCheckUtils]: 32: Hoare triple {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:35,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {4940#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4941#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,138 INFO L290 TraceCheckUtils]: 34: Hoare triple {4941#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {4942#(<= 1 |ULTIMATE.start_dll_get_data_at_~index#1|)} is VALID [2022-02-20 16:55:35,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {4942#(<= 1 |ULTIMATE.start_dll_get_data_at_~index#1|)} assume !(dll_get_data_at_~index#1 > 0); {4939#false} is VALID [2022-02-20 16:55:35,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {4939#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {4939#false} is VALID [2022-02-20 16:55:35,139 INFO L290 TraceCheckUtils]: 37: Hoare triple {4939#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {4939#false} is VALID [2022-02-20 16:55:35,139 INFO L290 TraceCheckUtils]: 38: Hoare triple {4939#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {4939#false} is VALID [2022-02-20 16:55:35,139 INFO L290 TraceCheckUtils]: 39: Hoare triple {4939#false} assume !false; {4939#false} is VALID [2022-02-20 16:55:35,139 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 3 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:35,139 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:35,139 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [530529535] [2022-02-20 16:55:35,140 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [530529535] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:35,140 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [378759523] [2022-02-20 16:55:35,140 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:35,140 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:35,140 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:35,141 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 16:55:35,142 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 16:55:35,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,248 INFO L263 TraceCheckSpWp]: Trace formula consists of 295 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:55:35,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:35,262 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {4938#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {4938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 3: Hoare triple {4938#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 4: Hoare triple {4938#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {4938#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 6: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {4938#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {4938#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,375 INFO L290 TraceCheckUtils]: 10: Hoare triple {4938#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 11: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 12: Hoare triple {4938#true} assume !(dll_create_~len#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {4938#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {4938#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {4938#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 16: Hoare triple {4938#true} assume !(dll_update_at_~index#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 17: Hoare triple {4938#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 18: Hoare triple {4938#true} assume { :end_inline_dll_update_at } true; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {4938#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {4938#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 21: Hoare triple {4938#true} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 22: Hoare triple {4938#true} assume !(dll_update_at_~index#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 23: Hoare triple {4938#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {4938#true} assume { :end_inline_dll_update_at } true; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 25: Hoare triple {4938#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4938#true} is VALID [2022-02-20 16:55:35,376 INFO L290 TraceCheckUtils]: 26: Hoare triple {4938#true} assume !(main_~i~0#1 < main_~len~0#1); {4938#true} is VALID [2022-02-20 16:55:35,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {4938#true} main_~i~0#1 := 0; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,377 INFO L290 TraceCheckUtils]: 28: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,377 INFO L290 TraceCheckUtils]: 29: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !(dll_get_data_at_~index#1 > 0); {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,378 INFO L290 TraceCheckUtils]: 32: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4941#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,379 INFO L290 TraceCheckUtils]: 34: Hoare triple {4941#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {4942#(<= 1 |ULTIMATE.start_dll_get_data_at_~index#1|)} is VALID [2022-02-20 16:55:35,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {4942#(<= 1 |ULTIMATE.start_dll_get_data_at_~index#1|)} assume !(dll_get_data_at_~index#1 > 0); {4939#false} is VALID [2022-02-20 16:55:35,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {4939#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {4939#false} is VALID [2022-02-20 16:55:35,380 INFO L290 TraceCheckUtils]: 37: Hoare triple {4939#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {4939#false} is VALID [2022-02-20 16:55:35,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {4939#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {4939#false} is VALID [2022-02-20 16:55:35,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {4939#false} assume !false; {4939#false} is VALID [2022-02-20 16:55:35,380 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:35,380 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:35,470 INFO L290 TraceCheckUtils]: 39: Hoare triple {4939#false} assume !false; {4939#false} is VALID [2022-02-20 16:55:35,471 INFO L290 TraceCheckUtils]: 38: Hoare triple {4939#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {4939#false} is VALID [2022-02-20 16:55:35,471 INFO L290 TraceCheckUtils]: 37: Hoare triple {4939#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {4939#false} is VALID [2022-02-20 16:55:35,471 INFO L290 TraceCheckUtils]: 36: Hoare triple {4939#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {4939#false} is VALID [2022-02-20 16:55:35,472 INFO L290 TraceCheckUtils]: 35: Hoare triple {4942#(<= 1 |ULTIMATE.start_dll_get_data_at_~index#1|)} assume !(dll_get_data_at_~index#1 > 0); {4939#false} is VALID [2022-02-20 16:55:35,472 INFO L290 TraceCheckUtils]: 34: Hoare triple {4941#(<= 1 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {4942#(<= 1 |ULTIMATE.start_dll_get_data_at_~index#1|)} is VALID [2022-02-20 16:55:35,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {4941#(<= 1 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,474 INFO L290 TraceCheckUtils]: 30: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,477 INFO L290 TraceCheckUtils]: 29: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !(dll_get_data_at_~index#1 > 0); {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,478 INFO L290 TraceCheckUtils]: 28: Hoare triple {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,478 INFO L290 TraceCheckUtils]: 27: Hoare triple {4938#true} main_~i~0#1 := 0; {5027#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:35,478 INFO L290 TraceCheckUtils]: 26: Hoare triple {4938#true} assume !(main_~i~0#1 < main_~len~0#1); {4938#true} is VALID [2022-02-20 16:55:35,478 INFO L290 TraceCheckUtils]: 25: Hoare triple {4938#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4938#true} is VALID [2022-02-20 16:55:35,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {4938#true} assume { :end_inline_dll_update_at } true; {4938#true} is VALID [2022-02-20 16:55:35,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {4938#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 22: Hoare triple {4938#true} assume !(dll_update_at_~index#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 21: Hoare triple {4938#true} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 20: Hoare triple {4938#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 19: Hoare triple {4938#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 18: Hoare triple {4938#true} assume { :end_inline_dll_update_at } true; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {4938#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {4938#true} assume !(dll_update_at_~index#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 15: Hoare triple {4938#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {4938#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {4938#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 12: Hoare triple {4938#true} assume !(dll_create_~len#1 > 0); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {4938#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {4938#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {4938#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,479 INFO L290 TraceCheckUtils]: 6: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L290 TraceCheckUtils]: 5: Hoare triple {4938#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L290 TraceCheckUtils]: 4: Hoare triple {4938#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L290 TraceCheckUtils]: 3: Hoare triple {4938#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {4938#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; {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {4938#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L290 TraceCheckUtils]: 0: Hoare triple {4938#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {4938#true} is VALID [2022-02-20 16:55:35,480 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:35,480 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [378759523] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:35,480 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:35,480 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 6 [2022-02-20 16:55:35,480 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1788694665] [2022-02-20 16:55:35,480 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:35,481 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 40 [2022-02-20 16:55:35,481 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:35,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 16:55:35,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:35,503 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:55:35,504 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:35,504 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:55:35,504 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:55:35,504 INFO L87 Difference]: Start difference. First operand 50 states and 54 transitions. Second operand has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 16:55:35,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:35,695 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-02-20 16:55:35,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 16:55:35,695 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 40 [2022-02-20 16:55:35,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:35,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 16:55:35,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 52 transitions. [2022-02-20 16:55:35,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 16:55:35,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 52 transitions. [2022-02-20 16:55:35,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 52 transitions. [2022-02-20 16:55:35,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:35,732 INFO L225 Difference]: With dead ends: 65 [2022-02-20 16:55:35,732 INFO L226 Difference]: Without dead ends: 57 [2022-02-20 16:55:35,732 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=16, Invalid=26, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:55:35,733 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 29 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:35,733 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 97 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:35,733 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-02-20 16:55:35,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 51. [2022-02-20 16:55:35,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:35,823 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 51 states, 50 states have (on average 1.1) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 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 16:55:35,823 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 51 states, 50 states have (on average 1.1) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 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 16:55:35,823 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 51 states, 50 states have (on average 1.1) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 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 16:55:35,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:35,824 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 16:55:35,824 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-02-20 16:55:35,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:35,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:35,824 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 50 states have (on average 1.1) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 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 57 states. [2022-02-20 16:55:35,824 INFO L87 Difference]: Start difference. First operand has 51 states, 50 states have (on average 1.1) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 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 57 states. [2022-02-20 16:55:35,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:35,825 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-02-20 16:55:35,825 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 61 transitions. [2022-02-20 16:55:35,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:35,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:35,825 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:35,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:35,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 50 states have (on average 1.1) internal successors, (55), 50 states have internal predecessors, (55), 0 states have call successors, (0), 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 16:55:35,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-02-20 16:55:35,826 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 40 [2022-02-20 16:55:35,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:35,826 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-02-20 16:55:35,827 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 6.333333333333333) internal successors, (38), 6 states have internal predecessors, (38), 0 states have call successors, (0), 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 16:55:35,827 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-02-20 16:55:35,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 16:55:35,827 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:35,827 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:35,853 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 16:55:36,035 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,SelfDestructingSolverStorable12 [2022-02-20 16:55:36,036 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:36,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:36,036 INFO L85 PathProgramCache]: Analyzing trace with hash 705668803, now seen corresponding path program 4 times [2022-02-20 16:55:36,036 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:36,036 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1672214903] [2022-02-20 16:55:36,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:36,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:36,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:36,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {5464#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {5464#true} is VALID [2022-02-20 16:55:36,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {5464#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {5466#(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 16:55:36,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {5466#(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; {5466#(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 16:55:36,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {5466#(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); {5466#(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 16:55:36,123 INFO L290 TraceCheckUtils]: 4: Hoare triple {5466#(and (= (+ (- 2) |ULTIMATE.start_dll_create_~len#1|) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~len~0#1|) |ULTIMATE.start_dll_create_~len#1|) 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5466#(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 16:55:36,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {5466#(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); {5466#(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 16:55:36,123 INFO L290 TraceCheckUtils]: 6: Hoare triple {5466#(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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,126 INFO L290 TraceCheckUtils]: 12: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~len#1 > 0); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(dll_update_at_~index#1 > 0); {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume { :end_inline_dll_update_at } true; {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,130 INFO L290 TraceCheckUtils]: 19: Hoare triple {5468#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:36,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:36,130 INFO L290 TraceCheckUtils]: 21: Hoare triple {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:36,130 INFO L290 TraceCheckUtils]: 22: Hoare triple {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} assume !(dll_update_at_~index#1 > 0); {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:36,131 INFO L290 TraceCheckUtils]: 23: Hoare triple {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:36,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} assume { :end_inline_dll_update_at } true; {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:36,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {5469#(<= |ULTIMATE.start_main_~len~0#1| (+ |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5470#(<= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 16:55:36,132 INFO L290 TraceCheckUtils]: 26: Hoare triple {5470#(<= |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5465#false} is VALID [2022-02-20 16:55:36,132 INFO L290 TraceCheckUtils]: 27: Hoare triple {5465#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {5465#false} is VALID [2022-02-20 16:55:36,132 INFO L290 TraceCheckUtils]: 28: Hoare triple {5465#false} assume !(dll_update_at_~index#1 > 0); {5465#false} is VALID [2022-02-20 16:55:36,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {5465#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {5465#false} assume { :end_inline_dll_update_at } true; {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 31: Hoare triple {5465#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 32: Hoare triple {5465#false} assume !(main_~i~0#1 < main_~len~0#1); {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 33: Hoare triple {5465#false} main_~i~0#1 := 0; {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 34: Hoare triple {5465#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {5465#false} assume !(dll_get_data_at_~index#1 > 0); {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {5465#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {5465#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5465#false} is VALID [2022-02-20 16:55:36,133 INFO L290 TraceCheckUtils]: 38: Hoare triple {5465#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {5465#false} is VALID [2022-02-20 16:55:36,134 INFO L290 TraceCheckUtils]: 39: Hoare triple {5465#false} assume !false; {5465#false} is VALID [2022-02-20 16:55:36,134 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 16 proven. 13 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 16:55:36,134 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:36,134 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1672214903] [2022-02-20 16:55:36,134 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1672214903] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:36,134 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [692957872] [2022-02-20 16:55:36,134 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 16:55:36,135 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:36,135 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:36,136 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 16:55:36,137 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 16:55:36,273 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 16:55:36,274 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:55:36,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:55:36,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:36,287 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:36,483 INFO L290 TraceCheckUtils]: 0: Hoare triple {5464#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {5464#true} is VALID [2022-02-20 16:55:36,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {5464#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,485 INFO L290 TraceCheckUtils]: 3: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,485 INFO L290 TraceCheckUtils]: 4: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,485 INFO L290 TraceCheckUtils]: 6: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,487 INFO L290 TraceCheckUtils]: 10: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~len#1 > 0); {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,487 INFO L290 TraceCheckUtils]: 13: Hoare triple {5467#(<= |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; {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:36,488 INFO L290 TraceCheckUtils]: 14: Hoare triple {5467#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:36,488 INFO L290 TraceCheckUtils]: 15: Hoare triple {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:36,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !(dll_update_at_~index#1 > 0); {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:36,489 INFO L290 TraceCheckUtils]: 17: Hoare triple {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:36,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume { :end_inline_dll_update_at } true; {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:36,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {5516#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 0 |ULTIMATE.start_main_~i~0#1|))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,490 INFO L290 TraceCheckUtils]: 20: Hoare triple {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,491 INFO L290 TraceCheckUtils]: 21: Hoare triple {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,491 INFO L290 TraceCheckUtils]: 22: Hoare triple {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume !(dll_update_at_~index#1 > 0); {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,492 INFO L290 TraceCheckUtils]: 23: Hoare triple {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,492 INFO L290 TraceCheckUtils]: 24: Hoare triple {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} assume { :end_inline_dll_update_at } true; {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {5532#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~len~0#1| 2))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5551#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {5551#(and (<= |ULTIMATE.start_main_~len~0#1| 2) (<= 2 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5465#false} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {5465#false} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {5465#false} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 28: Hoare triple {5465#false} assume !(dll_update_at_~index#1 > 0); {5465#false} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 29: Hoare triple {5465#false} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5465#false} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 30: Hoare triple {5465#false} assume { :end_inline_dll_update_at } true; {5465#false} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 31: Hoare triple {5465#false} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5465#false} is VALID [2022-02-20 16:55:36,493 INFO L290 TraceCheckUtils]: 32: Hoare triple {5465#false} assume !(main_~i~0#1 < main_~len~0#1); {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 33: Hoare triple {5465#false} main_~i~0#1 := 0; {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 34: Hoare triple {5465#false} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 35: Hoare triple {5465#false} assume !(dll_get_data_at_~index#1 > 0); {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 36: Hoare triple {5465#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 37: Hoare triple {5465#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 38: Hoare triple {5465#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L290 TraceCheckUtils]: 39: Hoare triple {5465#false} assume !false; {5465#false} is VALID [2022-02-20 16:55:36,494 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 23 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 16:55:36,494 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 16:55:36,494 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [692957872] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:55:36,494 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 16:55:36,495 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [7] total 10 [2022-02-20 16:55:36,495 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2134550009] [2022-02-20 16:55:36,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:55:36,495 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 40 [2022-02-20 16:55:36,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:36,495 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 16:55:36,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:36,521 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:55:36,521 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:36,521 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:55:36,521 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:55:36,521 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 16:55:36,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:36,677 INFO L93 Difference]: Finished difference Result 62 states and 67 transitions. [2022-02-20 16:55:36,677 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:55:36,677 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 40 [2022-02-20 16:55:36,677 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:36,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 16:55:36,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-02-20 16:55:36,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 16:55:36,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-02-20 16:55:36,678 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-02-20 16:55:36,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:36,716 INFO L225 Difference]: With dead ends: 62 [2022-02-20 16:55:36,716 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 16:55:36,716 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2022-02-20 16:55:36,716 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 34 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:36,717 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 72 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:36,717 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 16:55:36,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2022-02-20 16:55:36,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:36,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 42 states, 41 states have (on average 1.024390243902439) internal successors, (42), 41 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 16:55:36,796 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 42 states, 41 states have (on average 1.024390243902439) internal successors, (42), 41 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 16:55:36,796 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 42 states, 41 states have (on average 1.024390243902439) internal successors, (42), 41 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 16:55:36,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:36,797 INFO L93 Difference]: Finished difference Result 42 states and 42 transitions. [2022-02-20 16:55:36,797 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 42 transitions. [2022-02-20 16:55:36,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:36,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:36,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 41 states have (on average 1.024390243902439) internal successors, (42), 41 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) Second operand 42 states. [2022-02-20 16:55:36,797 INFO L87 Difference]: Start difference. First operand has 42 states, 41 states have (on average 1.024390243902439) internal successors, (42), 41 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) Second operand 42 states. [2022-02-20 16:55:36,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:36,798 INFO L93 Difference]: Finished difference Result 42 states and 42 transitions. [2022-02-20 16:55:36,798 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 42 transitions. [2022-02-20 16:55:36,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:36,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:36,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:36,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:36,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 41 states have (on average 1.024390243902439) internal successors, (42), 41 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 16:55:36,799 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 42 transitions. [2022-02-20 16:55:36,799 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 42 transitions. Word has length 40 [2022-02-20 16:55:36,799 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:36,799 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 42 transitions. [2022-02-20 16:55:36,799 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 6.0) internal successors, (36), 6 states have internal predecessors, (36), 0 states have call successors, (0), 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 16:55:36,799 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 42 transitions. [2022-02-20 16:55:36,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 16:55:36,799 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:36,800 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:36,833 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:37,000 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-02-20 16:55:37,000 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:37,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:37,000 INFO L85 PathProgramCache]: Analyzing trace with hash 1539543300, now seen corresponding path program 1 times [2022-02-20 16:55:37,001 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:37,001 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [454472578] [2022-02-20 16:55:37,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:37,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:37,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:37,731 INFO L290 TraceCheckUtils]: 0: Hoare triple {5828#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {5828#true} is VALID [2022-02-20 16:55:37,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {5828#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {5828#true} is VALID [2022-02-20 16:55:37,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {5828#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; {5830#(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 16:55:37,732 INFO L290 TraceCheckUtils]: 3: Hoare triple {5830#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (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); {5830#(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 16:55:37,733 INFO L290 TraceCheckUtils]: 4: Hoare triple {5830#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5830#(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 16:55:37,733 INFO L290 TraceCheckUtils]: 5: Hoare triple {5830#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (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); {5830#(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 16:55:37,734 INFO L290 TraceCheckUtils]: 6: Hoare triple {5830#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (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; {5831#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,734 INFO L290 TraceCheckUtils]: 7: Hoare triple {5831#(and (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |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; {5832#(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|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| |ULTIMATE.start_dll_create_~new_head~0#1.offset|))} is VALID [2022-02-20 16:55:37,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {5832#(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|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| |ULTIMATE.start_dll_create_~new_head~0#1.offset|))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5832#(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|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| |ULTIMATE.start_dll_create_~new_head~0#1.offset|))} is VALID [2022-02-20 16:55:37,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {5832#(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|)) (= |ULTIMATE.start_dll_create_~head~0#1.offset| |ULTIMATE.start_dll_create_~new_head~0#1.offset|))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5833#(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 (select |#memory_$Pointer$.offset| |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.offset|))} is VALID [2022-02-20 16:55:37,736 INFO L290 TraceCheckUtils]: 10: Hoare triple {5833#(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 (select |#memory_$Pointer$.offset| |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.offset|))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {5834#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |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.offset|))} is VALID [2022-02-20 16:55:37,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {5834#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select (select |#memory_$Pointer$.offset| |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.offset|))} 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; {5835#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_create_~head~0#1.base|) 4) |ULTIMATE.start_dll_create_~head~0#1.offset|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {5835#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_create_~head~0#1.base|) 4) |ULTIMATE.start_dll_create_~head~0#1.offset|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {5835#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_create_~head~0#1.base|) 4) |ULTIMATE.start_dll_create_~head~0#1.offset|) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {5835#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_create_~head~0#1.base|) 4) |ULTIMATE.start_dll_create_~head~0#1.offset|) (= |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; {5836#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_create_#res#1.base|) 4) |ULTIMATE.start_dll_create_#res#1.offset|) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} is VALID [2022-02-20 16:55:37,738 INFO L290 TraceCheckUtils]: 14: Hoare triple {5836#(and (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_create_#res#1.base|) 4) |ULTIMATE.start_dll_create_#res#1.offset|) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {5837#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {5837#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5838#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,739 INFO L290 TraceCheckUtils]: 16: Hoare triple {5838#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {5838#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,739 INFO L290 TraceCheckUtils]: 17: Hoare triple {5838#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) 4) |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5837#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {5837#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {5837#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {5837#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5839#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (<= |ULTIMATE.start_main_~i~0#1| 1) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,741 INFO L290 TraceCheckUtils]: 20: Hoare triple {5839#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~s~0#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (<= |ULTIMATE.start_main_~i~0#1| 1) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5840#(and (= (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_dll_update_at_~head#1.offset| 0) (= (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,742 INFO L290 TraceCheckUtils]: 21: Hoare triple {5840#(and (= (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_dll_update_at_~head#1.offset| 0) (= (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {5841#(and (or (and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_dll_update_at_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (and (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,742 INFO L290 TraceCheckUtils]: 22: Hoare triple {5841#(and (or (and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_dll_update_at_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (and (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {5841#(and (or (and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_dll_update_at_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (and (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,743 INFO L290 TraceCheckUtils]: 23: Hoare triple {5841#(and (or (and (not (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (= |ULTIMATE.start_dll_update_at_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (and (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,744 INFO L290 TraceCheckUtils]: 24: Hoare triple {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,745 INFO L290 TraceCheckUtils]: 26: Hoare triple {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(main_~i~0#1 < main_~len~0#1); {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {5842#(and (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_~i~0#1 := 0; {5843#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,747 INFO L290 TraceCheckUtils]: 28: Hoare triple {5843#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~s~0#1.base|) |ULTIMATE.start_main_~s~0#1.offset|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5844#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {5844#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_get_data_at_~index#1 > 0); {5844#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,748 INFO L290 TraceCheckUtils]: 30: Hoare triple {5844#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5845#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,749 INFO L290 TraceCheckUtils]: 31: Hoare triple {5845#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5846#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_#t~ret15#1|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,749 INFO L290 TraceCheckUtils]: 32: Hoare triple {5846#(and (= |ULTIMATE.start_main_~i~0#1| 0) (or (and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)))) (<= (+ |ULTIMATE.start_main_~expected~0#1| 1) (+ |ULTIMATE.start_main_~i~0#1| |ULTIMATE.start_main_#t~ret15#1|))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {5847#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {5847#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5848#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:37,751 INFO L290 TraceCheckUtils]: 34: Hoare triple {5848#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4)) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4)) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5849#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) |ULTIMATE.start_main_~expected~0#1|) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0) (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4)))))} is VALID [2022-02-20 16:55:37,751 INFO L290 TraceCheckUtils]: 35: Hoare triple {5849#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) |ULTIMATE.start_main_~expected~0#1|) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0) (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4)))))} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:37,752 INFO L290 TraceCheckUtils]: 36: Hoare triple {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} assume !(dll_get_data_at_~index#1 > 0); {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:37,752 INFO L290 TraceCheckUtils]: 37: Hoare triple {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5851#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} is VALID [2022-02-20 16:55:37,753 INFO L290 TraceCheckUtils]: 38: Hoare triple {5851#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5852#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} is VALID [2022-02-20 16:55:37,753 INFO L290 TraceCheckUtils]: 39: Hoare triple {5852#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {5829#false} is VALID [2022-02-20 16:55:37,753 INFO L290 TraceCheckUtils]: 40: Hoare triple {5829#false} assume !false; {5829#false} is VALID [2022-02-20 16:55:37,753 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 2 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:55:37,754 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:37,754 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [454472578] [2022-02-20 16:55:37,754 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [454472578] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:37,754 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [558499658] [2022-02-20 16:55:37,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:37,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:37,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:37,755 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:37,756 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 16:55:37,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:37,887 INFO L263 TraceCheckSpWp]: Trace formula consists of 302 conjuncts, 85 conjunts are in the unsatisfiable core [2022-02-20 16:55:37,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:37,901 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:37,908 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 16:55:37,975 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:55:37,975 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 16:55:38,019 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,020 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 19 [2022-02-20 16:55:38,061 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:55:38,061 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 23 treesize of output 26 [2022-02-20 16:55:38,301 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,301 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 20 treesize of output 19 [2022-02-20 16:55:38,498 INFO L356 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2022-02-20 16:55:38,499 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 64 treesize of output 61 [2022-02-20 16:55:38,502 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 21 [2022-02-20 16:55:38,504 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:55:38,505 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 34 treesize of output 36 [2022-02-20 16:55:38,842 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 31 treesize of output 19 [2022-02-20 16:55:38,855 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 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 19 treesize of output 11 [2022-02-20 16:55:38,920 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 22 treesize of output 10 [2022-02-20 16:55:39,053 INFO L290 TraceCheckUtils]: 0: Hoare triple {5828#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {5828#true} is VALID [2022-02-20 16:55:39,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {5828#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {5828#true} is VALID [2022-02-20 16:55:39,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {5828#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; {5862#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:55:39,054 INFO L290 TraceCheckUtils]: 3: Hoare triple {5862#(= (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); {5862#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:55:39,055 INFO L290 TraceCheckUtils]: 4: Hoare triple {5862#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5862#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:55:39,055 INFO L290 TraceCheckUtils]: 5: Hoare triple {5862#(= (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); {5862#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:55:39,056 INFO L290 TraceCheckUtils]: 6: Hoare triple {5862#(= (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; {5875#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 16:55:39,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {5875#(= (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; {5879#(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|)))} is VALID [2022-02-20 16:55:39,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {5879#(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|)))} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {5879#(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|)))} is VALID [2022-02-20 16:55:39,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {5879#(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|)))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {5886#(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|)))} is VALID [2022-02-20 16:55:39,058 INFO L290 TraceCheckUtils]: 10: Hoare triple {5886#(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|)))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {5890#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (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|)))} is VALID [2022-02-20 16:55:39,059 INFO L290 TraceCheckUtils]: 11: Hoare triple {5890#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (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|)))} 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; {5894#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {5894#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {5894#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {5894#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) 4))) (= |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; {5901#(and (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} is VALID [2022-02-20 16:55:39,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {5901#(and (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) 4))) (= |ULTIMATE.start_dll_create_#res#1.offset| 0))} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {5905#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {5905#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5909#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_dll_update_at_~head#1.offset| |ULTIMATE.start_main_~s~0#1.offset|) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,061 INFO L290 TraceCheckUtils]: 16: Hoare triple {5909#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_dll_update_at_~head#1.offset| |ULTIMATE.start_main_~s~0#1.offset|) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {5909#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_dll_update_at_~head#1.offset| |ULTIMATE.start_main_~s~0#1.offset|) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {5909#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_dll_update_at_~head#1.offset| |ULTIMATE.start_main_~s~0#1.offset|) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5905#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,062 INFO L290 TraceCheckUtils]: 18: Hoare triple {5905#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {5905#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {5905#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5922#(and (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,063 INFO L290 TraceCheckUtils]: 20: Hoare triple {5922#(and (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {5926#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {5926#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {5930#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {5930#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_update_at_~index#1 > 0); {5930#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,065 INFO L290 TraceCheckUtils]: 23: Hoare triple {5930#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,066 INFO L290 TraceCheckUtils]: 24: Hoare triple {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume { :end_inline_dll_update_at } true; {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,066 INFO L290 TraceCheckUtils]: 25: Hoare triple {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(main_~i~0#1 < main_~len~0#1); {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {5937#(and (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_~i~0#1 := 0; {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,068 INFO L290 TraceCheckUtils]: 28: Hoare triple {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,068 INFO L290 TraceCheckUtils]: 29: Hoare triple {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(dll_get_data_at_~index#1 > 0); {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,069 INFO L290 TraceCheckUtils]: 31: Hoare triple {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,070 INFO L290 TraceCheckUtils]: 32: Hoare triple {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,070 INFO L290 TraceCheckUtils]: 33: Hoare triple {5950#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {5969#(and (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} is VALID [2022-02-20 16:55:39,071 INFO L290 TraceCheckUtils]: 34: Hoare triple {5969#(and (= 0 (+ (- 1) |ULTIMATE.start_main_~i~0#1|)) (not (= |ULTIMATE.start_main_~s~0#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) 4))) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (= |ULTIMATE.start_main_~s~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {5973#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) |ULTIMATE.start_main_~expected~0#1|) (not (= |ULTIMATE.start_dll_get_data_at_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) 4))) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0))} is VALID [2022-02-20 16:55:39,072 INFO L290 TraceCheckUtils]: 35: Hoare triple {5973#(and (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) |ULTIMATE.start_main_~expected~0#1|) (not (= |ULTIMATE.start_dll_get_data_at_~head#1.base| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) 4))) (= |ULTIMATE.start_dll_get_data_at_~head#1.offset| 0))} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:39,072 INFO L290 TraceCheckUtils]: 36: Hoare triple {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} assume !(dll_get_data_at_~index#1 > 0); {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:39,073 INFO L290 TraceCheckUtils]: 37: Hoare triple {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5851#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} is VALID [2022-02-20 16:55:39,073 INFO L290 TraceCheckUtils]: 38: Hoare triple {5851#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5852#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} is VALID [2022-02-20 16:55:39,074 INFO L290 TraceCheckUtils]: 39: Hoare triple {5852#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {5829#false} is VALID [2022-02-20 16:55:39,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {5829#false} assume !false; {5829#false} is VALID [2022-02-20 16:55:39,074 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 2 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:55:39,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:39,448 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 86 treesize of output 64 [2022-02-20 16:55:39,469 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 86 treesize of output 64 [2022-02-20 16:55:39,489 WARN L838 $PredicateComparison]: unable to prove that (let ((.cse0 (+ |c_ULTIMATE.start_main_~len~0#1| 1))) (and (forall ((v_ArrVal_1181 (Array Int Int))) (= |c_ULTIMATE.start_dll_update_at_~head#1.offset| (select (select (store |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1181) |c_ULTIMATE.start_main_~s~0#1.base|) (+ |c_ULTIMATE.start_main_~s~0#1.offset| 4)))) (<= |c_ULTIMATE.start_dll_update_at_~data#1| .cse0) (<= .cse0 |c_ULTIMATE.start_dll_update_at_~data#1|) (forall ((v_ArrVal_1179 (Array Int Int))) (= (select (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1179) |c_ULTIMATE.start_main_~s~0#1.base|) (+ |c_ULTIMATE.start_main_~s~0#1.offset| 4)) |c_ULTIMATE.start_dll_update_at_~head#1.base|)))) is different from false [2022-02-20 16:55:39,529 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:55:39,530 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 50 treesize of output 47 [2022-02-20 16:55:39,534 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 17 treesize of output 13 [2022-02-20 16:55:41,938 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (and (<= |c_ULTIMATE.start_main_~i~0#1| 0) (forall ((v_ArrVal_1176 Int)) (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~s~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_main_~s~0#1.offset| 4)) |c_ULTIMATE.start_main_~s~0#1.base|))) (<= 0 |c_ULTIMATE.start_main_~i~0#1|)) (< |c_ULTIMATE.start_main_~s~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|))) is different from false [2022-02-20 16:55:43,996 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (< |c_ULTIMATE.start_dll_create_#res#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|) (forall ((v_ArrVal_1176 Int)) (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_#res#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_#res#1.offset| 4)) |c_ULTIMATE.start_dll_create_#res#1.base|))))) is different from false [2022-02-20 16:55:44,316 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_~head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~head~0#1.base|)) (< |c_ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|))) is different from false [2022-02-20 16:55:44,686 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (< |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|) (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|)))) is different from false [2022-02-20 16:55:44,751 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1176 Int) (v_ArrVal_1175 (Array Int Int)) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (< |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|) (not (= (select (store (select (store |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1175) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|)))) is different from false [2022-02-20 16:55:44,833 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:55:44,836 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 16:55:44,837 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 1 new quantified variables, introduced 2 case distinctions, treesize of input 31 treesize of output 37 [2022-02-20 16:55:44,863 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 45 treesize of output 41 [2022-02-20 16:55:44,874 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:55:44,877 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 38 treesize of output 30 [2022-02-20 16:55:44,897 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 16:55:44,899 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 8 treesize of output 4 [2022-02-20 16:55:45,019 INFO L290 TraceCheckUtils]: 40: Hoare triple {5829#false} assume !false; {5829#false} is VALID [2022-02-20 16:55:45,019 INFO L290 TraceCheckUtils]: 39: Hoare triple {5852#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {5829#false} is VALID [2022-02-20 16:55:45,020 INFO L290 TraceCheckUtils]: 38: Hoare triple {5851#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {5852#(and (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_main_#t~ret15#1|) (< |ULTIMATE.start_main_#t~ret15#1| (+ |ULTIMATE.start_main_~expected~0#1| 1)))} is VALID [2022-02-20 16:55:45,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {5851#(and (<= |ULTIMATE.start_dll_get_data_at_#res#1| |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| |ULTIMATE.start_dll_get_data_at_#res#1|))} is VALID [2022-02-20 16:55:45,021 INFO L290 TraceCheckUtils]: 36: Hoare triple {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} assume !(dll_get_data_at_~index#1 > 0); {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:45,021 INFO L290 TraceCheckUtils]: 35: Hoare triple {6007#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4)))))} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {5850#(and (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|)) (<= (select (select |#memory_int| |ULTIMATE.start_dll_get_data_at_~head#1.base|) |ULTIMATE.start_dll_get_data_at_~head#1.offset|) |ULTIMATE.start_main_~expected~0#1|))} is VALID [2022-02-20 16:55:45,022 INFO L290 TraceCheckUtils]: 34: Hoare triple {6011#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6007#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) |ULTIMATE.start_main_~expected~0#1|) (<= |ULTIMATE.start_main_~expected~0#1| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_dll_get_data_at_~head#1.base|) (+ |ULTIMATE.start_dll_get_data_at_~head#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6011#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1|) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,024 INFO L290 TraceCheckUtils]: 31: Hoare triple {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,024 INFO L290 TraceCheckUtils]: 30: Hoare triple {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,025 INFO L290 TraceCheckUtils]: 29: Hoare triple {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume !(dll_get_data_at_~index#1 > 0); {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,025 INFO L290 TraceCheckUtils]: 28: Hoare triple {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,026 INFO L290 TraceCheckUtils]: 27: Hoare triple {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} main_~i~0#1 := 0; {6015#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| |ULTIMATE.start_main_~i~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume !(main_~i~0#1 < main_~len~0#1); {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,026 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,027 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume { :end_inline_dll_update_at } true; {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {6047#(and (forall ((v_ArrVal_1179 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1179) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (forall ((v_ArrVal_1181 (Array Int Int))) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1181) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6034#(and (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4))) (select (select |#memory_$Pointer$.offset| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {6047#(and (forall ((v_ArrVal_1179 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1179) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (forall ((v_ArrVal_1181 (Array Int Int))) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1181) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} assume !(dll_update_at_~index#1 > 0); {6047#(and (forall ((v_ArrVal_1179 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1179) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (forall ((v_ArrVal_1181 (Array Int Int))) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1181) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {6054#(and (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {6047#(and (forall ((v_ArrVal_1179 (Array Int Int))) (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1179) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_dll_update_at_~head#1.base|)) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (forall ((v_ArrVal_1181 (Array Int Int))) (= |ULTIMATE.start_dll_update_at_~head#1.offset| (select (select (store |#memory_$Pointer$.offset| |ULTIMATE.start_dll_update_at_~head#1.base| v_ArrVal_1181) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)))))} is VALID [2022-02-20 16:55:45,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {6058#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6054#(and (= |ULTIMATE.start_main_~s~0#1.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (<= |ULTIMATE.start_dll_update_at_~data#1| (+ |ULTIMATE.start_main_~len~0#1| 1)) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) (+ |ULTIMATE.start_dll_update_at_~head#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= (+ |ULTIMATE.start_main_~len~0#1| 1) |ULTIMATE.start_dll_update_at_~data#1|) (= |ULTIMATE.start_main_~s~0#1.offset| |ULTIMATE.start_dll_update_at_~head#1.offset|))} is VALID [2022-02-20 16:55:45,031 INFO L290 TraceCheckUtils]: 19: Hoare triple {6062#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|))} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6058#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 16:55:45,031 INFO L290 TraceCheckUtils]: 18: Hoare triple {6062#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume { :end_inline_dll_update_at } true; {6062#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:45,032 INFO L290 TraceCheckUtils]: 17: Hoare triple {6069#(and (forall ((v_ArrVal_1176 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_1176)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6062#(and (<= |ULTIMATE.start_main_~i~0#1| 0) (not (= (select (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|)) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:45,032 INFO L290 TraceCheckUtils]: 16: Hoare triple {6069#(and (forall ((v_ArrVal_1176 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_1176)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !(dll_update_at_~index#1 > 0); {6069#(and (forall ((v_ArrVal_1176 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_1176)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:45,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {6076#(forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (and (<= |ULTIMATE.start_main_~i~0#1| 0) (forall ((v_ArrVal_1176 Int)) (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= 0 |ULTIMATE.start_main_~i~0#1|)) (< |ULTIMATE.start_main_~s~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6069#(and (forall ((v_ArrVal_1176 Int)) (not (= (select (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base| (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_update_at_~head#1.base|) |ULTIMATE.start_dll_update_at_~head#1.offset| v_ArrVal_1176)) |ULTIMATE.start_main_~s~0#1.base|) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} is VALID [2022-02-20 16:55:45,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {6080#(forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (forall ((v_ArrVal_1176 Int)) (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_#res#1.offset| 4))))) (< |ULTIMATE.start_dll_create_#res#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {6076#(forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (and (<= |ULTIMATE.start_main_~i~0#1| 0) (forall ((v_ArrVal_1176 Int)) (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_main_~s~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_main_~s~0#1.offset| 4)) |ULTIMATE.start_main_~s~0#1.base|))) (<= 0 |ULTIMATE.start_main_~i~0#1|)) (< |ULTIMATE.start_main_~s~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} is VALID [2022-02-20 16:55:45,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {6084#(forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))) (< |ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {6080#(forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (forall ((v_ArrVal_1176 Int)) (not (= |ULTIMATE.start_dll_create_#res#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_#res#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_#res#1.offset| 4))))) (< |ULTIMATE.start_dll_create_#res#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} is VALID [2022-02-20 16:55:45,037 INFO L290 TraceCheckUtils]: 12: Hoare triple {6084#(forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))) (< |ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} assume !(dll_create_~len#1 > 0); {6084#(forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))) (< |ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} is VALID [2022-02-20 16:55:45,038 INFO L290 TraceCheckUtils]: 11: Hoare triple {6091#(forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (< |ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} 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; {6084#(forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= |ULTIMATE.start_dll_create_~head~0#1.base| (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 4)))) (< |ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} is VALID [2022-02-20 16:55:45,039 WARN L290 TraceCheckUtils]: 10: Hoare triple {6095#(forall ((v_ArrVal_1176 Int) (v_ArrVal_1175 (Array Int Int)) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| (select (store (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1175) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)))) (< |ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {6091#(forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= (select (store (select |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (< |ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} is UNKNOWN [2022-02-20 16:55:45,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {6099#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6095#(forall ((v_ArrVal_1176 Int) (v_ArrVal_1175 (Array Int Int)) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= |ULTIMATE.start_dll_create_~new_head~0#1.base| (select (store (select (store |#memory_$Pointer$.base| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1175) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)))) (< |ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))} is VALID [2022-02-20 16:55:45,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {6099#(not (= |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); {6099#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:55:45,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {6106#(not (= (select |#valid| |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; {6099#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:55:45,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {6110#(not (= (select |#valid| |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; {6106#(not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 0))} is VALID [2022-02-20 16:55:45,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {6110#(not (= (select |#valid| |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); {6110#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:55:45,042 INFO L290 TraceCheckUtils]: 4: Hoare triple {6110#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6110#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:55:45,043 INFO L290 TraceCheckUtils]: 3: Hoare triple {6110#(not (= (select |#valid| |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); {6110#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:55:45,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {5828#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; {6110#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:55:45,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {5828#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {5828#true} is VALID [2022-02-20 16:55:45,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {5828#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {5828#true} is VALID [2022-02-20 16:55:45,044 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 2 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 8 not checked. [2022-02-20 16:55:45,044 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [558499658] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:45,044 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:45,044 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25, 21, 22] total 58 [2022-02-20 16:55:45,044 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1270948195] [2022-02-20 16:55:45,044 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:45,045 INFO L78 Accepts]: Start accepts. Automaton has has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 41 [2022-02-20 16:55:45,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:45,045 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 16:55:45,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:45,140 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 58 states [2022-02-20 16:55:45,140 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:45,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 58 interpolants. [2022-02-20 16:55:45,141 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=170, Invalid=2500, Unknown=6, NotChecked=630, Total=3306 [2022-02-20 16:55:45,141 INFO L87 Difference]: Start difference. First operand 42 states and 42 transitions. Second operand has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 16:55:46,160 WARN L838 $PredicateComparison]: unable to prove that (let ((.cse0 (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4))) (and (= |c_ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select |c_#valid| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) 1) (forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (< |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|) (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|)))) (= (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) .cse0) |c_ULTIMATE.start_dll_create_~head~0#1.base|) (not (= |c_ULTIMATE.start_dll_create_~new_head~0#1.base| |c_ULTIMATE.start_dll_create_~head~0#1.base|)) (= (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) .cse0) |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) (= (select |c_#valid| |c_ULTIMATE.start_dll_create_~head~0#1.base|) 1) (= |c_ULTIMATE.start_dll_create_~head~0#1.offset| |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|))) is different from false [2022-02-20 16:55:46,428 WARN L838 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_dll_create_~head~0#1.offset| 0) (forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_~head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~head~0#1.base|)) (< |c_ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|))) (= |c_ULTIMATE.start_dll_create_~head~0#1.offset| (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_dll_create_~head~0#1.base|) 4)) (not (= (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base|) 4) |c_ULTIMATE.start_dll_create_~head~0#1.base|)) (= (select |c_#valid| |c_ULTIMATE.start_dll_create_~head~0#1.base|) 1)) is different from false [2022-02-20 16:55:46,695 WARN L838 $PredicateComparison]: unable to prove that (and (= |c_ULTIMATE.start_dll_create_~head~0#1.offset| 0) (forall ((v_ArrVal_1176 Int) (|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_~head~0#1.offset| 4)) |c_ULTIMATE.start_dll_create_~head~0#1.base|)) (< |c_ULTIMATE.start_dll_create_~head~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|))) (= |c_ULTIMATE.start_dll_create_~head~0#1.offset| (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_dll_create_~head~0#1.base|) 4)) (not (= (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_~head~0#1.base|) 4) |c_ULTIMATE.start_dll_create_~head~0#1.base|))) is different from false [2022-02-20 16:55:46,963 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (< |c_ULTIMATE.start_dll_create_#res#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|) (forall ((v_ArrVal_1176 Int)) (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_#res#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_dll_create_#res#1.offset| 4)) |c_ULTIMATE.start_dll_create_#res#1.base|))))) (not (= (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_dll_create_#res#1.base|) 4) |c_ULTIMATE.start_dll_create_#res#1.base|)) (= |c_ULTIMATE.start_dll_create_#res#1.offset| (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_dll_create_#res#1.base|) 4)) (= |c_ULTIMATE.start_dll_create_#res#1.offset| 0)) is different from false [2022-02-20 16:55:47,233 WARN L838 $PredicateComparison]: unable to prove that (and (not (= |c_ULTIMATE.start_main_~s~0#1.base| (select (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~s~0#1.base|) 4))) (= |c_ULTIMATE.start_main_~s~0#1.offset| (select (select |c_#memory_$Pointer$.offset| |c_ULTIMATE.start_main_~s~0#1.base|) 4)) (= |c_ULTIMATE.start_main_~i~0#1| 0) (= |c_ULTIMATE.start_main_~s~0#1.offset| 0) (forall ((|v_ULTIMATE.start_dll_update_at_~head#1.offset_23| Int)) (or (and (<= |c_ULTIMATE.start_main_~i~0#1| 0) (forall ((v_ArrVal_1176 Int)) (not (= (select (store (select |c_#memory_$Pointer$.base| |c_ULTIMATE.start_main_~s~0#1.base|) |v_ULTIMATE.start_dll_update_at_~head#1.offset_23| v_ArrVal_1176) (+ |c_ULTIMATE.start_main_~s~0#1.offset| 4)) |c_ULTIMATE.start_main_~s~0#1.base|))) (<= 0 |c_ULTIMATE.start_main_~i~0#1|)) (< |c_ULTIMATE.start_main_~s~0#1.offset| |v_ULTIMATE.start_dll_update_at_~head#1.offset_23|)))) is different from false [2022-02-20 16:55:48,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:48,749 INFO L93 Difference]: Finished difference Result 48 states and 48 transitions. [2022-02-20 16:55:48,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-02-20 16:55:48,750 INFO L78 Accepts]: Start accepts. Automaton has has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 41 [2022-02-20 16:55:48,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:48,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 16:55:48,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 48 transitions. [2022-02-20 16:55:48,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 16:55:48,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 48 transitions. [2022-02-20 16:55:48,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 48 transitions. [2022-02-20 16:55:48,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 47 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:48,824 INFO L225 Difference]: With dead ends: 48 [2022-02-20 16:55:48,824 INFO L226 Difference]: Without dead ends: 43 [2022-02-20 16:55:48,826 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 47 SyntacticMatches, 4 SemanticMatches, 72 ConstructedPredicates, 11 IntricatePredicates, 0 DeprecatedPredicates, 633 ImplicationChecksByTransitivity, 7.6s TimeCoverageRelationStatistics Valid=300, Invalid=3639, Unknown=11, NotChecked=1452, Total=5402 [2022-02-20 16:55:48,827 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 59 mSDsluCounter, 447 mSDsCounter, 0 mSdLazyCounter, 780 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 463 SdHoareTripleChecker+Invalid, 1041 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 780 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 235 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:48,827 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [59 Valid, 463 Invalid, 1041 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 780 Invalid, 0 Unknown, 235 Unchecked, 0.7s Time] [2022-02-20 16:55:48,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-02-20 16:55:48,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2022-02-20 16:55:48,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:48,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 43 states, 42 states have (on average 1.0238095238095237) internal successors, (43), 42 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:48,917 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 43 states, 42 states have (on average 1.0238095238095237) internal successors, (43), 42 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:48,918 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 43 states, 42 states have (on average 1.0238095238095237) internal successors, (43), 42 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:48,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:48,918 INFO L93 Difference]: Finished difference Result 43 states and 43 transitions. [2022-02-20 16:55:48,918 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 43 transitions. [2022-02-20 16:55:48,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:48,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:48,919 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 42 states have (on average 1.0238095238095237) internal successors, (43), 42 states have internal predecessors, (43), 0 states have call successors, (0), 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 43 states. [2022-02-20 16:55:48,919 INFO L87 Difference]: Start difference. First operand has 43 states, 42 states have (on average 1.0238095238095237) internal successors, (43), 42 states have internal predecessors, (43), 0 states have call successors, (0), 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 43 states. [2022-02-20 16:55:48,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:48,919 INFO L93 Difference]: Finished difference Result 43 states and 43 transitions. [2022-02-20 16:55:48,919 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 43 transitions. [2022-02-20 16:55:48,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:48,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:48,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:48,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:48,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 42 states have (on average 1.0238095238095237) internal successors, (43), 42 states have internal predecessors, (43), 0 states have call successors, (0), 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 16:55:48,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 43 transitions. [2022-02-20 16:55:48,920 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 43 transitions. Word has length 41 [2022-02-20 16:55:48,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:48,921 INFO L470 AbstractCegarLoop]: Abstraction has 43 states and 43 transitions. [2022-02-20 16:55:48,921 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 58 states, 58 states have (on average 1.8793103448275863) internal successors, (109), 58 states have internal predecessors, (109), 0 states have call successors, (0), 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 16:55:48,921 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 43 transitions. [2022-02-20 16:55:48,921 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 16:55:48,921 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:55:48,921 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:55:48,939 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-02-20 16:55:49,135 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-02-20 16:55:49,135 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:55:49,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:55:49,136 INFO L85 PathProgramCache]: Analyzing trace with hash 532856157, now seen corresponding path program 2 times [2022-02-20 16:55:49,136 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:55:49,136 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1165822016] [2022-02-20 16:55:49,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:55:49,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:55:49,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 0: Hoare triple {6378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {6378#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {6378#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; {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {6378#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 4: Hoare triple {6378#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {6378#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 6: Hoare triple {6378#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; {6378#true} is VALID [2022-02-20 16:55:49,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {6378#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; {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {6378#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {6378#true} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 10: Hoare triple {6378#true} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {6378#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; {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {6378#true} assume !(dll_create_~len#1 > 0); {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {6378#true} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {6378#true} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {6378#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6378#true} is VALID [2022-02-20 16:55:49,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {6378#true} assume !(dll_update_at_~index#1 > 0); {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {6378#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {6378#true} assume { :end_inline_dll_update_at } true; {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {6378#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {6378#true} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 21: Hoare triple {6378#true} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 22: Hoare triple {6378#true} assume !(dll_update_at_~index#1 > 0); {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 23: Hoare triple {6378#true} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 24: Hoare triple {6378#true} assume { :end_inline_dll_update_at } true; {6378#true} is VALID [2022-02-20 16:55:49,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {6378#true} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6378#true} is VALID [2022-02-20 16:55:49,216 INFO L290 TraceCheckUtils]: 26: Hoare triple {6378#true} assume !(main_~i~0#1 < main_~len~0#1); {6378#true} is VALID [2022-02-20 16:55:49,216 INFO L290 TraceCheckUtils]: 27: Hoare triple {6378#true} main_~i~0#1 := 0; {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:49,216 INFO L290 TraceCheckUtils]: 28: Hoare triple {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:49,216 INFO L290 TraceCheckUtils]: 29: Hoare triple {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !(dll_get_data_at_~index#1 > 0); {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:49,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:49,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:49,217 INFO L290 TraceCheckUtils]: 32: Hoare triple {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} is VALID [2022-02-20 16:55:49,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {6380#(= |ULTIMATE.start_main_~i~0#1| 0)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6381#(<= |ULTIMATE.start_main_~i~0#1| 1)} is VALID [2022-02-20 16:55:49,218 INFO L290 TraceCheckUtils]: 34: Hoare triple {6381#(<= |ULTIMATE.start_main_~i~0#1| 1)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6382#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 1)} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {6382#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 1)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {6383#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {6383#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {6379#false} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 37: Hoare triple {6379#false} assume !(dll_get_data_at_~index#1 > 0); {6379#false} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 38: Hoare triple {6379#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6379#false} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {6379#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6379#false} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 40: Hoare triple {6379#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {6379#false} is VALID [2022-02-20 16:55:49,219 INFO L290 TraceCheckUtils]: 41: Hoare triple {6379#false} assume !false; {6379#false} is VALID [2022-02-20 16:55:49,220 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 16:55:49,220 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:55:49,220 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1165822016] [2022-02-20 16:55:49,220 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1165822016] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:55:49,220 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1884948977] [2022-02-20 16:55:49,220 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:55:49,221 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:55:49,221 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:55:49,236 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 16:55:49,256 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-02-20 16:55:49,408 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:55:49,408 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:55:49,409 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 16:55:49,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:55:49,422 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:55:49,594 INFO L290 TraceCheckUtils]: 0: Hoare triple {6378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {6378#true} is VALID [2022-02-20 16:55:49,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {6378#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,596 INFO L290 TraceCheckUtils]: 3: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,596 INFO L290 TraceCheckUtils]: 4: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,596 INFO L290 TraceCheckUtils]: 5: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,597 INFO L290 TraceCheckUtils]: 6: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,597 INFO L290 TraceCheckUtils]: 7: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,597 INFO L290 TraceCheckUtils]: 8: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,598 INFO L290 TraceCheckUtils]: 10: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,598 INFO L290 TraceCheckUtils]: 11: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,599 INFO L290 TraceCheckUtils]: 12: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~len#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,600 INFO L290 TraceCheckUtils]: 15: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,600 INFO L290 TraceCheckUtils]: 16: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_update_at_~index#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,600 INFO L290 TraceCheckUtils]: 17: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,601 INFO L290 TraceCheckUtils]: 18: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume { :end_inline_dll_update_at } true; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,601 INFO L290 TraceCheckUtils]: 19: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,601 INFO L290 TraceCheckUtils]: 20: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,602 INFO L290 TraceCheckUtils]: 21: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,602 INFO L290 TraceCheckUtils]: 22: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_update_at_~index#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,603 INFO L290 TraceCheckUtils]: 24: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume { :end_inline_dll_update_at } true; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(main_~i~0#1 < main_~len~0#1); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_~i~0#1 := 0; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,604 INFO L290 TraceCheckUtils]: 28: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,604 INFO L290 TraceCheckUtils]: 29: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_get_data_at_~index#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,604 INFO L290 TraceCheckUtils]: 30: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,605 INFO L290 TraceCheckUtils]: 31: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,605 INFO L290 TraceCheckUtils]: 32: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,605 INFO L290 TraceCheckUtils]: 33: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,606 INFO L290 TraceCheckUtils]: 34: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6382#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 1)} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {6382#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 1)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {6383#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {6383#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {6379#false} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {6379#false} assume !(dll_get_data_at_~index#1 > 0); {6379#false} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 38: Hoare triple {6379#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6379#false} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 39: Hoare triple {6379#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6379#false} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {6379#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {6379#false} is VALID [2022-02-20 16:55:49,607 INFO L290 TraceCheckUtils]: 41: Hoare triple {6379#false} assume !false; {6379#false} is VALID [2022-02-20 16:55:49,608 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-02-20 16:55:49,608 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:55:49,786 INFO L290 TraceCheckUtils]: 41: Hoare triple {6379#false} assume !false; {6379#false} is VALID [2022-02-20 16:55:49,786 INFO L290 TraceCheckUtils]: 40: Hoare triple {6379#false} assume main_~expected~0#1 != main_#t~ret15#1;havoc main_#t~ret15#1; {6379#false} is VALID [2022-02-20 16:55:49,786 INFO L290 TraceCheckUtils]: 39: Hoare triple {6379#false} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6379#false} is VALID [2022-02-20 16:55:49,786 INFO L290 TraceCheckUtils]: 38: Hoare triple {6379#false} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6379#false} is VALID [2022-02-20 16:55:49,786 INFO L290 TraceCheckUtils]: 37: Hoare triple {6379#false} assume !(dll_get_data_at_~index#1 > 0); {6379#false} is VALID [2022-02-20 16:55:49,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {6383#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {6379#false} is VALID [2022-02-20 16:55:49,787 INFO L290 TraceCheckUtils]: 35: Hoare triple {6382#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 1)} assume !!(dll_get_data_at_~index#1 > 0);call dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset := read~$Pointer$(dll_get_data_at_~head#1.base, 4 + dll_get_data_at_~head#1.offset, 4);dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset;dll_get_data_at_#t~post8#1 := dll_get_data_at_~index#1;dll_get_data_at_~index#1 := dll_get_data_at_#t~post8#1 - 1;havoc dll_get_data_at_#t~post8#1; {6383#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 0)} is VALID [2022-02-20 16:55:49,788 INFO L290 TraceCheckUtils]: 34: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6382#(<= |ULTIMATE.start_dll_get_data_at_~index#1| 1)} is VALID [2022-02-20 16:55:49,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~post14#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post14#1;havoc main_#t~post14#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(main_~expected~0#1 != main_#t~ret15#1);havoc main_#t~ret15#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,789 INFO L290 TraceCheckUtils]: 31: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~ret15#1 := dll_get_data_at_#res#1;assume { :end_inline_dll_get_data_at } true;assume -2147483648 <= main_#t~ret15#1 && main_#t~ret15#1 <= 2147483647; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,789 INFO L290 TraceCheckUtils]: 30: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call dll_get_data_at_#t~mem9#1 := read~int(dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, 4);dll_get_data_at_#res#1 := dll_get_data_at_#t~mem9#1;havoc dll_get_data_at_#t~mem9#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,789 INFO L290 TraceCheckUtils]: 29: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_get_data_at_~index#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,790 INFO L290 TraceCheckUtils]: 28: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~expected~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_get_data_at } true;dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset, dll_get_data_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;havoc dll_get_data_at_#res#1;havoc dll_get_data_at_#t~mem7#1.base, dll_get_data_at_#t~mem7#1.offset, dll_get_data_at_#t~post8#1, dll_get_data_at_#t~mem9#1, dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset, dll_get_data_at_~index#1;dll_get_data_at_~head#1.base, dll_get_data_at_~head#1.offset := dll_get_data_at_#in~head#1.base, dll_get_data_at_#in~head#1.offset;dll_get_data_at_~index#1 := dll_get_data_at_#in~index#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,790 INFO L290 TraceCheckUtils]: 27: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_~i~0#1 := 0; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(main_~i~0#1 < main_~len~0#1); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,791 INFO L290 TraceCheckUtils]: 24: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume { :end_inline_dll_update_at } true; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,792 INFO L290 TraceCheckUtils]: 23: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,792 INFO L290 TraceCheckUtils]: 22: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_update_at_~index#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,792 INFO L290 TraceCheckUtils]: 21: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(dll_update_at_~index#1 > 0);call dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset := read~$Pointer$(dll_update_at_~head#1.base, 4 + dll_update_at_~head#1.offset, 4);dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset;dll_update_at_#t~post11#1 := dll_update_at_~index#1;dll_update_at_~index#1 := dll_update_at_#t~post11#1 - 1;havoc dll_update_at_#t~post11#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,793 INFO L290 TraceCheckUtils]: 19: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~post13#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post13#1;havoc main_#t~post13#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,793 INFO L290 TraceCheckUtils]: 18: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume { :end_inline_dll_update_at } true; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,794 INFO L290 TraceCheckUtils]: 17: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_update_at_~data#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,794 INFO L290 TraceCheckUtils]: 16: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_update_at_~index#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,794 INFO L290 TraceCheckUtils]: 15: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !!(main_~i~0#1 < main_~len~0#1);main_~new_data~0#1 := main_~i~0#1 + main_~len~0#1;assume { :begin_inline_dll_update_at } true;dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset, dll_update_at_#in~data#1, dll_update_at_#in~index#1 := main_~s~0#1.base, main_~s~0#1.offset, main_~new_data~0#1, main_~i~0#1;havoc dll_update_at_#t~mem10#1.base, dll_update_at_#t~mem10#1.offset, dll_update_at_#t~post11#1, dll_update_at_~head#1.base, dll_update_at_~head#1.offset, dll_update_at_~data#1, dll_update_at_~index#1;dll_update_at_~head#1.base, dll_update_at_~head#1.offset := dll_update_at_#in~head#1.base, dll_update_at_#in~head#1.offset;dll_update_at_~data#1 := dll_update_at_#in~data#1;dll_update_at_~index#1 := dll_update_at_#in~index#1; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,795 INFO L290 TraceCheckUtils]: 14: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} main_#t~ret12#1.base, main_#t~ret12#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~s~0#1.base, main_~s~0#1.offset := main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset;havoc main_~i~0#1;main_~i~0#1 := 0; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,795 INFO L290 TraceCheckUtils]: 13: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,795 INFO L290 TraceCheckUtils]: 12: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~len#1 > 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,796 INFO L290 TraceCheckUtils]: 11: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,796 INFO L290 TraceCheckUtils]: 10: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0;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); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,796 INFO L290 TraceCheckUtils]: 9: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,796 INFO L290 TraceCheckUtils]: 8: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,797 INFO L290 TraceCheckUtils]: 6: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,798 INFO L290 TraceCheckUtils]: 4: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} call write~int(dll_create_~data#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);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);call write~$Pointer$(0, 0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,798 INFO L290 TraceCheckUtils]: 3: Hoare triple {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,798 INFO L290 TraceCheckUtils]: 2: Hoare triple {6390#(<= |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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {6378#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret12#1.base, main_#t~ret12#1.offset, main_#t~post13#1, main_~new_data~0#1, main_#t~ret15#1, main_#t~post14#1, main_~expected~0#1, main_~len~0#1, main_~data~0#1, main_~s~0#1.base, main_~s~0#1.offset, main_~i~0#1;main_~len~0#1 := 2;main_~data~0#1 := 1;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; {6390#(<= |ULTIMATE.start_main_~len~0#1| 2)} is VALID [2022-02-20 16:55:49,799 INFO L290 TraceCheckUtils]: 0: Hoare triple {6378#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2); {6378#true} is VALID [2022-02-20 16:55:49,799 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 7 proven. 2 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-02-20 16:55:49,799 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1884948977] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:55:49,799 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:55:49,799 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 7 [2022-02-20 16:55:49,800 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [855738839] [2022-02-20 16:55:49,800 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:55:49,800 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 42 [2022-02-20 16:55:49,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:55:49,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 16:55:49,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:49,841 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:55:49,841 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:55:49,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:55:49,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:55:49,842 INFO L87 Difference]: Start difference. First operand 43 states and 43 transitions. Second operand has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 16:55:50,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:50,011 INFO L93 Difference]: Finished difference Result 43 states and 43 transitions. [2022-02-20 16:55:50,011 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:55:50,012 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 42 [2022-02-20 16:55:50,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:55:50,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 16:55:50,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 39 transitions. [2022-02-20 16:55:50,012 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 16:55:50,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 39 transitions. [2022-02-20 16:55:50,012 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 39 transitions. [2022-02-20 16:55:50,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:55:50,039 INFO L225 Difference]: With dead ends: 43 [2022-02-20 16:55:50,039 INFO L226 Difference]: Without dead ends: 0 [2022-02-20 16:55:50,039 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 82 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=48, Invalid=84, Unknown=0, NotChecked=0, Total=132 [2022-02-20 16:55:50,040 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 26 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:55:50,040 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 49 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:55:50,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-02-20 16:55:50,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-02-20 16:55:50,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:55:50,040 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:55:50,040 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:55:50,040 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:55:50,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:50,040 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 16:55:50,040 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 16:55:50,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:50,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:50,041 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 16:55:50,041 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-02-20 16:55:50,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:55:50,041 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-02-20 16:55:50,041 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 16:55:50,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:50,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:55:50,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:55:50,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:55:50,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 16:55:50,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-02-20 16:55:50,041 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 42 [2022-02-20 16:55:50,041 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:55:50,041 INFO L470 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-02-20 16:55:50,042 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 8.285714285714286) internal successors, (58), 7 states have internal predecessors, (58), 0 states have call successors, (0), 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 16:55:50,042 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-02-20 16:55:50,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:55:50,043 INFO L764 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 16:55:50,061 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-02-20 16:55:50,251 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-20 16:55:50,253 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-02-20 16:56:24,170 WARN L228 SmtUtils]: Spent 32.62s on a formula simplification. DAG size of input: 112 DAG size of output: 88 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter)