./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/list-ext3-properties/dll_nullified-1.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-ext3-properties/dll_nullified-1.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 7887c90df48e0e32a16c0ae4217eb11a41b3b1af1e02493e847dc25239198c19 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 16:57:53,114 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 16:57:53,140 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 16:57:53,179 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 16:57:53,179 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 16:57:53,180 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 16:57:53,181 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 16:57:53,182 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 16:57:53,183 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 16:57:53,184 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 16:57:53,184 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 16:57:53,185 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 16:57:53,186 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 16:57:53,188 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 16:57:53,189 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 16:57:53,190 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 16:57:53,192 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 16:57:53,194 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 16:57:53,195 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 16:57:53,196 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 16:57:53,197 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 16:57:53,201 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 16:57:53,202 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 16:57:53,202 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 16:57:53,204 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 16:57:53,206 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 16:57:53,206 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 16:57:53,207 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 16:57:53,207 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 16:57:53,208 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 16:57:53,210 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 16:57:53,211 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 16:57:53,211 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 16:57:53,212 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 16:57:53,213 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 16:57:53,213 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 16:57:53,214 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 16:57:53,215 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 16:57:53,215 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 16:57:53,215 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 16:57:53,216 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 16:57:53,217 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:57:53,232 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 16:57:53,234 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 16:57:53,234 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 16:57:53,234 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 16:57:53,235 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 16:57:53,235 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 16:57:53,235 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 16:57:53,236 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 16:57:53,236 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 16:57:53,236 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 16:57:53,236 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 16:57:53,237 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 16:57:53,238 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 16:57:53,238 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 16:57:53,238 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 16:57:53,238 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 16:57:53,238 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 16:57:53,238 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 16:57:53,238 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:57:53,239 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 16:57:53,239 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 16:57:53,239 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 16:57:53,240 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 16:57:53,240 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 16:57:53,240 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 16:57:53,240 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 16:57:53,240 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 16:57:53,240 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 -> 7887c90df48e0e32a16c0ae4217eb11a41b3b1af1e02493e847dc25239198c19 [2022-02-20 16:57:53,461 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 16:57:53,484 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 16:57:53,486 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 16:57:53,487 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 16:57:53,487 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 16:57:53,488 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/list-ext3-properties/dll_nullified-1.i [2022-02-20 16:57:53,539 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/978e1855a/f03d15b8c3cd45419a0f55876da68d43/FLAGd5d70e6b2 [2022-02-20 16:57:53,979 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 16:57:53,983 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/list-ext3-properties/dll_nullified-1.i [2022-02-20 16:57:53,993 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/978e1855a/f03d15b8c3cd45419a0f55876da68d43/FLAGd5d70e6b2 [2022-02-20 16:57:54,005 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/978e1855a/f03d15b8c3cd45419a0f55876da68d43 [2022-02-20 16:57:54,008 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 16:57:54,010 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 16:57:54,011 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 16:57:54,011 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 16:57:54,013 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 16:57:54,014 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,015 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@37b54e2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54, skipping insertion in model container [2022-02-20 16:57:54,015 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,019 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 16:57:54,054 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 16:57:54,306 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-ext3-properties/dll_nullified-1.i[24046,24059] [2022-02-20 16:57:54,309 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:57:54,317 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 16:57:54,365 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-ext3-properties/dll_nullified-1.i[24046,24059] [2022-02-20 16:57:54,368 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 16:57:54,385 INFO L208 MainTranslator]: Completed translation [2022-02-20 16:57:54,386 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54 WrapperNode [2022-02-20 16:57:54,386 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 16:57:54,387 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 16:57:54,388 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 16:57:54,388 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 16:57:54,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:57:54" (1/1) ... [2022-02-20 16:57:54,415 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:57:54" (1/1) ... [2022-02-20 16:57:54,436 INFO L137 Inliner]: procedures = 123, calls = 25, calls flagged for inlining = 4, calls inlined = 4, statements flattened = 114 [2022-02-20 16:57:54,436 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 16:57:54,437 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 16:57:54,437 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 16:57:54,437 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 16:57:54,442 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,442 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,444 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,445 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,455 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,458 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,459 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,467 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 16:57:54,467 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 16:57:54,467 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 16:57:54,467 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 16:57:54,468 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (1/1) ... [2022-02-20 16:57:54,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 16:57:54,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:57:54,518 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:57:54,525 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:57:54,543 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 16:57:54,543 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 16:57:54,543 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 16:57:54,543 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 16:57:54,544 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 16:57:54,544 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 16:57:54,544 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 16:57:54,546 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 16:57:54,554 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 16:57:54,554 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 16:57:54,650 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 16:57:54,651 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 16:57:54,882 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 16:57:54,887 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 16:57:54,887 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 16:57:54,893 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:57:54 BoogieIcfgContainer [2022-02-20 16:57:54,893 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 16:57:54,894 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 16:57:54,894 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 16:57:54,897 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 16:57:54,897 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 04:57:54" (1/3) ... [2022-02-20 16:57:54,898 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5eeabea2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:57:54, skipping insertion in model container [2022-02-20 16:57:54,898 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 04:57:54" (2/3) ... [2022-02-20 16:57:54,898 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5eeabea2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 04:57:54, skipping insertion in model container [2022-02-20 16:57:54,898 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:57:54" (3/3) ... [2022-02-20 16:57:54,899 INFO L111 eAbstractionObserver]: Analyzing ICFG dll_nullified-1.i [2022-02-20 16:57:54,904 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 16:57:54,905 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 16:57:54,942 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 16:57:54,948 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:57:54,949 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 16:57:54,959 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 28 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:57:54,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 16:57:54,962 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:54,963 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:54,964 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:54,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:54,968 INFO L85 PathProgramCache]: Analyzing trace with hash -1957812527, now seen corresponding path program 1 times [2022-02-20 16:57:54,974 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:54,974 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [934253765] [2022-02-20 16:57:54,975 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:54,975 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:55,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:55,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#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(18, 2); {32#true} is VALID [2022-02-20 16:57:55,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {32#true} is VALID [2022-02-20 16:57:55,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume !true; {33#false} is VALID [2022-02-20 16:57:55,106 INFO L290 TraceCheckUtils]: 3: Hoare triple {33#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {33#false} is VALID [2022-02-20 16:57:55,106 INFO L290 TraceCheckUtils]: 4: Hoare triple {33#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {33#false} is VALID [2022-02-20 16:57:55,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#false} assume !true; {33#false} is VALID [2022-02-20 16:57:55,106 INFO L290 TraceCheckUtils]: 6: Hoare triple {33#false} assume !!(main_~head~1#1.base != 0 || main_~head~1#1.offset != 0);call main_#t~mem15#1.base, main_#t~mem15#1.offset := read~$Pointer$(main_~head~1#1.base, 12 + main_~head~1#1.offset, 4);main_~temp~0#1.base, main_~temp~0#1.offset := main_#t~mem15#1.base, main_#t~mem15#1.offset;havoc main_#t~mem15#1.base, main_#t~mem15#1.offset;call main_#t~mem16#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short18#1 := 0 != main_#t~mem16#1; {33#false} is VALID [2022-02-20 16:57:55,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#false} assume main_#t~short18#1; {33#false} is VALID [2022-02-20 16:57:55,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#false} main_#t~short20#1 := main_#t~short18#1; {33#false} is VALID [2022-02-20 16:57:55,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} assume main_#t~short20#1; {33#false} is VALID [2022-02-20 16:57:55,107 INFO L290 TraceCheckUtils]: 10: Hoare triple {33#false} assume main_#t~short20#1;havoc main_#t~mem16#1;havoc main_#t~mem17#1;havoc main_#t~short18#1;havoc main_#t~mem19#1;havoc main_#t~short20#1; {33#false} is VALID [2022-02-20 16:57:55,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-02-20 16:57:55,109 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:57:55,110 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:55,110 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [934253765] [2022-02-20 16:57:55,111 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [934253765] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:57:55,111 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:57:55,111 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 16:57:55,112 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319080735] [2022-02-20 16:57:55,113 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:57:55,116 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 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 12 [2022-02-20 16:57:55,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:55,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,131 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:55,132 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 16:57:55,132 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:55,148 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 16:57:55,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 16:57:55,151 INFO L87 Difference]: Start difference. First operand has 29 states, 27 states have (on average 1.5925925925925926) internal successors, (43), 28 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 has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,195 INFO L93 Difference]: Finished difference Result 48 states and 71 transitions. [2022-02-20 16:57:55,195 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 16:57:55,195 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 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 12 [2022-02-20 16:57:55,195 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:57:55,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2022-02-20 16:57:55,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2022-02-20 16:57:55,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 71 transitions. [2022-02-20 16:57:55,282 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:55,289 INFO L225 Difference]: With dead ends: 48 [2022-02-20 16:57:55,289 INFO L226 Difference]: Without dead ends: 24 [2022-02-20 16:57:55,292 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:57:55,294 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:57:55,295 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:57:55,305 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-02-20 16:57:55,313 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-02-20 16:57:55,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:57:55,313 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 23 states have (on average 1.434782608695652) internal successors, (33), 23 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:57:55,314 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 23 states have (on average 1.434782608695652) internal successors, (33), 23 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:57:55,315 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 23 states have (on average 1.434782608695652) internal successors, (33), 23 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:57:55,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,318 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2022-02-20 16:57:55,318 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2022-02-20 16:57:55,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:55,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:55,319 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 23 states have (on average 1.434782608695652) internal successors, (33), 23 states have internal predecessors, (33), 0 states have call successors, (0), 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 24 states. [2022-02-20 16:57:55,319 INFO L87 Difference]: Start difference. First operand has 24 states, 23 states have (on average 1.434782608695652) internal successors, (33), 23 states have internal predecessors, (33), 0 states have call successors, (0), 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 24 states. [2022-02-20 16:57:55,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,321 INFO L93 Difference]: Finished difference Result 24 states and 33 transitions. [2022-02-20 16:57:55,321 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2022-02-20 16:57:55,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:55,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:55,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:57:55,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:57:55,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 23 states have (on average 1.434782608695652) internal successors, (33), 23 states have internal predecessors, (33), 0 states have call successors, (0), 0 states have 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:57:55,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 33 transitions. [2022-02-20 16:57:55,325 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 33 transitions. Word has length 12 [2022-02-20 16:57:55,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:57:55,325 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 33 transitions. [2022-02-20 16:57:55,325 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 6.0) internal successors, (12), 2 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,325 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 33 transitions. [2022-02-20 16:57:55,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 16:57:55,327 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:55,328 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:55,329 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 16:57:55,329 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:55,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:55,331 INFO L85 PathProgramCache]: Analyzing trace with hash 1580862863, now seen corresponding path program 1 times [2022-02-20 16:57:55,331 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:55,331 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621511641] [2022-02-20 16:57:55,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:55,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:55,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:55,385 INFO L290 TraceCheckUtils]: 0: Hoare triple {170#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(18, 2); {170#true} is VALID [2022-02-20 16:57:55,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {170#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {172#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:55,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {172#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {171#false} is VALID [2022-02-20 16:57:55,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {171#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {171#false} is VALID [2022-02-20 16:57:55,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {171#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {171#false} is VALID [2022-02-20 16:57:55,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {171#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {171#false} is VALID [2022-02-20 16:57:55,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {171#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {171#false} is VALID [2022-02-20 16:57:55,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {171#false} assume main_#t~short10#1; {171#false} is VALID [2022-02-20 16:57:55,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {171#false} main_#t~short12#1 := main_#t~short10#1; {171#false} is VALID [2022-02-20 16:57:55,387 INFO L290 TraceCheckUtils]: 9: Hoare triple {171#false} assume main_#t~short12#1; {171#false} is VALID [2022-02-20 16:57:55,388 INFO L290 TraceCheckUtils]: 10: Hoare triple {171#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {171#false} is VALID [2022-02-20 16:57:55,388 INFO L290 TraceCheckUtils]: 11: Hoare triple {171#false} assume !false; {171#false} is VALID [2022-02-20 16:57:55,389 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:57:55,389 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:55,389 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [621511641] [2022-02-20 16:57:55,389 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [621511641] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:57:55,390 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:57:55,390 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:57:55,390 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1601830625] [2022-02-20 16:57:55,390 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:57:55,392 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 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 12 [2022-02-20 16:57:55,392 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:55,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,405 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:55,405 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:57:55,406 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:55,406 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:57:55,406 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:57:55,407 INFO L87 Difference]: Start difference. First operand 24 states and 33 transitions. Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,458 INFO L93 Difference]: Finished difference Result 46 states and 64 transitions. [2022-02-20 16:57:55,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:57:55,458 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 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 12 [2022-02-20 16:57:55,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:57:55,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2022-02-20 16:57:55,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2022-02-20 16:57:55,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2022-02-20 16:57:55,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:55,518 INFO L225 Difference]: With dead ends: 46 [2022-02-20 16:57:55,518 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 16:57:55,521 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:57:55,524 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 8 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:57:55,524 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 56 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:57:55,526 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 16:57:55,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 25. [2022-02-20 16:57:55,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:57:55,531 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 25 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 24 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:57:55,532 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 25 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 24 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:57:55,533 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 25 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 24 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:57:55,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,535 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2022-02-20 16:57:55,536 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 16:57:55,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:55,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:55,536 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 24 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 31 states. [2022-02-20 16:57:55,537 INFO L87 Difference]: Start difference. First operand has 25 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 24 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 31 states. [2022-02-20 16:57:55,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,539 INFO L93 Difference]: Finished difference Result 31 states and 42 transitions. [2022-02-20 16:57:55,540 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 42 transitions. [2022-02-20 16:57:55,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:55,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:55,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:57:55,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:57:55,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 24 states have (on average 1.4166666666666667) internal successors, (34), 24 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:57:55,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 34 transitions. [2022-02-20 16:57:55,545 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 34 transitions. Word has length 12 [2022-02-20 16:57:55,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:57:55,546 INFO L470 AbstractCegarLoop]: Abstraction has 25 states and 34 transitions. [2022-02-20 16:57:55,546 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 3 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have 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:57:55,546 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 34 transitions. [2022-02-20 16:57:55,547 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:57:55,547 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:55,547 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:55,547 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 16:57:55,548 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:55,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:55,549 INFO L85 PathProgramCache]: Analyzing trace with hash -2031015874, now seen corresponding path program 1 times [2022-02-20 16:57:55,549 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:55,549 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1658942520] [2022-02-20 16:57:55,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:55,549 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:55,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:55,612 INFO L290 TraceCheckUtils]: 0: Hoare triple {321#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(18, 2); {321#true} is VALID [2022-02-20 16:57:55,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {321#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {323#(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:57:55,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {323#(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~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {323#(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:57:55,614 INFO L290 TraceCheckUtils]: 3: Hoare triple {323#(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); {323#(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:57:55,614 INFO L290 TraceCheckUtils]: 4: Hoare triple {323#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {323#(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:57:55,615 INFO L290 TraceCheckUtils]: 5: Hoare triple {323#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {323#(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:57:55,616 INFO L290 TraceCheckUtils]: 6: Hoare triple {323#(and (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0) (= |ULTIMATE.start_dll_create_~head~0#1.base| 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {323#(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:57:55,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {323#(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, 12 + dll_create_~head~0#1.offset, 4); {322#false} is VALID [2022-02-20 16:57:55,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {322#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {322#false} is VALID [2022-02-20 16:57:55,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {322#false} assume !(dll_create_~len#1 > 0); {322#false} is VALID [2022-02-20 16:57:55,617 INFO L290 TraceCheckUtils]: 10: Hoare triple {322#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {322#false} is VALID [2022-02-20 16:57:55,617 INFO L290 TraceCheckUtils]: 11: Hoare triple {322#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {322#false} is VALID [2022-02-20 16:57:55,617 INFO L290 TraceCheckUtils]: 12: Hoare triple {322#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {322#false} is VALID [2022-02-20 16:57:55,618 INFO L290 TraceCheckUtils]: 13: Hoare triple {322#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {322#false} is VALID [2022-02-20 16:57:55,618 INFO L290 TraceCheckUtils]: 14: Hoare triple {322#false} assume main_#t~short10#1; {322#false} is VALID [2022-02-20 16:57:55,618 INFO L290 TraceCheckUtils]: 15: Hoare triple {322#false} main_#t~short12#1 := main_#t~short10#1; {322#false} is VALID [2022-02-20 16:57:55,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {322#false} assume main_#t~short12#1; {322#false} is VALID [2022-02-20 16:57:55,618 INFO L290 TraceCheckUtils]: 17: Hoare triple {322#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {322#false} is VALID [2022-02-20 16:57:55,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {322#false} assume !false; {322#false} is VALID [2022-02-20 16:57:55,619 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:57:55,619 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:55,619 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1658942520] [2022-02-20 16:57:55,619 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1658942520] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:57:55,619 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:57:55,620 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 16:57:55,620 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [112777299] [2022-02-20 16:57:55,620 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:57:55,620 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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 19 [2022-02-20 16:57:55,620 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:55,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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:57:55,634 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:57:55,634 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 16:57:55,634 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:55,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 16:57:55,635 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 16:57:55,635 INFO L87 Difference]: Start difference. First operand 25 states and 34 transitions. Second operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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:57:55,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,697 INFO L93 Difference]: Finished difference Result 53 states and 73 transitions. [2022-02-20 16:57:55,697 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 16:57:55,697 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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 19 [2022-02-20 16:57:55,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:57:55,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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:57:55,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2022-02-20 16:57:55,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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:57:55,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 73 transitions. [2022-02-20 16:57:55,700 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 73 transitions. [2022-02-20 16:57:55,753 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:55,754 INFO L225 Difference]: With dead ends: 53 [2022-02-20 16:57:55,754 INFO L226 Difference]: Without dead ends: 31 [2022-02-20 16:57:55,754 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:57:55,755 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 2 mSDsluCounter, 27 mSDsCounter, 0 mSdLazyCounter, 6 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 58 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:57:55,755 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 58 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 6 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:57:55,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-02-20 16:57:55,758 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-02-20 16:57:55,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:57:55,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 29 states have (on average 1.3793103448275863) internal successors, (40), 29 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:55,759 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 29 states have (on average 1.3793103448275863) internal successors, (40), 29 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:55,759 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 29 states have (on average 1.3793103448275863) internal successors, (40), 29 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:55,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,760 INFO L93 Difference]: Finished difference Result 31 states and 41 transitions. [2022-02-20 16:57:55,760 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 41 transitions. [2022-02-20 16:57:55,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:55,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:55,761 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 29 states have (on average 1.3793103448275863) internal successors, (40), 29 states have internal predecessors, (40), 0 states have call successors, (0), 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 31 states. [2022-02-20 16:57:55,761 INFO L87 Difference]: Start difference. First operand has 30 states, 29 states have (on average 1.3793103448275863) internal successors, (40), 29 states have internal predecessors, (40), 0 states have call successors, (0), 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 31 states. [2022-02-20 16:57:55,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:55,762 INFO L93 Difference]: Finished difference Result 31 states and 41 transitions. [2022-02-20 16:57:55,762 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 41 transitions. [2022-02-20 16:57:55,763 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:55,763 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:55,763 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:57:55,763 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:57:55,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.3793103448275863) internal successors, (40), 29 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:55,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 40 transitions. [2022-02-20 16:57:55,764 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 40 transitions. Word has length 19 [2022-02-20 16:57:55,764 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:57:55,765 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 40 transitions. [2022-02-20 16:57:55,765 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 6.333333333333333) internal successors, (19), 3 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:57:55,765 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 40 transitions. [2022-02-20 16:57:55,765 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:57:55,765 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:55,766 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:55,766 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 16:57:55,766 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:55,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:55,766 INFO L85 PathProgramCache]: Analyzing trace with hash -1772850436, now seen corresponding path program 1 times [2022-02-20 16:57:55,767 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:55,767 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [868618808] [2022-02-20 16:57:55,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:55,767 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:55,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:55,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {485#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(18, 2); {485#true} is VALID [2022-02-20 16:57:55,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {485#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {485#true} is VALID [2022-02-20 16:57:55,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {485#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {485#true} is VALID [2022-02-20 16:57:55,863 INFO L290 TraceCheckUtils]: 3: Hoare triple {485#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {485#true} is VALID [2022-02-20 16:57:55,865 INFO L290 TraceCheckUtils]: 4: Hoare triple {485#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:55,866 INFO L290 TraceCheckUtils]: 5: Hoare triple {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:55,867 INFO L290 TraceCheckUtils]: 6: Hoare triple {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:55,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:55,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {487#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {488#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:55,871 INFO L290 TraceCheckUtils]: 9: Hoare triple {488#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} assume !(dll_create_~len#1 > 0); {488#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:55,872 INFO L290 TraceCheckUtils]: 10: Hoare triple {488#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {489#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset|) 0)} is VALID [2022-02-20 16:57:55,873 INFO L290 TraceCheckUtils]: 11: Hoare triple {489#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset|) 0)} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {490#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} is VALID [2022-02-20 16:57:55,874 INFO L290 TraceCheckUtils]: 12: Hoare triple {490#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {490#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} is VALID [2022-02-20 16:57:55,875 INFO L290 TraceCheckUtils]: 13: Hoare triple {490#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {491#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:57:55,876 INFO L290 TraceCheckUtils]: 14: Hoare triple {491#(not |ULTIMATE.start_main_#t~short10#1|)} assume main_#t~short10#1; {486#false} is VALID [2022-02-20 16:57:55,876 INFO L290 TraceCheckUtils]: 15: Hoare triple {486#false} main_#t~short12#1 := main_#t~short10#1; {486#false} is VALID [2022-02-20 16:57:55,876 INFO L290 TraceCheckUtils]: 16: Hoare triple {486#false} assume main_#t~short12#1; {486#false} is VALID [2022-02-20 16:57:55,876 INFO L290 TraceCheckUtils]: 17: Hoare triple {486#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {486#false} is VALID [2022-02-20 16:57:55,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {486#false} assume !false; {486#false} is VALID [2022-02-20 16:57:55,877 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:57:55,877 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:55,878 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [868618808] [2022-02-20 16:57:55,878 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [868618808] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 16:57:55,878 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 16:57:55,878 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 16:57:55,878 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [235343359] [2022-02-20 16:57:55,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 16:57:55,879 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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 19 [2022-02-20 16:57:55,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:55,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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:57:55,896 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:57:55,897 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:57:55,898 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:55,899 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:57:55,899 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:57:55,899 INFO L87 Difference]: Start difference. First operand 30 states and 40 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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:57:56,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:56,239 INFO L93 Difference]: Finished difference Result 77 states and 107 transitions. [2022-02-20 16:57:56,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 16:57:56,239 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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 19 [2022-02-20 16:57:56,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:57:56,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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:57:56,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 100 transitions. [2022-02-20 16:57:56,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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:57:56,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 100 transitions. [2022-02-20 16:57:56,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 100 transitions. [2022-02-20 16:57:56,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:56,328 INFO L225 Difference]: With dead ends: 77 [2022-02-20 16:57:56,328 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 16:57:56,328 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=39, Invalid=71, Unknown=0, NotChecked=0, Total=110 [2022-02-20 16:57:56,333 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 128 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 100 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 128 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 100 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 16:57:56,334 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [128 Valid, 120 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 100 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 16:57:56,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 16:57:56,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 37. [2022-02-20 16:57:56,345 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:57:56,345 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 37 states, 36 states have (on average 1.3611111111111112) internal successors, (49), 36 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have 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:57:56,346 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 37 states, 36 states have (on average 1.3611111111111112) internal successors, (49), 36 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have 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:57:56,346 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 37 states, 36 states have (on average 1.3611111111111112) internal successors, (49), 36 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have 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:57:56,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:56,347 INFO L93 Difference]: Finished difference Result 64 states and 87 transitions. [2022-02-20 16:57:56,347 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 87 transitions. [2022-02-20 16:57:56,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:56,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:56,349 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 36 states have (on average 1.3611111111111112) internal successors, (49), 36 states have internal predecessors, (49), 0 states have call successors, (0), 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 64 states. [2022-02-20 16:57:56,349 INFO L87 Difference]: Start difference. First operand has 37 states, 36 states have (on average 1.3611111111111112) internal successors, (49), 36 states have internal predecessors, (49), 0 states have call successors, (0), 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 64 states. [2022-02-20 16:57:56,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:56,352 INFO L93 Difference]: Finished difference Result 64 states and 87 transitions. [2022-02-20 16:57:56,352 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 87 transitions. [2022-02-20 16:57:56,355 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:56,355 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:56,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:57:56,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:57:56,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 36 states have (on average 1.3611111111111112) internal successors, (49), 36 states have internal predecessors, (49), 0 states have call successors, (0), 0 states have 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:57:56,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 49 transitions. [2022-02-20 16:57:56,359 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 49 transitions. Word has length 19 [2022-02-20 16:57:56,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:57:56,359 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 49 transitions. [2022-02-20 16:57:56,359 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 7 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:57:56,359 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 49 transitions. [2022-02-20 16:57:56,360 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 16:57:56,360 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:56,360 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:56,360 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 16:57:56,360 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:56,362 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:56,362 INFO L85 PathProgramCache]: Analyzing trace with hash -1771003394, now seen corresponding path program 1 times [2022-02-20 16:57:56,362 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:56,362 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1554997695] [2022-02-20 16:57:56,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:56,363 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:56,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:56,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {765#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(18, 2); {765#true} is VALID [2022-02-20 16:57:56,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {765#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,415 INFO L290 TraceCheckUtils]: 3: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,416 INFO L290 TraceCheckUtils]: 4: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {767#(<= 5 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {768#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {768#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {766#false} is VALID [2022-02-20 16:57:56,418 INFO L290 TraceCheckUtils]: 10: Hoare triple {766#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {766#false} is VALID [2022-02-20 16:57:56,418 INFO L290 TraceCheckUtils]: 11: Hoare triple {766#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {766#false} is VALID [2022-02-20 16:57:56,418 INFO L290 TraceCheckUtils]: 12: Hoare triple {766#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {766#false} is VALID [2022-02-20 16:57:56,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {766#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {766#false} is VALID [2022-02-20 16:57:56,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {766#false} assume !main_#t~short10#1;call main_#t~mem9#1 := read~int(main_~head~1#1.base, 8 + main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem9#1; {766#false} is VALID [2022-02-20 16:57:56,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {766#false} main_#t~short12#1 := main_#t~short10#1; {766#false} is VALID [2022-02-20 16:57:56,419 INFO L290 TraceCheckUtils]: 16: Hoare triple {766#false} assume main_#t~short12#1; {766#false} is VALID [2022-02-20 16:57:56,419 INFO L290 TraceCheckUtils]: 17: Hoare triple {766#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {766#false} is VALID [2022-02-20 16:57:56,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {766#false} assume !false; {766#false} is VALID [2022-02-20 16:57:56,420 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:57:56,420 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:56,420 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1554997695] [2022-02-20 16:57:56,420 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1554997695] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:57:56,420 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [751974697] [2022-02-20 16:57:56,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:56,421 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:57:56,421 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:57:56,422 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:57:56,423 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:57:56,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:56,498 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 16:57:56,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:56,512 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:57:56,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {765#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(18, 2); {765#true} is VALID [2022-02-20 16:57:56,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {765#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,668 INFO L290 TraceCheckUtils]: 3: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,669 INFO L290 TraceCheckUtils]: 4: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,669 INFO L290 TraceCheckUtils]: 5: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,669 INFO L290 TraceCheckUtils]: 6: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,670 INFO L290 TraceCheckUtils]: 7: Hoare triple {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {767#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,670 INFO L290 TraceCheckUtils]: 8: Hoare triple {767#(<= 5 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {768#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {768#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {766#false} is VALID [2022-02-20 16:57:56,671 INFO L290 TraceCheckUtils]: 10: Hoare triple {766#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {766#false} is VALID [2022-02-20 16:57:56,671 INFO L290 TraceCheckUtils]: 11: Hoare triple {766#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {766#false} is VALID [2022-02-20 16:57:56,671 INFO L290 TraceCheckUtils]: 12: Hoare triple {766#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {766#false} is VALID [2022-02-20 16:57:56,671 INFO L290 TraceCheckUtils]: 13: Hoare triple {766#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {766#false} is VALID [2022-02-20 16:57:56,672 INFO L290 TraceCheckUtils]: 14: Hoare triple {766#false} assume !main_#t~short10#1;call main_#t~mem9#1 := read~int(main_~head~1#1.base, 8 + main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem9#1; {766#false} is VALID [2022-02-20 16:57:56,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {766#false} main_#t~short12#1 := main_#t~short10#1; {766#false} is VALID [2022-02-20 16:57:56,672 INFO L290 TraceCheckUtils]: 16: Hoare triple {766#false} assume main_#t~short12#1; {766#false} is VALID [2022-02-20 16:57:56,672 INFO L290 TraceCheckUtils]: 17: Hoare triple {766#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {766#false} is VALID [2022-02-20 16:57:56,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {766#false} assume !false; {766#false} is VALID [2022-02-20 16:57:56,673 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:57:56,673 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:57:56,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {766#false} assume !false; {766#false} is VALID [2022-02-20 16:57:56,781 INFO L290 TraceCheckUtils]: 17: Hoare triple {766#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {766#false} is VALID [2022-02-20 16:57:56,781 INFO L290 TraceCheckUtils]: 16: Hoare triple {766#false} assume main_#t~short12#1; {766#false} is VALID [2022-02-20 16:57:56,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {766#false} main_#t~short12#1 := main_#t~short10#1; {766#false} is VALID [2022-02-20 16:57:56,781 INFO L290 TraceCheckUtils]: 14: Hoare triple {766#false} assume !main_#t~short10#1;call main_#t~mem9#1 := read~int(main_~head~1#1.base, 8 + main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem9#1; {766#false} is VALID [2022-02-20 16:57:56,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {766#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {766#false} is VALID [2022-02-20 16:57:56,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {766#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {766#false} is VALID [2022-02-20 16:57:56,783 INFO L290 TraceCheckUtils]: 11: Hoare triple {766#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {766#false} is VALID [2022-02-20 16:57:56,784 INFO L290 TraceCheckUtils]: 10: Hoare triple {766#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {766#false} is VALID [2022-02-20 16:57:56,784 INFO L290 TraceCheckUtils]: 9: Hoare triple {853#(< 0 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {766#false} is VALID [2022-02-20 16:57:56,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {857#(< 1 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {853#(< 0 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,785 INFO L290 TraceCheckUtils]: 6: Hoare triple {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,787 INFO L290 TraceCheckUtils]: 4: Hoare triple {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,788 INFO L290 TraceCheckUtils]: 3: Hoare triple {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,788 INFO L290 TraceCheckUtils]: 2: Hoare triple {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {765#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {857#(< 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:56,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {765#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(18, 2); {765#true} is VALID [2022-02-20 16:57:56,790 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:57:56,790 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [751974697] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:57:56,790 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:57:56,790 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 6 [2022-02-20 16:57:56,790 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1605410598] [2022-02-20 16:57:56,791 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:57:56,791 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:57:56,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:56,791 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 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:57:56,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:56,811 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 16:57:56,811 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:56,811 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 16:57:56,812 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:57:56,812 INFO L87 Difference]: Start difference. First operand 37 states and 49 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 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:57:56,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:56,910 INFO L93 Difference]: Finished difference Result 77 states and 105 transitions. [2022-02-20 16:57:56,910 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 16:57:56,910 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 16:57:56,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:57:56,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 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:57:56,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 84 transitions. [2022-02-20 16:57:56,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 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:57:56,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 84 transitions. [2022-02-20 16:57:56,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 84 transitions. [2022-02-20 16:57:56,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:56,981 INFO L225 Difference]: With dead ends: 77 [2022-02-20 16:57:56,981 INFO L226 Difference]: Without dead ends: 57 [2022-02-20 16:57:56,981 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=15, Unknown=0, NotChecked=0, Total=30 [2022-02-20 16:57:56,982 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 49 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:57:56,982 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 88 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:57:56,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-02-20 16:57:56,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 53. [2022-02-20 16:57:56,991 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:57:56,991 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 53 states, 52 states have (on average 1.3269230769230769) internal successors, (69), 52 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have 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:57:56,991 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 53 states, 52 states have (on average 1.3269230769230769) internal successors, (69), 52 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have 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:57:56,991 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 53 states, 52 states have (on average 1.3269230769230769) internal successors, (69), 52 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have 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:57:56,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:56,992 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-02-20 16:57:56,993 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-02-20 16:57:56,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:56,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:56,993 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 52 states have (on average 1.3269230769230769) internal successors, (69), 52 states have internal predecessors, (69), 0 states have call successors, (0), 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:57:56,993 INFO L87 Difference]: Start difference. First operand has 53 states, 52 states have (on average 1.3269230769230769) internal successors, (69), 52 states have internal predecessors, (69), 0 states have call successors, (0), 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:57:56,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:56,995 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-02-20 16:57:56,995 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-02-20 16:57:56,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:56,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:56,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:57:56,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:57:56,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 52 states have (on average 1.3269230769230769) internal successors, (69), 52 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have 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:57:56,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 69 transitions. [2022-02-20 16:57:56,997 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 69 transitions. Word has length 19 [2022-02-20 16:57:56,997 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:57:56,997 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 69 transitions. [2022-02-20 16:57:56,997 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 6 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:57:56,998 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 69 transitions. [2022-02-20 16:57:56,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 16:57:56,998 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:56,998 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:57,048 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:57:57,211 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:57:57,212 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:57,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:57,212 INFO L85 PathProgramCache]: Analyzing trace with hash -338892847, now seen corresponding path program 1 times [2022-02-20 16:57:57,212 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:57,212 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1804742543] [2022-02-20 16:57:57,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:57,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:57,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:57,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {1154#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(18, 2); {1154#true} is VALID [2022-02-20 16:57:57,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,343 INFO L290 TraceCheckUtils]: 3: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,343 INFO L290 TraceCheckUtils]: 4: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,344 INFO L290 TraceCheckUtils]: 6: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,345 INFO L290 TraceCheckUtils]: 8: Hoare triple {1156#(<= 5 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,345 INFO L290 TraceCheckUtils]: 9: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,346 INFO L290 TraceCheckUtils]: 12: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {1157#(<= 4 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,348 INFO L290 TraceCheckUtils]: 16: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,348 INFO L290 TraceCheckUtils]: 17: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,348 INFO L290 TraceCheckUtils]: 18: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,349 INFO L290 TraceCheckUtils]: 20: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,349 INFO L290 TraceCheckUtils]: 21: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,350 INFO L290 TraceCheckUtils]: 22: Hoare triple {1158#(<= 3 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,350 INFO L290 TraceCheckUtils]: 25: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,351 INFO L290 TraceCheckUtils]: 26: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,351 INFO L290 TraceCheckUtils]: 27: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,351 INFO L290 TraceCheckUtils]: 28: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,352 INFO L290 TraceCheckUtils]: 29: Hoare triple {1159#(<= 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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1160#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,352 INFO L290 TraceCheckUtils]: 30: Hoare triple {1160#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {1155#false} is VALID [2022-02-20 16:57:57,352 INFO L290 TraceCheckUtils]: 31: Hoare triple {1155#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {1155#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {1155#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {1155#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 35: Hoare triple {1155#false} assume main_#t~short10#1; {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 36: Hoare triple {1155#false} main_#t~short12#1 := main_#t~short10#1; {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {1155#false} assume main_#t~short12#1; {1155#false} is VALID [2022-02-20 16:57:57,353 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {1155#false} is VALID [2022-02-20 16:57:57,354 INFO L290 TraceCheckUtils]: 39: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-02-20 16:57:57,354 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:57:57,354 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:57,354 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1804742543] [2022-02-20 16:57:57,354 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1804742543] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:57:57,354 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [541767397] [2022-02-20 16:57:57,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:57,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:57:57,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:57:57,356 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:57:57,357 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:57:57,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:57,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 408 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 16:57:57,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:57,517 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:57:57,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {1154#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(18, 2); {1154#true} is VALID [2022-02-20 16:57:57,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,696 INFO L290 TraceCheckUtils]: 3: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,696 INFO L290 TraceCheckUtils]: 4: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {1156#(<= 5 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,698 INFO L290 TraceCheckUtils]: 10: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,699 INFO L290 TraceCheckUtils]: 11: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,707 INFO L290 TraceCheckUtils]: 12: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {1157#(<= 4 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,709 INFO L290 TraceCheckUtils]: 16: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,709 INFO L290 TraceCheckUtils]: 17: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,711 INFO L290 TraceCheckUtils]: 22: Hoare triple {1158#(<= 3 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,711 INFO L290 TraceCheckUtils]: 23: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,712 INFO L290 TraceCheckUtils]: 24: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,713 INFO L290 TraceCheckUtils]: 28: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,713 INFO L290 TraceCheckUtils]: 29: Hoare triple {1159#(<= 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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1160#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,714 INFO L290 TraceCheckUtils]: 30: Hoare triple {1160#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {1155#false} is VALID [2022-02-20 16:57:57,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {1155#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1155#false} is VALID [2022-02-20 16:57:57,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {1155#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {1155#false} is VALID [2022-02-20 16:57:57,714 INFO L290 TraceCheckUtils]: 33: Hoare triple {1155#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {1155#false} is VALID [2022-02-20 16:57:57,714 INFO L290 TraceCheckUtils]: 34: Hoare triple {1155#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {1155#false} is VALID [2022-02-20 16:57:57,714 INFO L290 TraceCheckUtils]: 35: Hoare triple {1155#false} assume main_#t~short10#1; {1155#false} is VALID [2022-02-20 16:57:57,715 INFO L290 TraceCheckUtils]: 36: Hoare triple {1155#false} main_#t~short12#1 := main_#t~short10#1; {1155#false} is VALID [2022-02-20 16:57:57,715 INFO L290 TraceCheckUtils]: 37: Hoare triple {1155#false} assume main_#t~short12#1; {1155#false} is VALID [2022-02-20 16:57:57,715 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {1155#false} is VALID [2022-02-20 16:57:57,715 INFO L290 TraceCheckUtils]: 39: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-02-20 16:57:57,715 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:57:57,715 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:57:57,918 INFO L290 TraceCheckUtils]: 39: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2022-02-20 16:57:57,918 INFO L290 TraceCheckUtils]: 38: Hoare triple {1155#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {1155#false} is VALID [2022-02-20 16:57:57,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {1155#false} assume main_#t~short12#1; {1155#false} is VALID [2022-02-20 16:57:57,919 INFO L290 TraceCheckUtils]: 36: Hoare triple {1155#false} main_#t~short12#1 := main_#t~short10#1; {1155#false} is VALID [2022-02-20 16:57:57,919 INFO L290 TraceCheckUtils]: 35: Hoare triple {1155#false} assume main_#t~short10#1; {1155#false} is VALID [2022-02-20 16:57:57,921 INFO L290 TraceCheckUtils]: 34: Hoare triple {1155#false} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {1155#false} is VALID [2022-02-20 16:57:57,922 INFO L290 TraceCheckUtils]: 33: Hoare triple {1155#false} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {1155#false} is VALID [2022-02-20 16:57:57,922 INFO L290 TraceCheckUtils]: 32: Hoare triple {1155#false} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {1155#false} is VALID [2022-02-20 16:57:57,922 INFO L290 TraceCheckUtils]: 31: Hoare triple {1155#false} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1155#false} is VALID [2022-02-20 16:57:57,923 INFO L290 TraceCheckUtils]: 30: Hoare triple {1160#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~len#1 > 0); {1155#false} is VALID [2022-02-20 16:57:57,923 INFO L290 TraceCheckUtils]: 29: Hoare triple {1159#(<= 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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1160#(<= 1 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,923 INFO L290 TraceCheckUtils]: 28: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,924 INFO L290 TraceCheckUtils]: 27: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,924 INFO L290 TraceCheckUtils]: 26: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,926 INFO L290 TraceCheckUtils]: 22: Hoare triple {1158#(<= 3 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1159#(<= 2 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,927 INFO L290 TraceCheckUtils]: 16: Hoare triple {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {1157#(<= 4 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1158#(<= 3 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#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, 12 + dll_create_~head~0#1.offset, 4); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,929 INFO L290 TraceCheckUtils]: 13: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,929 INFO L290 TraceCheckUtils]: 12: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,931 INFO L290 TraceCheckUtils]: 8: Hoare triple {1156#(<= 5 |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1157#(<= 4 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,932 INFO L290 TraceCheckUtils]: 6: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,932 INFO L290 TraceCheckUtils]: 5: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,933 INFO L290 TraceCheckUtils]: 4: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,933 INFO L290 TraceCheckUtils]: 3: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,933 INFO L290 TraceCheckUtils]: 2: Hoare triple {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {1154#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1156#(<= 5 |ULTIMATE.start_dll_create_~len#1|)} is VALID [2022-02-20 16:57:57,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {1154#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(18, 2); {1154#true} is VALID [2022-02-20 16:57:57,934 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 16:57:57,934 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [541767397] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:57:57,935 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:57:57,935 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7, 7] total 7 [2022-02-20 16:57:57,935 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [168035458] [2022-02-20 16:57:57,935 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:57:57,936 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 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:57:57,936 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:57,936 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:57,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:57,965 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 16:57:57,965 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:57,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 16:57:57,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:57:57,966 INFO L87 Difference]: Start difference. First operand 53 states and 69 transitions. Second operand has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:58,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:58,073 INFO L93 Difference]: Finished difference Result 82 states and 109 transitions. [2022-02-20 16:57:58,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 16:57:58,074 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 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:57:58,074 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:57:58,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:58,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 91 transitions. [2022-02-20 16:57:58,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:58,076 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 91 transitions. [2022-02-20 16:57:58,076 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 91 transitions. [2022-02-20 16:57:58,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:57:58,137 INFO L225 Difference]: With dead ends: 82 [2022-02-20 16:57:58,137 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 16:57:58,137 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2022-02-20 16:57:58,138 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 46 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 46 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 16:57:58,138 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [46 Valid, 93 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 16:57:58,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 16:57:58,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-02-20 16:57:58,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:57:58,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 60 states, 59 states have (on average 1.3220338983050848) internal successors, (78), 59 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have 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:57:58,147 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 60 states, 59 states have (on average 1.3220338983050848) internal successors, (78), 59 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have 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:57:58,147 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 60 states, 59 states have (on average 1.3220338983050848) internal successors, (78), 59 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have 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:57:58,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:58,148 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2022-02-20 16:57:58,149 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2022-02-20 16:57:58,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:58,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:58,149 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 59 states have (on average 1.3220338983050848) internal successors, (78), 59 states have internal predecessors, (78), 0 states have call successors, (0), 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 62 states. [2022-02-20 16:57:58,149 INFO L87 Difference]: Start difference. First operand has 60 states, 59 states have (on average 1.3220338983050848) internal successors, (78), 59 states have internal predecessors, (78), 0 states have call successors, (0), 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 62 states. [2022-02-20 16:57:58,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:57:58,150 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2022-02-20 16:57:58,151 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2022-02-20 16:57:58,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:57:58,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:57:58,151 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:57:58,151 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:57:58,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 59 states have (on average 1.3220338983050848) internal successors, (78), 59 states have internal predecessors, (78), 0 states have call successors, (0), 0 states have 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:57:58,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 78 transitions. [2022-02-20 16:57:58,152 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 78 transitions. Word has length 40 [2022-02-20 16:57:58,153 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:57:58,153 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 78 transitions. [2022-02-20 16:57:58,153 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.714285714285714) internal successors, (40), 7 states have internal predecessors, (40), 0 states have call successors, (0), 0 states have 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:57:58,153 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 78 transitions. [2022-02-20 16:57:58,154 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 16:57:58,154 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:57:58,154 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:57:58,183 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:57:58,371 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 16:57:58,371 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:57:58,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:57:58,372 INFO L85 PathProgramCache]: Analyzing trace with hash 2036506556, now seen corresponding path program 2 times [2022-02-20 16:57:58,372 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:57:58,372 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1058744] [2022-02-20 16:57:58,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:57:58,372 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:57:58,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:58,571 INFO L290 TraceCheckUtils]: 0: Hoare triple {1693#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(18, 2); {1693#true} is VALID [2022-02-20 16:57:58,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {1693#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1693#true} is VALID [2022-02-20 16:57:58,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:58,572 INFO L290 TraceCheckUtils]: 3: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:58,572 INFO L290 TraceCheckUtils]: 4: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:58,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:58,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:58,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {1693#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 10: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:58,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {1693#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, 12 + dll_create_~head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 16: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 21: Hoare triple {1693#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, 12 + dll_create_~head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:58,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:58,577 INFO L290 TraceCheckUtils]: 23: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {1695#(= (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); {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,579 INFO L290 TraceCheckUtils]: 27: Hoare triple {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,579 INFO L290 TraceCheckUtils]: 28: Hoare triple {1695#(= (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;call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 12 + dll_create_~head~0#1.offset, 4); {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {1695#(= (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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1696#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 16:57:58,580 INFO L290 TraceCheckUtils]: 30: Hoare triple {1696#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1697#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:57:58,580 INFO L290 TraceCheckUtils]: 31: Hoare triple {1697#(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); {1697#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:57:58,581 INFO L290 TraceCheckUtils]: 32: Hoare triple {1697#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1698#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:58,582 INFO L290 TraceCheckUtils]: 33: Hoare triple {1698#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1698#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:58,583 INFO L290 TraceCheckUtils]: 34: Hoare triple {1698#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1698#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:58,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {1698#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 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, 12 + dll_create_~head~0#1.offset, 4); {1699#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:58,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {1699#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:58,584 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} assume !(dll_create_~len#1 > 0); {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:58,584 INFO L290 TraceCheckUtils]: 38: Hoare triple {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1701#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset|) 0)} is VALID [2022-02-20 16:57:58,585 INFO L290 TraceCheckUtils]: 39: Hoare triple {1701#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset|) 0)} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} is VALID [2022-02-20 16:57:58,585 INFO L290 TraceCheckUtils]: 40: Hoare triple {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} is VALID [2022-02-20 16:57:58,585 INFO L290 TraceCheckUtils]: 41: Hoare triple {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {1703#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:57:58,586 INFO L290 TraceCheckUtils]: 42: Hoare triple {1703#(not |ULTIMATE.start_main_#t~short10#1|)} assume main_#t~short10#1; {1694#false} is VALID [2022-02-20 16:57:58,587 INFO L290 TraceCheckUtils]: 43: Hoare triple {1694#false} main_#t~short12#1 := main_#t~short10#1; {1694#false} is VALID [2022-02-20 16:57:58,587 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#false} assume main_#t~short12#1; {1694#false} is VALID [2022-02-20 16:57:58,587 INFO L290 TraceCheckUtils]: 45: Hoare triple {1694#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {1694#false} is VALID [2022-02-20 16:57:58,587 INFO L290 TraceCheckUtils]: 46: Hoare triple {1694#false} assume !false; {1694#false} is VALID [2022-02-20 16:57:58,587 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 16:57:58,588 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:57:58,588 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1058744] [2022-02-20 16:57:58,588 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1058744] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:57:58,588 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [24245058] [2022-02-20 16:57:58,588 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 16:57:58,588 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:57:58,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:57:58,600 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:57:58,601 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:57:58,759 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 16:57:58,760 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 16:57:58,762 INFO L263 TraceCheckSpWp]: Trace formula consists of 499 conjuncts, 38 conjunts are in the unsatisfiable core [2022-02-20 16:57:58,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:57:58,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:57:58,850 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:57:58,894 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:57:58,894 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:57:58,928 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:58,929 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 16 treesize of output 17 [2022-02-20 16:57:59,024 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,025 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,026 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,027 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,028 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,029 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,030 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,031 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,032 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,034 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 16:57:59,035 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 11 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 50 [2022-02-20 16:57:59,084 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 23 treesize of output 23 [2022-02-20 16:57:59,222 INFO L290 TraceCheckUtils]: 0: Hoare triple {1693#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(18, 2); {1693#true} is VALID [2022-02-20 16:57:59,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {1693#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1693#true} is VALID [2022-02-20 16:57:59,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 3: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 4: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 5: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 6: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 7: Hoare triple {1693#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 9: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 10: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {1693#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, 12 + dll_create_~head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 18: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {1693#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, 12 + dll_create_~head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,224 INFO L290 TraceCheckUtils]: 22: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:59,225 INFO L290 TraceCheckUtils]: 23: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,225 INFO L290 TraceCheckUtils]: 24: Hoare triple {1695#(= (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); {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,226 INFO L290 TraceCheckUtils]: 28: Hoare triple {1695#(= (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;call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 12 + dll_create_~head~0#1.offset, 4); {1695#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,227 INFO L290 TraceCheckUtils]: 29: Hoare triple {1695#(= (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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1696#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 16:57:59,227 INFO L290 TraceCheckUtils]: 30: Hoare triple {1696#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1797#(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:57:59,228 INFO L290 TraceCheckUtils]: 31: Hoare triple {1797#(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); {1797#(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:57:59,229 INFO L290 TraceCheckUtils]: 32: Hoare triple {1797#(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(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1804#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,229 INFO L290 TraceCheckUtils]: 33: Hoare triple {1804#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1804#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,230 INFO L290 TraceCheckUtils]: 34: Hoare triple {1804#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1804#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {1804#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 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, 12 + dll_create_~head~0#1.offset, 4); {1814#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,232 INFO L290 TraceCheckUtils]: 36: Hoare triple {1814#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1818#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 0) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:57:59,232 INFO L290 TraceCheckUtils]: 37: Hoare triple {1818#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 0) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {1818#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 0) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:57:59,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {1818#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 0) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1825#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) 0) 0) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) 8) 0))} is VALID [2022-02-20 16:57:59,233 INFO L290 TraceCheckUtils]: 39: Hoare triple {1825#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) 0) 0) (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) 8) 0))} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {1829#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 8) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} is VALID [2022-02-20 16:57:59,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {1829#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 8) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {1829#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 8) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} is VALID [2022-02-20 16:57:59,234 INFO L290 TraceCheckUtils]: 41: Hoare triple {1829#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 0)) (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) 8) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {1703#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:57:59,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {1703#(not |ULTIMATE.start_main_#t~short10#1|)} assume main_#t~short10#1; {1694#false} is VALID [2022-02-20 16:57:59,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {1694#false} main_#t~short12#1 := main_#t~short10#1; {1694#false} is VALID [2022-02-20 16:57:59,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#false} assume main_#t~short12#1; {1694#false} is VALID [2022-02-20 16:57:59,234 INFO L290 TraceCheckUtils]: 45: Hoare triple {1694#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {1694#false} is VALID [2022-02-20 16:57:59,234 INFO L290 TraceCheckUtils]: 46: Hoare triple {1694#false} assume !false; {1694#false} is VALID [2022-02-20 16:57:59,235 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 16:57:59,235 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:57:59,275 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_716 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)) is different from false [2022-02-20 16:57:59,325 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_716 (Array Int Int)) (v_ArrVal_714 Int) (v_ArrVal_712 Int) (v_ArrVal_711 Int)) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |c_#memory_int| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_714) (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_712) (+ 12 |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_711)) |c_ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)) is different from false [2022-02-20 16:57:59,481 INFO L356 Elim1Store]: treesize reduction 308, result has 13.7 percent of original size [2022-02-20 16:57:59,481 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 5 case distinctions, treesize of input 38 treesize of output 59 [2022-02-20 16:57:59,489 INFO L356 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2022-02-20 16:57:59,490 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 40 treesize of output 26 [2022-02-20 16:57:59,493 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 16:57:59,557 INFO L290 TraceCheckUtils]: 46: Hoare triple {1694#false} assume !false; {1694#false} is VALID [2022-02-20 16:57:59,558 INFO L290 TraceCheckUtils]: 45: Hoare triple {1694#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {1694#false} is VALID [2022-02-20 16:57:59,558 INFO L290 TraceCheckUtils]: 44: Hoare triple {1694#false} assume main_#t~short12#1; {1694#false} is VALID [2022-02-20 16:57:59,558 INFO L290 TraceCheckUtils]: 43: Hoare triple {1694#false} main_#t~short12#1 := main_#t~short10#1; {1694#false} is VALID [2022-02-20 16:57:59,558 INFO L290 TraceCheckUtils]: 42: Hoare triple {1703#(not |ULTIMATE.start_main_#t~short10#1|)} assume main_#t~short10#1; {1694#false} is VALID [2022-02-20 16:57:59,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {1703#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:57:59,559 INFO L290 TraceCheckUtils]: 40: Hoare triple {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} is VALID [2022-02-20 16:57:59,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {1701#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset|) 0)} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {1702#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) |ULTIMATE.start_main_~head~1#1.offset|) 0)} is VALID [2022-02-20 16:57:59,562 INFO L290 TraceCheckUtils]: 38: Hoare triple {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {1701#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) |ULTIMATE.start_dll_create_#res#1.offset|) 0)} is VALID [2022-02-20 16:57:59,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} assume !(dll_create_~len#1 > 0); {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:59,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {1699#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1700#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) |ULTIMATE.start_dll_create_~head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:59,563 INFO L290 TraceCheckUtils]: 35: Hoare triple {1884#(forall ((v_ArrVal_716 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 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, 12 + dll_create_~head~0#1.offset, 4); {1699#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0)} is VALID [2022-02-20 16:57:59,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {1888#(forall ((v_ArrVal_716 (Array Int Int)) (v_ArrVal_714 Int) (v_ArrVal_712 Int) (v_ArrVal_711 Int)) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_714) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_712) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_711)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1884#(forall ((v_ArrVal_716 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,565 INFO L290 TraceCheckUtils]: 33: Hoare triple {1888#(forall ((v_ArrVal_716 (Array Int Int)) (v_ArrVal_714 Int) (v_ArrVal_712 Int) (v_ArrVal_711 Int)) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_714) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_712) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_711)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1888#(forall ((v_ArrVal_716 (Array Int Int)) (v_ArrVal_714 Int) (v_ArrVal_712 Int) (v_ArrVal_711 Int)) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_714) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_712) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_711)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,566 INFO L290 TraceCheckUtils]: 32: Hoare triple {1697#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1888#(forall ((v_ArrVal_716 (Array Int Int)) (v_ArrVal_714 Int) (v_ArrVal_712 Int) (v_ArrVal_711 Int)) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_714) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_712) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_711)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_716) |ULTIMATE.start_dll_create_~new_head~0#1.base|) |ULTIMATE.start_dll_create_~new_head~0#1.offset|) 0))} is VALID [2022-02-20 16:57:59,567 INFO L290 TraceCheckUtils]: 31: Hoare triple {1697#(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); {1697#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:57:59,567 INFO L290 TraceCheckUtils]: 30: Hoare triple {1901#(not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1697#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:57:59,567 INFO L290 TraceCheckUtils]: 29: Hoare triple {1905#(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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1901#(not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,568 INFO L290 TraceCheckUtils]: 28: Hoare triple {1905#(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;call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 12 + dll_create_~head~0#1.offset, 4); {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,569 INFO L290 TraceCheckUtils]: 24: Hoare triple {1905#(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); {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,569 INFO L290 TraceCheckUtils]: 23: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1905#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {1693#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, 12 + dll_create_~head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {1693#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, 12 + dll_create_~head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 10: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:59,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 8: Hoare triple {1693#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {1693#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 6: Hoare triple {1693#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {1693#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 4: Hoare triple {1693#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 3: Hoare triple {1693#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {1693#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {1693#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L290 TraceCheckUtils]: 0: Hoare triple {1693#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(18, 2); {1693#true} is VALID [2022-02-20 16:57:59,571 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 3 not checked. [2022-02-20 16:57:59,572 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [24245058] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:57:59,572 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:57:59,572 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11, 12] total 21 [2022-02-20 16:57:59,572 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [271525370] [2022-02-20 16:57:59,573 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:57:59,573 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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 47 [2022-02-20 16:57:59,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:57:59,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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:57:59,611 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:57:59,611 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 16:57:59,611 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:57:59,611 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 16:57:59,612 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=295, Unknown=2, NotChecked=70, Total=420 [2022-02-20 16:57:59,612 INFO L87 Difference]: Start difference. First operand 60 states and 78 transitions. Second operand has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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:58:00,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:58:00,633 INFO L93 Difference]: Finished difference Result 93 states and 125 transitions. [2022-02-20 16:58:00,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 16:58:00,633 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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 47 [2022-02-20 16:58:00,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:58:00,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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:58:00,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 97 transitions. [2022-02-20 16:58:00,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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:58:00,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 97 transitions. [2022-02-20 16:58:00,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 97 transitions. [2022-02-20 16:58:00,717 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:58:00,717 INFO L225 Difference]: With dead ends: 93 [2022-02-20 16:58:00,718 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 16:58:00,718 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 30 ConstructedPredicates, 2 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=199, Invalid=677, Unknown=2, NotChecked=114, Total=992 [2022-02-20 16:58:00,718 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 229 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 229 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 468 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 148 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 16:58:00,719 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [229 Valid, 162 Invalid, 468 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 283 Invalid, 0 Unknown, 148 Unchecked, 0.3s Time] [2022-02-20 16:58:00,719 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 16:58:00,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 56. [2022-02-20 16:58:00,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:58:00,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 56 states, 55 states have (on average 1.3272727272727274) internal successors, (73), 55 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:58:00,734 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 56 states, 55 states have (on average 1.3272727272727274) internal successors, (73), 55 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:58:00,734 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 56 states, 55 states have (on average 1.3272727272727274) internal successors, (73), 55 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:58:00,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:58:00,739 INFO L93 Difference]: Finished difference Result 80 states and 105 transitions. [2022-02-20 16:58:00,739 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 105 transitions. [2022-02-20 16:58:00,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:58:00,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:58:00,740 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 55 states have (on average 1.3272727272727274) internal successors, (73), 55 states have internal predecessors, (73), 0 states have call successors, (0), 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 80 states. [2022-02-20 16:58:00,740 INFO L87 Difference]: Start difference. First operand has 56 states, 55 states have (on average 1.3272727272727274) internal successors, (73), 55 states have internal predecessors, (73), 0 states have call successors, (0), 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 80 states. [2022-02-20 16:58:00,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:58:00,743 INFO L93 Difference]: Finished difference Result 80 states and 105 transitions. [2022-02-20 16:58:00,743 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 105 transitions. [2022-02-20 16:58:00,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:58:00,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:58:00,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:58:00,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:58:00,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 55 states have (on average 1.3272727272727274) internal successors, (73), 55 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have 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:58:00,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 73 transitions. [2022-02-20 16:58:00,756 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 73 transitions. Word has length 47 [2022-02-20 16:58:00,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:58:00,756 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 73 transitions. [2022-02-20 16:58:00,758 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.761904761904762) internal successors, (58), 21 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:58:00,758 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 73 transitions. [2022-02-20 16:58:00,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 16:58:00,758 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:58:00,758 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:58:00,779 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:58:00,971 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:58:00,971 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:58:00,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:58:00,972 INFO L85 PathProgramCache]: Analyzing trace with hash 2038353598, now seen corresponding path program 1 times [2022-02-20 16:58:00,972 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:58:00,972 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1763212327] [2022-02-20 16:58:00,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:58:00,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:58:01,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:58:01,246 INFO L290 TraceCheckUtils]: 0: Hoare triple {2358#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(18, 2); {2358#true} is VALID [2022-02-20 16:58:01,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {2358#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2358#true} is VALID [2022-02-20 16:58:01,246 INFO L290 TraceCheckUtils]: 2: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 16:58:01,247 INFO L290 TraceCheckUtils]: 3: Hoare triple {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 16:58:01,247 INFO L290 TraceCheckUtils]: 4: Hoare triple {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 16:58:01,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 16:58:01,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 16:58:01,248 INFO L290 TraceCheckUtils]: 7: Hoare triple {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} is VALID [2022-02-20 16:58:01,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {2360#(= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0)} dll_create_~head~0#1.base, dll_create_~head~0#1.offset := dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset;dll_create_#t~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:01,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:01,249 INFO L290 TraceCheckUtils]: 10: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:01,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 12: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 13: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 14: Hoare triple {2358#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, 12 + dll_create_~head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 15: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 16: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 17: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {2358#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, 12 + dll_create_~head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,251 INFO L290 TraceCheckUtils]: 22: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:01,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,252 INFO L290 TraceCheckUtils]: 24: Hoare triple {2361#(= (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); {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,254 INFO L290 TraceCheckUtils]: 28: Hoare triple {2361#(= (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;call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 12 + dll_create_~head~0#1.offset, 4); {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,254 INFO L290 TraceCheckUtils]: 29: Hoare triple {2361#(= (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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2362#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,255 INFO L290 TraceCheckUtils]: 30: Hoare triple {2362#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2363#(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:58:01,255 INFO L290 TraceCheckUtils]: 31: Hoare triple {2363#(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); {2363#(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:58:01,256 INFO L290 TraceCheckUtils]: 32: Hoare triple {2363#(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(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2364#(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_int| |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:58:01,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {2364#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2364#(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_int| |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:58:01,258 INFO L290 TraceCheckUtils]: 34: Hoare triple {2364#(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_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2364#(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_int| |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:58:01,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {2364#(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_int| |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, 12 + dll_create_~head~0#1.offset, 4); {2365#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select (select |#memory_int| |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:58:01,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {2365#(and (= |ULTIMATE.start_dll_create_~new_head~0#1.offset| 0) (= (select (select |#memory_int| |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2366#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:58:01,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {2366#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} assume !(dll_create_~len#1 > 0); {2366#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} is VALID [2022-02-20 16:58:01,261 INFO L290 TraceCheckUtils]: 38: Hoare triple {2366#(and (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) 8) 0) (= |ULTIMATE.start_dll_create_~head~0#1.offset| 0))} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2367#(and (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) 8) 0))} is VALID [2022-02-20 16:58:01,261 INFO L290 TraceCheckUtils]: 39: Hoare triple {2367#(and (= |ULTIMATE.start_dll_create_#res#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) 8) 0))} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {2368#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} is VALID [2022-02-20 16:58:01,262 INFO L290 TraceCheckUtils]: 40: Hoare triple {2368#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {2368#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} is VALID [2022-02-20 16:58:01,262 INFO L290 TraceCheckUtils]: 41: Hoare triple {2368#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {2368#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} is VALID [2022-02-20 16:58:01,263 INFO L290 TraceCheckUtils]: 42: Hoare triple {2368#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0) (= |ULTIMATE.start_main_~head~1#1.offset| 0))} assume !main_#t~short10#1;call main_#t~mem9#1 := read~int(main_~head~1#1.base, 8 + main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem9#1; {2369#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:58:01,263 INFO L290 TraceCheckUtils]: 43: Hoare triple {2369#(not |ULTIMATE.start_main_#t~short10#1|)} main_#t~short12#1 := main_#t~short10#1; {2370#(not |ULTIMATE.start_main_#t~short12#1|)} is VALID [2022-02-20 16:58:01,264 INFO L290 TraceCheckUtils]: 44: Hoare triple {2370#(not |ULTIMATE.start_main_#t~short12#1|)} assume main_#t~short12#1; {2359#false} is VALID [2022-02-20 16:58:01,264 INFO L290 TraceCheckUtils]: 45: Hoare triple {2359#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {2359#false} is VALID [2022-02-20 16:58:01,264 INFO L290 TraceCheckUtils]: 46: Hoare triple {2359#false} assume !false; {2359#false} is VALID [2022-02-20 16:58:01,264 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 38 proven. 25 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 16:58:01,264 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 16:58:01,265 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1763212327] [2022-02-20 16:58:01,265 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1763212327] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 16:58:01,265 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [984186862] [2022-02-20 16:58:01,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:58:01,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:58:01,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 16:58:01,280 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:58:01,305 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:58:01,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:58:01,451 INFO L263 TraceCheckSpWp]: Trace formula consists of 502 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 16:58:01,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 16:58:01,466 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 16:58:01,507 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:58:01,545 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 16:58:01,545 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:58:01,574 INFO L356 Elim1Store]: treesize reduction 21, result has 25.0 percent of original size [2022-02-20 16:58:01,575 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 1 case distinctions, treesize of input 16 treesize of output 17 [2022-02-20 16:58:01,672 INFO L356 Elim1Store]: treesize reduction 181, result has 13.4 percent of original size [2022-02-20 16:58:01,673 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 3 case distinctions, treesize of input 33 treesize of output 40 [2022-02-20 16:58:01,712 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 16 treesize of output 18 [2022-02-20 16:58:01,810 INFO L290 TraceCheckUtils]: 0: Hoare triple {2358#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(18, 2); {2358#true} is VALID [2022-02-20 16:58:01,811 INFO L290 TraceCheckUtils]: 1: Hoare triple {2358#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2358#true} is VALID [2022-02-20 16:58:01,811 INFO L290 TraceCheckUtils]: 2: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:01,811 INFO L290 TraceCheckUtils]: 3: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:01,811 INFO L290 TraceCheckUtils]: 4: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:01,811 INFO L290 TraceCheckUtils]: 5: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 6: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 7: Hoare triple {2358#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 10: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 11: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:01,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 14: Hoare triple {2358#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, 12 + dll_create_~head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 15: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 16: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 17: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:01,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,814 INFO L290 TraceCheckUtils]: 21: Hoare triple {2358#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, 12 + dll_create_~head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:01,814 INFO L290 TraceCheckUtils]: 22: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:01,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,815 INFO L290 TraceCheckUtils]: 24: Hoare triple {2361#(= (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); {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,815 INFO L290 TraceCheckUtils]: 25: Hoare triple {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,815 INFO L290 TraceCheckUtils]: 26: Hoare triple {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,816 INFO L290 TraceCheckUtils]: 27: Hoare triple {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,816 INFO L290 TraceCheckUtils]: 28: Hoare triple {2361#(= (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;call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 12 + dll_create_~head~0#1.offset, 4); {2361#(= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,816 INFO L290 TraceCheckUtils]: 29: Hoare triple {2361#(= (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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2362#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} is VALID [2022-02-20 16:58:01,817 INFO L290 TraceCheckUtils]: 30: Hoare triple {2362#(= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 1)} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2464#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:58:01,818 INFO L290 TraceCheckUtils]: 31: Hoare triple {2464#(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); {2464#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:58:01,819 INFO L290 TraceCheckUtils]: 32: Hoare triple {2464#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2471#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |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:58:01,819 INFO L290 TraceCheckUtils]: 33: Hoare triple {2471#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2471#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |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:58:01,820 INFO L290 TraceCheckUtils]: 34: Hoare triple {2471#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2471#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |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:58:01,821 INFO L290 TraceCheckUtils]: 35: Hoare triple {2471#(and (not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|)) (= (select (select |#memory_int| |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, 12 + dll_create_~head~0#1.offset, 4); {2481#(= (select (select |#memory_int| |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:58:01,821 INFO L290 TraceCheckUtils]: 36: Hoare triple {2481#(= (select (select |#memory_int| |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:01,821 INFO L290 TraceCheckUtils]: 37: Hoare triple {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} assume !(dll_create_~len#1 > 0); {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:01,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2492#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) (+ |ULTIMATE.start_dll_create_#res#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:01,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {2492#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) (+ |ULTIMATE.start_dll_create_#res#1.offset| 8)) 0)} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:01,822 INFO L290 TraceCheckUtils]: 40: Hoare triple {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:01,823 INFO L290 TraceCheckUtils]: 41: Hoare triple {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:01,823 INFO L290 TraceCheckUtils]: 42: Hoare triple {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} assume !main_#t~short10#1;call main_#t~mem9#1 := read~int(main_~head~1#1.base, 8 + main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem9#1; {2369#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:58:01,823 INFO L290 TraceCheckUtils]: 43: Hoare triple {2369#(not |ULTIMATE.start_main_#t~short10#1|)} main_#t~short12#1 := main_#t~short10#1; {2370#(not |ULTIMATE.start_main_#t~short12#1|)} is VALID [2022-02-20 16:58:01,824 INFO L290 TraceCheckUtils]: 44: Hoare triple {2370#(not |ULTIMATE.start_main_#t~short12#1|)} assume main_#t~short12#1; {2359#false} is VALID [2022-02-20 16:58:01,824 INFO L290 TraceCheckUtils]: 45: Hoare triple {2359#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {2359#false} is VALID [2022-02-20 16:58:01,824 INFO L290 TraceCheckUtils]: 46: Hoare triple {2359#false} assume !false; {2359#false} is VALID [2022-02-20 16:58:01,824 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 16:58:01,824 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 16:58:01,877 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1057 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 8 |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|)) 0)) is different from false [2022-02-20 16:58:01,928 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1051 Int) (v_ArrVal_1053 Int) (v_ArrVal_1055 Int) (v_ArrVal_1057 (Array Int Int))) (= (select (select (store (store |c_#memory_int| |c_ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |c_#memory_int| |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_1053) (+ |c_ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_1055) (+ 12 |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_1051)) |c_ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |c_ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 8 |c_ULTIMATE.start_dll_create_~new_head~0#1.offset|)) 0)) is different from false [2022-02-20 16:58:02,183 INFO L356 Elim1Store]: treesize reduction 308, result has 13.7 percent of original size [2022-02-20 16:58:02,184 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 5 case distinctions, treesize of input 40 treesize of output 61 [2022-02-20 16:58:02,192 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 36 treesize of output 24 [2022-02-20 16:58:02,271 INFO L290 TraceCheckUtils]: 46: Hoare triple {2359#false} assume !false; {2359#false} is VALID [2022-02-20 16:58:02,271 INFO L290 TraceCheckUtils]: 45: Hoare triple {2359#false} assume main_#t~short12#1;havoc main_#t~mem8#1;havoc main_#t~mem9#1;havoc main_#t~short10#1;havoc main_#t~mem11#1;havoc main_#t~short12#1; {2359#false} is VALID [2022-02-20 16:58:02,272 INFO L290 TraceCheckUtils]: 44: Hoare triple {2370#(not |ULTIMATE.start_main_#t~short12#1|)} assume main_#t~short12#1; {2359#false} is VALID [2022-02-20 16:58:02,272 INFO L290 TraceCheckUtils]: 43: Hoare triple {2369#(not |ULTIMATE.start_main_#t~short10#1|)} main_#t~short12#1 := main_#t~short10#1; {2370#(not |ULTIMATE.start_main_#t~short12#1|)} is VALID [2022-02-20 16:58:02,273 INFO L290 TraceCheckUtils]: 42: Hoare triple {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} assume !main_#t~short10#1;call main_#t~mem9#1 := read~int(main_~head~1#1.base, 8 + main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem9#1; {2369#(not |ULTIMATE.start_main_#t~short10#1|)} is VALID [2022-02-20 16:58:02,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} assume !!(main_#t~mem14#1.base != 0 || main_#t~mem14#1.offset != 0);havoc main_#t~mem14#1.base, main_#t~mem14#1.offset;call main_#t~mem8#1 := read~int(main_~head~1#1.base, main_~head~1#1.offset, 4);main_#t~short10#1 := 0 != main_#t~mem8#1; {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:02,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} call main_#t~mem14#1.base, main_#t~mem14#1.offset := read~$Pointer$(main_~head~1#1.base, 4 + main_~head~1#1.offset, 4); {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:02,274 INFO L290 TraceCheckUtils]: 39: Hoare triple {2492#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) (+ |ULTIMATE.start_dll_create_#res#1.offset| 8)) 0)} main_#t~ret7#1.base, main_#t~ret7#1.offset := dll_create_#res#1.base, dll_create_#res#1.offset;assume { :end_inline_dll_create } true;main_~head~1#1.base, main_~head~1#1.offset := main_#t~ret7#1.base, main_#t~ret7#1.offset;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset; {2496#(= (select (select |#memory_int| |ULTIMATE.start_main_~head~1#1.base|) (+ |ULTIMATE.start_main_~head~1#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:02,274 INFO L290 TraceCheckUtils]: 38: Hoare triple {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} dll_create_#res#1.base, dll_create_#res#1.offset := dll_create_~head~0#1.base, dll_create_~head~0#1.offset; {2492#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_#res#1.base|) (+ |ULTIMATE.start_dll_create_#res#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:02,275 INFO L290 TraceCheckUtils]: 37: Hoare triple {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} assume !(dll_create_~len#1 > 0); {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:02,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {2481#(= (select (select |#memory_int| |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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2485#(= (select (select |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base|) (+ |ULTIMATE.start_dll_create_~head~0#1.offset| 8)) 0)} is VALID [2022-02-20 16:58:02,276 INFO L290 TraceCheckUtils]: 35: Hoare triple {2551#(forall ((v_ArrVal_1057 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |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, 12 + dll_create_~head~0#1.offset, 4); {2481#(= (select (select |#memory_int| |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:58:02,278 INFO L290 TraceCheckUtils]: 34: Hoare triple {2555#(forall ((v_ArrVal_1051 Int) (v_ArrVal_1053 Int) (v_ArrVal_1055 Int) (v_ArrVal_1057 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_1053) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_1055) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_1051)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2551#(forall ((v_ArrVal_1057 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |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:58:02,279 INFO L290 TraceCheckUtils]: 33: Hoare triple {2555#(forall ((v_ArrVal_1051 Int) (v_ArrVal_1053 Int) (v_ArrVal_1055 Int) (v_ArrVal_1057 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_1053) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_1055) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_1051)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 8)) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2555#(forall ((v_ArrVal_1051 Int) (v_ArrVal_1053 Int) (v_ArrVal_1055 Int) (v_ArrVal_1057 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_1053) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_1055) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_1051)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |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:58:02,285 INFO L290 TraceCheckUtils]: 32: Hoare triple {2464#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2555#(forall ((v_ArrVal_1051 Int) (v_ArrVal_1053 Int) (v_ArrVal_1055 Int) (v_ArrVal_1057 (Array Int Int))) (= (select (select (store (store |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base| (store (store (store (select |#memory_int| |ULTIMATE.start_dll_create_~new_head~0#1.base|) (+ 16 |ULTIMATE.start_dll_create_~new_head~0#1.offset|) v_ArrVal_1053) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 4) v_ArrVal_1055) (+ |ULTIMATE.start_dll_create_~new_head~0#1.offset| 12) v_ArrVal_1051)) |ULTIMATE.start_dll_create_~head~0#1.base| v_ArrVal_1057) |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:58:02,285 INFO L290 TraceCheckUtils]: 31: Hoare triple {2464#(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); {2464#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:58:02,286 INFO L290 TraceCheckUtils]: 30: Hoare triple {2568#(not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 0))} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2464#(not (= |ULTIMATE.start_dll_create_~head~0#1.base| |ULTIMATE.start_dll_create_~new_head~0#1.base|))} is VALID [2022-02-20 16:58:02,286 INFO L290 TraceCheckUtils]: 29: Hoare triple {2572#(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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2568#(not (= (select |#valid| |ULTIMATE.start_dll_create_~head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,286 INFO L290 TraceCheckUtils]: 28: Hoare triple {2572#(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;call write~$Pointer$(dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~head~0#1.base, 12 + dll_create_~head~0#1.offset, 4); {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,287 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 24: Hoare triple {2572#(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); {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 23: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2572#(not (= (select |#valid| |ULTIMATE.start_dll_create_~new_head~0#1.base|) 0))} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 22: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 21: Hoare triple {2358#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, 12 + dll_create_~head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 20: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 19: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:02,288 INFO L290 TraceCheckUtils]: 18: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 17: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 16: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 15: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 14: Hoare triple {2358#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, 12 + dll_create_~head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 11: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 10: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 9: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {2358#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~post6#1 := dll_create_~len#1;dll_create_~len#1 := dll_create_#t~post6#1 - 1;havoc dll_create_#t~post6#1; {2358#true} is VALID [2022-02-20 16:58:02,289 INFO L290 TraceCheckUtils]: 7: Hoare triple {2358#true} assume !(dll_create_~head~0#1.base != 0 || dll_create_~head~0#1.offset != 0); {2358#true} is VALID [2022-02-20 16:58:02,291 INFO L290 TraceCheckUtils]: 6: Hoare triple {2358#true} call write~int(dll_create_#t~ite5#1, dll_create_~new_head~0#1.base, 16 + dll_create_~new_head~0#1.offset, 4);havoc dll_create_#t~nondet4#1;havoc dll_create_#t~ite5#1;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, 12 + dll_create_~new_head~0#1.offset, 4); {2358#true} is VALID [2022-02-20 16:58:02,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {2358#true} assume dll_create_#t~nondet4#1 == dll_create_~len#1;dll_create_#t~ite5#1 := 1; {2358#true} is VALID [2022-02-20 16:58:02,291 INFO L290 TraceCheckUtils]: 4: Hoare triple {2358#true} call write~int(0, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, 4);call write~int(0, dll_create_~new_head~0#1.base, 8 + dll_create_~new_head~0#1.offset, 4);assume -2147483648 <= dll_create_#t~nondet4#1 && dll_create_#t~nondet4#1 <= 2147483647; {2358#true} is VALID [2022-02-20 16:58:02,292 INFO L290 TraceCheckUtils]: 3: Hoare triple {2358#true} assume !(0 == dll_create_~new_head~0#1.base && 0 == dll_create_~new_head~0#1.offset); {2358#true} is VALID [2022-02-20 16:58:02,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {2358#true} assume !!(dll_create_~len#1 > 0);call dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset := #Ultimate.allocOnHeap(20);dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset := dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset; {2358#true} is VALID [2022-02-20 16:58:02,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {2358#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret7#1.base, main_#t~ret7#1.offset, main_#t~mem8#1, main_#t~mem9#1, main_#t~short10#1, main_#t~mem11#1, main_#t~short12#1, main_#t~mem13#1.base, main_#t~mem13#1.offset, main_#t~mem14#1.base, main_#t~mem14#1.offset, main_#t~mem15#1.base, main_#t~mem15#1.offset, main_#t~mem16#1, main_#t~mem17#1, main_#t~short18#1, main_#t~mem19#1, main_#t~short20#1, main_~temp~0#1.base, main_~temp~0#1.offset, main_~len~0#1, main_~head~1#1.base, main_~head~1#1.offset;main_~len~0#1 := 5;assume { :begin_inline_dll_create } true;dll_create_#in~len#1 := main_~len~0#1;havoc dll_create_#res#1.base, dll_create_#res#1.offset;havoc dll_create_#t~malloc3#1.base, dll_create_#t~malloc3#1.offset, dll_create_#t~nondet4#1, dll_create_#t~ite5#1, dll_create_#t~post6#1, dll_create_~new_head~0#1.base, dll_create_~new_head~0#1.offset, dll_create_~len#1, dll_create_~head~0#1.base, dll_create_~head~0#1.offset;dll_create_~len#1 := dll_create_#in~len#1;dll_create_~head~0#1.base, dll_create_~head~0#1.offset := 0, 0; {2358#true} is VALID [2022-02-20 16:58:02,292 INFO L290 TraceCheckUtils]: 0: Hoare triple {2358#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(18, 2); {2358#true} is VALID [2022-02-20 16:58:02,292 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 44 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 3 not checked. [2022-02-20 16:58:02,292 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [984186862] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 16:58:02,292 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 16:58:02,293 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 12, 13] total 23 [2022-02-20 16:58:02,293 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [503787259] [2022-02-20 16:58:02,293 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 16:58:02,293 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 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 47 [2022-02-20 16:58:02,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 16:58:02,294 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have 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:58:02,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:58:02,347 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 16:58:02,347 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 16:58:02,348 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 16:58:02,348 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=366, Unknown=2, NotChecked=78, Total=506 [2022-02-20 16:58:02,348 INFO L87 Difference]: Start difference. First operand 56 states and 73 transitions. Second operand has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have 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:58:03,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:58:03,269 INFO L93 Difference]: Finished difference Result 102 states and 135 transitions. [2022-02-20 16:58:03,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 16:58:03,270 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 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 47 [2022-02-20 16:58:03,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 16:58:03,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have 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:58:03,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 91 transitions. [2022-02-20 16:58:03,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have 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:58:03,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 91 transitions. [2022-02-20 16:58:03,272 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 91 transitions. [2022-02-20 16:58:03,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 16:58:03,355 INFO L225 Difference]: With dead ends: 102 [2022-02-20 16:58:03,356 INFO L226 Difference]: Without dead ends: 89 [2022-02-20 16:58:03,356 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 2 IntricatePredicates, 2 DeprecatedPredicates, 147 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=262, Invalid=866, Unknown=2, NotChecked=130, Total=1260 [2022-02-20 16:58:03,357 INFO L933 BasicCegarLoop]: 18 mSDtfsCounter, 417 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 216 mSolverCounterSat, 44 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 417 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 412 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 44 IncrementalHoareTripleChecker+Valid, 216 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 152 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 16:58:03,357 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [417 Valid, 133 Invalid, 412 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [44 Valid, 216 Invalid, 0 Unknown, 152 Unchecked, 0.2s Time] [2022-02-20 16:58:03,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-02-20 16:58:03,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 58. [2022-02-20 16:58:03,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 16:58:03,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 58 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 57 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have 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:58:03,366 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 58 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 57 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have 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:58:03,366 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 58 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 57 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have 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:58:03,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:58:03,368 INFO L93 Difference]: Finished difference Result 89 states and 115 transitions. [2022-02-20 16:58:03,368 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 115 transitions. [2022-02-20 16:58:03,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:58:03,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:58:03,369 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 57 states have internal predecessors, (75), 0 states have call successors, (0), 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 89 states. [2022-02-20 16:58:03,369 INFO L87 Difference]: Start difference. First operand has 58 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 57 states have internal predecessors, (75), 0 states have call successors, (0), 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 89 states. [2022-02-20 16:58:03,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 16:58:03,370 INFO L93 Difference]: Finished difference Result 89 states and 115 transitions. [2022-02-20 16:58:03,370 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 115 transitions. [2022-02-20 16:58:03,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 16:58:03,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 16:58:03,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 16:58:03,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 16:58:03,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 57 states have (on average 1.3157894736842106) internal successors, (75), 57 states have internal predecessors, (75), 0 states have call successors, (0), 0 states have 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:58:03,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 75 transitions. [2022-02-20 16:58:03,372 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 75 transitions. Word has length 47 [2022-02-20 16:58:03,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 16:58:03,372 INFO L470 AbstractCegarLoop]: Abstraction has 58 states and 75 transitions. [2022-02-20 16:58:03,373 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 2.869565217391304) internal successors, (66), 23 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have 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:58:03,373 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 75 transitions. [2022-02-20 16:58:03,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 16:58:03,374 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 16:58:03,374 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:58:03,393 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:58:03,591 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 16:58:03,592 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION === [ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 16:58:03,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 16:58:03,592 INFO L85 PathProgramCache]: Analyzing trace with hash 2038355520, now seen corresponding path program 1 times [2022-02-20 16:58:03,592 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 16:58:03,592 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1935775687] [2022-02-20 16:58:03,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 16:58:03,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 16:58:03,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:58:03,665 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 16:58:03,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 16:58:03,735 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 16:58:03,736 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 16:58:03,736 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 16:58:03,738 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 16:58:03,740 INFO L732 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 16:58:03,742 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 16:58:03,778 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-02-20 16:58:03,778 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L580-2 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L580-2 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L580-2 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L580-3 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L596 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L582-1 has no Hoare annotation [2022-02-20 16:58:03,779 WARN L170 areAnnotationChecker]: L601-3 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L601-3 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L587 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L587 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L607-1 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L607-1 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L607-1 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L601-1 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L601-1 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L587-2 has no Hoare annotation [2022-02-20 16:58:03,780 WARN L170 areAnnotationChecker]: L607-2 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L590 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L590 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L617 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L609-2 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L602-2 has no Hoare annotation [2022-02-20 16:58:03,781 WARN L170 areAnnotationChecker]: L590-2 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L609-3 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L609-3 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L602-3 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L602-3 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L609-5 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L609-5 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L602-5 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L602-5 has no Hoare annotation [2022-02-20 16:58:03,782 WARN L170 areAnnotationChecker]: L610 has no Hoare annotation [2022-02-20 16:58:03,783 WARN L170 areAnnotationChecker]: L610 has no Hoare annotation [2022-02-20 16:58:03,783 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-02-20 16:58:03,783 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 20.02 04:58:03 BoogieIcfgContainer [2022-02-20 16:58:03,783 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-02-20 16:58:03,784 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2022-02-20 16:58:03,784 INFO L271 PluginConnector]: Initializing Witness Printer... [2022-02-20 16:58:03,784 INFO L275 PluginConnector]: Witness Printer initialized [2022-02-20 16:58:03,785 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 04:57:54" (3/4) ... [2022-02-20 16:58:03,786 INFO L131 WitnessPrinter]: Generating witness for reachability counterexample [2022-02-20 16:58:03,825 INFO L141 WitnessManager]: Wrote witness to /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/witness.graphml [2022-02-20 16:58:03,825 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2022-02-20 16:58:03,826 INFO L158 Benchmark]: Toolchain (without parser) took 9816.22ms. Allocated memory was 113.2MB in the beginning and 180.4MB in the end (delta: 67.1MB). Free memory was 75.0MB in the beginning and 58.8MB in the end (delta: 16.2MB). Peak memory consumption was 83.7MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,826 INFO L158 Benchmark]: CDTParser took 0.13ms. Allocated memory is still 113.2MB. Free memory is still 92.7MB. There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 16:58:03,827 INFO L158 Benchmark]: CACSL2BoogieTranslator took 375.43ms. Allocated memory is still 113.2MB. Free memory was 74.8MB in the beginning and 79.5MB in the end (delta: -4.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,827 INFO L158 Benchmark]: Boogie Procedure Inliner took 49.27ms. Allocated memory is still 113.2MB. Free memory was 79.5MB in the beginning and 77.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,827 INFO L158 Benchmark]: Boogie Preprocessor took 29.79ms. Allocated memory is still 113.2MB. Free memory was 77.4MB in the beginning and 75.3MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,827 INFO L158 Benchmark]: RCFGBuilder took 426.02ms. Allocated memory is still 113.2MB. Free memory was 75.3MB in the beginning and 60.6MB in the end (delta: 14.7MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,828 INFO L158 Benchmark]: TraceAbstraction took 8889.41ms. Allocated memory was 113.2MB in the beginning and 180.4MB in the end (delta: 67.1MB). Free memory was 60.1MB in the beginning and 66.1MB in the end (delta: -6.0MB). Peak memory consumption was 63.1MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,828 INFO L158 Benchmark]: Witness Printer took 41.23ms. Allocated memory is still 180.4MB. Free memory was 66.1MB in the beginning and 58.8MB in the end (delta: 7.3MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2022-02-20 16:58:03,829 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13ms. Allocated memory is still 113.2MB. Free memory is still 92.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 375.43ms. Allocated memory is still 113.2MB. Free memory was 74.8MB in the beginning and 79.5MB in the end (delta: -4.7MB). Peak memory consumption was 10.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 49.27ms. Allocated memory is still 113.2MB. Free memory was 79.5MB in the beginning and 77.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 29.79ms. Allocated memory is still 113.2MB. Free memory was 77.4MB in the beginning and 75.3MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 426.02ms. Allocated memory is still 113.2MB. Free memory was 75.3MB in the beginning and 60.6MB in the end (delta: 14.7MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * TraceAbstraction took 8889.41ms. Allocated memory was 113.2MB in the beginning and 180.4MB in the end (delta: 67.1MB). Free memory was 60.1MB in the beginning and 66.1MB in the end (delta: -6.0MB). Peak memory consumption was 63.1MB. Max. memory is 16.1GB. * Witness Printer took 41.23ms. Allocated memory is still 180.4MB. Free memory was 66.1MB in the beginning and 58.8MB in the end (delta: 7.3MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 616]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L599] const int len = 5; [L600] CALL, EXPR dll_create(len) [L579] DLL head = ((void *)0); VAL [\old(len)=5, head={0:0}, len=5] [L580] COND TRUE len > 0 [L581] DLL new_head = (DLL) malloc(sizeof(struct node)); [L582] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={0:0}, len=5, new_head={-1:0}] [L585] new_head->data_0 = 0 [L586] new_head->data_1 = 0 [L587] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=5, __VERIFIER_nondet_int() == len? 1 : 0=1, head={0:0}, len=5, new_head={-1:0}] [L587] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L588] new_head->next = head [L589] new_head->prev = ((void *)0) VAL [\old(len)=5, head={0:0}, len=5, new_head={-1:0}] [L590] COND FALSE !(\read(head)) VAL [\old(len)=5, head={0:0}, len=5, new_head={-1:0}] [L593] head = new_head [L594] len-- VAL [\old(len)=5, head={-1:0}, len=4, new_head={-1:0}] [L580] COND TRUE len > 0 [L581] DLL new_head = (DLL) malloc(sizeof(struct node)); [L582] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-1:0}, len=4, new_head={-2:0}] [L585] new_head->data_0 = 0 [L586] new_head->data_1 = 0 [L587] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=4, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-1:0}, len=4, new_head={-2:0}] [L587] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L588] new_head->next = head [L589] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-1:0}, len=4, new_head={-2:0}] [L590] COND TRUE \read(head) [L591] head->prev = new_head VAL [\old(len)=5, head={-1:0}, len=4, new_head={-2:0}] [L593] head = new_head [L594] len-- VAL [\old(len)=5, head={-2:0}, len=3, new_head={-2:0}] [L580] COND TRUE len > 0 [L581] DLL new_head = (DLL) malloc(sizeof(struct node)); [L582] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-2:0}, len=3, new_head={-3:0}] [L585] new_head->data_0 = 0 [L586] new_head->data_1 = 0 [L587] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=3, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-2:0}, len=3, new_head={-3:0}] [L587] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L588] new_head->next = head [L589] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-2:0}, len=3, new_head={-3:0}] [L590] COND TRUE \read(head) [L591] head->prev = new_head VAL [\old(len)=5, head={-2:0}, len=3, new_head={-3:0}] [L593] head = new_head [L594] len-- VAL [\old(len)=5, head={-3:0}, len=2, new_head={-3:0}] [L580] COND TRUE len > 0 [L581] DLL new_head = (DLL) malloc(sizeof(struct node)); [L582] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-3:0}, len=2, new_head={-4:0}] [L585] new_head->data_0 = 0 [L586] new_head->data_1 = 0 [L587] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=2, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-3:0}, len=2, new_head={-4:0}] [L587] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L588] new_head->next = head [L589] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-3:0}, len=2, new_head={-4:0}] [L590] COND TRUE \read(head) [L591] head->prev = new_head VAL [\old(len)=5, head={-3:0}, len=2, new_head={-4:0}] [L593] head = new_head [L594] len-- VAL [\old(len)=5, head={-4:0}, len=1, new_head={-4:0}] [L580] COND TRUE len > 0 [L581] DLL new_head = (DLL) malloc(sizeof(struct node)); [L582] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-4:0}, len=1, new_head={-5:0}] [L585] new_head->data_0 = 0 [L586] new_head->data_1 = 0 [L587] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=1, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-4:0}, len=1, new_head={-5:0}] [L587] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L588] new_head->next = head [L589] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-4:0}, len=1, new_head={-5:0}] [L590] COND TRUE \read(head) [L591] head->prev = new_head VAL [\old(len)=5, head={-4:0}, len=1, new_head={-5:0}] [L593] head = new_head [L594] len-- VAL [\old(len)=5, head={-5:0}, len=0, new_head={-5:0}] [L580] COND FALSE !(len > 0) VAL [\old(len)=5, head={-5:0}, len=0, new_head={-5:0}] [L596] return head; VAL [\old(len)=5, \result={-5:0}, head={-5:0}, len=0, new_head={-5:0}] [L600] RET, EXPR dll_create(len) [L600] DLL head = dll_create(len); [L601] head->next VAL [head={-5:0}, head->next={-4:0}, len=5] [L601] COND TRUE head->next [L602] EXPR head->data_0 [L602] EXPR 0 != head->data_0 || 0 != head->data_1 [L602] EXPR head->data_1 [L602] EXPR 0 != head->data_0 || 0 != head->data_1 VAL [0 != head->data_0 || 0 != head->data_1=0, head={-5:0}, head->data_0=0, head->data_1=0, len=5] [L602] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L602] EXPR head->data_2 [L602] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 VAL [0 != head->data_0 || 0 != head->data_1=0, 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2=1, head={-5:0}, head->data_0=0, head->data_1=0, head->data_2=1, len=5] [L602] COND TRUE 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L616] reach_error() VAL [head={-5:0}, len=5] - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 29 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 8.8s, OverallIterations: 9, TraceHistogramMax: 5, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 3.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 879 SdHoareTripleChecker+Valid, 0.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 879 mSDsluCounter, 749 SdHoareTripleChecker+Invalid, 0.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 300 IncrementalHoareTripleChecker+Unchecked, 531 mSDsCounter, 101 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 656 IncrementalHoareTripleChecker+Invalid, 1057 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 101 mSolverCounterUnsat, 218 mSDtfsCounter, 656 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 392 GetRequests, 305 SyntacticMatches, 3 SemanticMatches, 84 ConstructedPredicates, 4 IntricatePredicates, 2 DeprecatedPredicates, 281 ImplicationChecksByTransitivity, 0.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=60occurred in iteration=6, InterpolantAutomatonStates: 58, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 8 MinimizatonAttempts, 95 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 3.0s InterpolantComputationTime, 415 NumberOfCodeBlocks, 415 NumberOfCodeBlocksAsserted, 14 NumberOfCheckSat, 505 ConstructedInterpolants, 6 QuantifiedInterpolants, 1776 SizeOfPredicates, 32 NumberOfNonLiveVariables, 1547 ConjunctsInSsa, 88 ConjunctsInUnsatCore, 16 InterpolantComputations, 4 PerfectInterpolantSequences, 392/593 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-02-20 16:58:03,861 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE