/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/list-ext3-properties/dll_nullified-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 19:05:08,316 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 19:05:08,319 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 19:05:08,331 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 19:05:08,332 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 19:05:08,333 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 19:05:08,334 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 19:05:08,336 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 19:05:08,338 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 19:05:08,339 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 19:05:08,340 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 19:05:08,341 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 19:05:08,341 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 19:05:08,342 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 19:05:08,343 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 19:05:08,345 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 19:05:08,345 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 19:05:08,346 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 19:05:08,348 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 19:05:08,350 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 19:05:08,352 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 19:05:08,353 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 19:05:08,354 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 19:05:08,355 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 19:05:08,358 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 19:05:08,358 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 19:05:08,358 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 19:05:08,359 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 19:05:08,360 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 19:05:08,361 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 19:05:08,361 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 19:05:08,362 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 19:05:08,362 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 19:05:08,363 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 19:05:08,364 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 19:05:08,364 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 19:05:08,365 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 19:05:08,365 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 19:05:08,366 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 19:05:08,366 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 19:05:08,367 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 19:05:08,368 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-10 19:05:08,378 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 19:05:08,378 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 19:05:08,379 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 19:05:08,379 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 19:05:08,380 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 19:05:08,380 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 19:05:08,380 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 19:05:08,380 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 19:05:08,380 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 19:05:08,381 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 19:05:08,381 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 19:05:08,381 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 19:05:08,381 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 19:05:08,382 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 19:05:08,382 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 19:05:08,382 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-10 19:05:08,382 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 19:05:08,382 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 19:05:08,383 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 19:05:08,383 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 19:05:08,383 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-10 19:05:08,383 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 19:05:08,383 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-10 19:05:08,676 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 19:05:08,690 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 19:05:08,695 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 19:05:08,697 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 19:05:08,698 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 19:05:08,698 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext3-properties/dll_nullified-1.i [2020-07-10 19:05:08,760 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7077362a3/5c290b91a48247d098f965a8a41438e0/FLAGc86816ac7 [2020-07-10 19:05:09,266 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 19:05:09,267 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/dll_nullified-1.i [2020-07-10 19:05:09,291 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7077362a3/5c290b91a48247d098f965a8a41438e0/FLAGc86816ac7 [2020-07-10 19:05:09,584 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7077362a3/5c290b91a48247d098f965a8a41438e0 [2020-07-10 19:05:09,594 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 19:05:09,596 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 19:05:09,597 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 19:05:09,597 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 19:05:09,601 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 19:05:09,602 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 07:05:09" (1/1) ... [2020-07-10 19:05:09,605 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@120c33b0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:09, skipping insertion in model container [2020-07-10 19:05:09,606 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 07:05:09" (1/1) ... [2020-07-10 19:05:09,614 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 19:05:09,652 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 19:05:10,082 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 19:05:10,094 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 19:05:10,144 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 19:05:10,222 INFO L208 MainTranslator]: Completed translation [2020-07-10 19:05:10,223 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10 WrapperNode [2020-07-10 19:05:10,223 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 19:05:10,224 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 19:05:10,224 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 19:05:10,224 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 19:05:10,239 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,239 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,278 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,278 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,324 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,338 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,347 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... [2020-07-10 19:05:10,362 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 19:05:10,363 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 19:05:10,363 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 19:05:10,363 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 19:05:10,364 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 19:05:10,430 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 19:05:10,430 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 19:05:10,430 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-10 19:05:10,430 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-10 19:05:10,430 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-10 19:05:10,431 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create [2020-07-10 19:05:10,431 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 19:05:10,431 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 19:05:10,431 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 19:05:10,431 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-10 19:05:10,431 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-10 19:05:10,432 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-10 19:05:10,432 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-10 19:05:10,432 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-10 19:05:10,432 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-10 19:05:10,432 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-10 19:05:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-10 19:05:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-10 19:05:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-10 19:05:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-10 19:05:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-10 19:05:10,433 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-10 19:05:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-10 19:05:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-10 19:05:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-10 19:05:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-10 19:05:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-10 19:05:10,434 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-10 19:05:10,435 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-10 19:05:10,435 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-10 19:05:10,435 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-10 19:05:10,435 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-10 19:05:10,435 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-10 19:05:10,436 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-10 19:05:10,436 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-10 19:05:10,436 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-10 19:05:10,436 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-10 19:05:10,436 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-10 19:05:10,436 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-10 19:05:10,437 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-10 19:05:10,437 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-10 19:05:10,437 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-10 19:05:10,437 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-10 19:05:10,437 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-10 19:05:10,437 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-10 19:05:10,438 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-10 19:05:10,438 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-10 19:05:10,438 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-10 19:05:10,438 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-10 19:05:10,438 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-10 19:05:10,438 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-10 19:05:10,439 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-10 19:05:10,439 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-10 19:05:10,439 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-10 19:05:10,439 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-10 19:05:10,439 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-10 19:05:10,439 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-10 19:05:10,440 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-10 19:05:10,441 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-10 19:05:10,442 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-10 19:05:10,442 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-10 19:05:10,442 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-10 19:05:10,442 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-10 19:05:10,442 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-10 19:05:10,442 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-10 19:05:10,443 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-10 19:05:10,443 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-10 19:05:10,443 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-10 19:05:10,443 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-10 19:05:10,443 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-10 19:05:10,443 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-10 19:05:10,444 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-10 19:05:10,445 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-10 19:05:10,445 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-10 19:05:10,445 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-10 19:05:10,445 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-10 19:05:10,445 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-10 19:05:10,445 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-10 19:05:10,446 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-10 19:05:10,447 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-10 19:05:10,447 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-10 19:05:10,447 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-10 19:05:10,447 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-10 19:05:10,447 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-10 19:05:10,447 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create [2020-07-10 19:05:10,448 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 19:05:10,449 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 19:05:10,450 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 19:05:10,844 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-10 19:05:11,175 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 19:05:11,176 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-10 19:05:11,180 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 07:05:11 BoogieIcfgContainer [2020-07-10 19:05:11,181 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 19:05:11,182 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 19:05:11,182 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 19:05:11,186 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 19:05:11,186 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 07:05:09" (1/3) ... [2020-07-10 19:05:11,187 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@36f8b15d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 07:05:11, skipping insertion in model container [2020-07-10 19:05:11,187 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 07:05:10" (2/3) ... [2020-07-10 19:05:11,188 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@36f8b15d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 07:05:11, skipping insertion in model container [2020-07-10 19:05:11,188 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 07:05:11" (3/3) ... [2020-07-10 19:05:11,190 INFO L109 eAbstractionObserver]: Analyzing ICFG dll_nullified-1.i [2020-07-10 19:05:11,201 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-10 19:05:11,208 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 19:05:11,221 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 19:05:11,243 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 19:05:11,244 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 19:05:11,244 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-10 19:05:11,244 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 19:05:11,245 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 19:05:11,245 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 19:05:11,245 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 19:05:11,245 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 19:05:11,263 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states. [2020-07-10 19:05:11,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-10 19:05:11,277 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:11,278 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:11,278 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:11,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:11,285 INFO L82 PathProgramCache]: Analyzing trace with hash 136898680, now seen corresponding path program 1 times [2020-07-10 19:05:11,295 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:11,295 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2082890950] [2020-07-10 19:05:11,296 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:11,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:11,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:11,539 INFO L280 TraceCheckUtils]: 0: Hoare triple {117#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {104#true} is VALID [2020-07-10 19:05:11,540 INFO L280 TraceCheckUtils]: 1: Hoare triple {104#true} #valid := #valid[0 := 0]; {104#true} is VALID [2020-07-10 19:05:11,540 INFO L280 TraceCheckUtils]: 2: Hoare triple {104#true} assume 0 < #StackHeapBarrier; {104#true} is VALID [2020-07-10 19:05:11,541 INFO L280 TraceCheckUtils]: 3: Hoare triple {104#true} assume true; {104#true} is VALID [2020-07-10 19:05:11,542 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {104#true} {104#true} #188#return; {104#true} is VALID [2020-07-10 19:05:11,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:11,580 INFO L280 TraceCheckUtils]: 0: Hoare triple {118#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {104#true} is VALID [2020-07-10 19:05:11,581 INFO L280 TraceCheckUtils]: 1: Hoare triple {104#true} ~head~0.base, ~head~0.offset := 0, 0; {104#true} is VALID [2020-07-10 19:05:11,582 INFO L280 TraceCheckUtils]: 2: Hoare triple {104#true} assume !true; {105#false} is VALID [2020-07-10 19:05:11,583 INFO L280 TraceCheckUtils]: 3: Hoare triple {105#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {105#false} is VALID [2020-07-10 19:05:11,583 INFO L280 TraceCheckUtils]: 4: Hoare triple {105#false} assume true; {105#false} is VALID [2020-07-10 19:05:11,583 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {105#false} {104#true} #184#return; {105#false} is VALID [2020-07-10 19:05:11,585 INFO L263 TraceCheckUtils]: 0: Hoare triple {104#true} call ULTIMATE.init(); {117#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:11,586 INFO L280 TraceCheckUtils]: 1: Hoare triple {117#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {104#true} is VALID [2020-07-10 19:05:11,586 INFO L280 TraceCheckUtils]: 2: Hoare triple {104#true} #valid := #valid[0 := 0]; {104#true} is VALID [2020-07-10 19:05:11,586 INFO L280 TraceCheckUtils]: 3: Hoare triple {104#true} assume 0 < #StackHeapBarrier; {104#true} is VALID [2020-07-10 19:05:11,587 INFO L280 TraceCheckUtils]: 4: Hoare triple {104#true} assume true; {104#true} is VALID [2020-07-10 19:05:11,587 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {104#true} {104#true} #188#return; {104#true} is VALID [2020-07-10 19:05:11,587 INFO L263 TraceCheckUtils]: 6: Hoare triple {104#true} call #t~ret20 := main(); {104#true} is VALID [2020-07-10 19:05:11,588 INFO L280 TraceCheckUtils]: 7: Hoare triple {104#true} ~len~0 := 5; {104#true} is VALID [2020-07-10 19:05:11,590 INFO L263 TraceCheckUtils]: 8: Hoare triple {104#true} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {118#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:11,590 INFO L280 TraceCheckUtils]: 9: Hoare triple {118#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {104#true} is VALID [2020-07-10 19:05:11,590 INFO L280 TraceCheckUtils]: 10: Hoare triple {104#true} ~head~0.base, ~head~0.offset := 0, 0; {104#true} is VALID [2020-07-10 19:05:11,591 INFO L280 TraceCheckUtils]: 11: Hoare triple {104#true} assume !true; {105#false} is VALID [2020-07-10 19:05:11,592 INFO L280 TraceCheckUtils]: 12: Hoare triple {105#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {105#false} is VALID [2020-07-10 19:05:11,592 INFO L280 TraceCheckUtils]: 13: Hoare triple {105#false} assume true; {105#false} is VALID [2020-07-10 19:05:11,592 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {105#false} {104#true} #184#return; {105#false} is VALID [2020-07-10 19:05:11,593 INFO L280 TraceCheckUtils]: 15: Hoare triple {105#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {105#false} is VALID [2020-07-10 19:05:11,593 INFO L280 TraceCheckUtils]: 16: Hoare triple {105#false} havoc #t~ret6.base, #t~ret6.offset; {105#false} is VALID [2020-07-10 19:05:11,594 INFO L280 TraceCheckUtils]: 17: Hoare triple {105#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {105#false} is VALID [2020-07-10 19:05:11,594 INFO L280 TraceCheckUtils]: 18: Hoare triple {105#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {105#false} is VALID [2020-07-10 19:05:11,594 INFO L280 TraceCheckUtils]: 19: Hoare triple {105#false} havoc #t~mem13.base, #t~mem13.offset; {105#false} is VALID [2020-07-10 19:05:11,595 INFO L280 TraceCheckUtils]: 20: Hoare triple {105#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {105#false} is VALID [2020-07-10 19:05:11,595 INFO L280 TraceCheckUtils]: 21: Hoare triple {105#false} #t~short9 := 0 != #t~mem7; {105#false} is VALID [2020-07-10 19:05:11,595 INFO L280 TraceCheckUtils]: 22: Hoare triple {105#false} assume #t~short9; {105#false} is VALID [2020-07-10 19:05:11,596 INFO L280 TraceCheckUtils]: 23: Hoare triple {105#false} #t~short11 := #t~short9; {105#false} is VALID [2020-07-10 19:05:11,596 INFO L280 TraceCheckUtils]: 24: Hoare triple {105#false} assume #t~short11; {105#false} is VALID [2020-07-10 19:05:11,596 INFO L280 TraceCheckUtils]: 25: Hoare triple {105#false} assume #t~short11; {105#false} is VALID [2020-07-10 19:05:11,597 INFO L280 TraceCheckUtils]: 26: Hoare triple {105#false} havoc #t~mem7; {105#false} is VALID [2020-07-10 19:05:11,597 INFO L280 TraceCheckUtils]: 27: Hoare triple {105#false} havoc #t~mem8; {105#false} is VALID [2020-07-10 19:05:11,597 INFO L280 TraceCheckUtils]: 28: Hoare triple {105#false} havoc #t~mem10; {105#false} is VALID [2020-07-10 19:05:11,598 INFO L280 TraceCheckUtils]: 29: Hoare triple {105#false} havoc #t~short11; {105#false} is VALID [2020-07-10 19:05:11,598 INFO L280 TraceCheckUtils]: 30: Hoare triple {105#false} havoc #t~short9; {105#false} is VALID [2020-07-10 19:05:11,598 INFO L280 TraceCheckUtils]: 31: Hoare triple {105#false} assume !false; {105#false} is VALID [2020-07-10 19:05:11,603 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:11,604 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:11,606 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2082890950] [2020-07-10 19:05:11,608 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:11,608 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 19:05:11,609 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [30356193] [2020-07-10 19:05:11,616 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2020-07-10 19:05:11,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:11,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 19:05:11,675 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:11,676 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 19:05:11,676 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:11,685 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 19:05:11,686 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 19:05:11,689 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 4 states. [2020-07-10 19:05:12,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:12,867 INFO L93 Difference]: Finished difference Result 230 states and 265 transitions. [2020-07-10 19:05:12,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 19:05:12,867 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2020-07-10 19:05:12,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:12,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 19:05:12,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 265 transitions. [2020-07-10 19:05:12,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 19:05:12,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 265 transitions. [2020-07-10 19:05:12,896 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 265 transitions. [2020-07-10 19:05:13,307 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:13,347 INFO L225 Difference]: With dead ends: 230 [2020-07-10 19:05:13,347 INFO L226 Difference]: Without dead ends: 153 [2020-07-10 19:05:13,354 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2020-07-10 19:05:13,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2020-07-10 19:05:13,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 92. [2020-07-10 19:05:13,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:13,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 92 states. [2020-07-10 19:05:13,451 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 92 states. [2020-07-10 19:05:13,452 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 92 states. [2020-07-10 19:05:13,464 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:13,464 INFO L93 Difference]: Finished difference Result 153 states and 169 transitions. [2020-07-10 19:05:13,465 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 169 transitions. [2020-07-10 19:05:13,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:13,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:13,467 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 153 states. [2020-07-10 19:05:13,467 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 153 states. [2020-07-10 19:05:13,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:13,479 INFO L93 Difference]: Finished difference Result 153 states and 169 transitions. [2020-07-10 19:05:13,479 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 169 transitions. [2020-07-10 19:05:13,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:13,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:13,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:13,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:13,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 92 states. [2020-07-10 19:05:13,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 101 transitions. [2020-07-10 19:05:13,488 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 101 transitions. Word has length 32 [2020-07-10 19:05:13,489 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:13,489 INFO L479 AbstractCegarLoop]: Abstraction has 92 states and 101 transitions. [2020-07-10 19:05:13,489 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 19:05:13,489 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 92 states and 101 transitions. [2020-07-10 19:05:13,610 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:13,610 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2020-07-10 19:05:13,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-10 19:05:13,612 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:13,612 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:13,613 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 19:05:13,613 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:13,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:13,613 INFO L82 PathProgramCache]: Analyzing trace with hash 272796752, now seen corresponding path program 1 times [2020-07-10 19:05:13,613 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:13,614 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [241734957] [2020-07-10 19:05:13,614 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:13,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:13,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:13,693 INFO L280 TraceCheckUtils]: 0: Hoare triple {1088#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1074#true} is VALID [2020-07-10 19:05:13,693 INFO L280 TraceCheckUtils]: 1: Hoare triple {1074#true} #valid := #valid[0 := 0]; {1074#true} is VALID [2020-07-10 19:05:13,693 INFO L280 TraceCheckUtils]: 2: Hoare triple {1074#true} assume 0 < #StackHeapBarrier; {1074#true} is VALID [2020-07-10 19:05:13,694 INFO L280 TraceCheckUtils]: 3: Hoare triple {1074#true} assume true; {1074#true} is VALID [2020-07-10 19:05:13,694 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1074#true} {1074#true} #188#return; {1074#true} is VALID [2020-07-10 19:05:13,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:13,757 INFO L280 TraceCheckUtils]: 0: Hoare triple {1089#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {1090#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:13,758 INFO L280 TraceCheckUtils]: 1: Hoare triple {1090#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {1090#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:13,759 INFO L280 TraceCheckUtils]: 2: Hoare triple {1090#(= dll_create_~len |dll_create_#in~len|)} assume !(~len > 0); {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-10 19:05:13,760 INFO L280 TraceCheckUtils]: 3: Hoare triple {1091#(<= |dll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-10 19:05:13,763 INFO L280 TraceCheckUtils]: 4: Hoare triple {1091#(<= |dll_create_#in~len| 0)} assume true; {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-10 19:05:13,767 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1091#(<= |dll_create_#in~len| 0)} {1081#(<= 5 main_~len~0)} #184#return; {1075#false} is VALID [2020-07-10 19:05:13,769 INFO L263 TraceCheckUtils]: 0: Hoare triple {1074#true} call ULTIMATE.init(); {1088#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:13,769 INFO L280 TraceCheckUtils]: 1: Hoare triple {1088#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1074#true} is VALID [2020-07-10 19:05:13,769 INFO L280 TraceCheckUtils]: 2: Hoare triple {1074#true} #valid := #valid[0 := 0]; {1074#true} is VALID [2020-07-10 19:05:13,770 INFO L280 TraceCheckUtils]: 3: Hoare triple {1074#true} assume 0 < #StackHeapBarrier; {1074#true} is VALID [2020-07-10 19:05:13,770 INFO L280 TraceCheckUtils]: 4: Hoare triple {1074#true} assume true; {1074#true} is VALID [2020-07-10 19:05:13,770 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1074#true} {1074#true} #188#return; {1074#true} is VALID [2020-07-10 19:05:13,770 INFO L263 TraceCheckUtils]: 6: Hoare triple {1074#true} call #t~ret20 := main(); {1074#true} is VALID [2020-07-10 19:05:13,771 INFO L280 TraceCheckUtils]: 7: Hoare triple {1074#true} ~len~0 := 5; {1081#(<= 5 main_~len~0)} is VALID [2020-07-10 19:05:13,773 INFO L263 TraceCheckUtils]: 8: Hoare triple {1081#(<= 5 main_~len~0)} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {1089#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:13,773 INFO L280 TraceCheckUtils]: 9: Hoare triple {1089#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {1090#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:13,774 INFO L280 TraceCheckUtils]: 10: Hoare triple {1090#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {1090#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:13,775 INFO L280 TraceCheckUtils]: 11: Hoare triple {1090#(= dll_create_~len |dll_create_#in~len|)} assume !(~len > 0); {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-10 19:05:13,776 INFO L280 TraceCheckUtils]: 12: Hoare triple {1091#(<= |dll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-10 19:05:13,776 INFO L280 TraceCheckUtils]: 13: Hoare triple {1091#(<= |dll_create_#in~len| 0)} assume true; {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-10 19:05:13,777 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1091#(<= |dll_create_#in~len| 0)} {1081#(<= 5 main_~len~0)} #184#return; {1075#false} is VALID [2020-07-10 19:05:13,778 INFO L280 TraceCheckUtils]: 15: Hoare triple {1075#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {1075#false} is VALID [2020-07-10 19:05:13,778 INFO L280 TraceCheckUtils]: 16: Hoare triple {1075#false} havoc #t~ret6.base, #t~ret6.offset; {1075#false} is VALID [2020-07-10 19:05:13,778 INFO L280 TraceCheckUtils]: 17: Hoare triple {1075#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {1075#false} is VALID [2020-07-10 19:05:13,779 INFO L280 TraceCheckUtils]: 18: Hoare triple {1075#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {1075#false} is VALID [2020-07-10 19:05:13,779 INFO L280 TraceCheckUtils]: 19: Hoare triple {1075#false} havoc #t~mem13.base, #t~mem13.offset; {1075#false} is VALID [2020-07-10 19:05:13,779 INFO L280 TraceCheckUtils]: 20: Hoare triple {1075#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {1075#false} is VALID [2020-07-10 19:05:13,779 INFO L280 TraceCheckUtils]: 21: Hoare triple {1075#false} #t~short9 := 0 != #t~mem7; {1075#false} is VALID [2020-07-10 19:05:13,780 INFO L280 TraceCheckUtils]: 22: Hoare triple {1075#false} assume #t~short9; {1075#false} is VALID [2020-07-10 19:05:13,780 INFO L280 TraceCheckUtils]: 23: Hoare triple {1075#false} #t~short11 := #t~short9; {1075#false} is VALID [2020-07-10 19:05:13,780 INFO L280 TraceCheckUtils]: 24: Hoare triple {1075#false} assume #t~short11; {1075#false} is VALID [2020-07-10 19:05:13,781 INFO L280 TraceCheckUtils]: 25: Hoare triple {1075#false} assume #t~short11; {1075#false} is VALID [2020-07-10 19:05:13,781 INFO L280 TraceCheckUtils]: 26: Hoare triple {1075#false} havoc #t~mem7; {1075#false} is VALID [2020-07-10 19:05:13,781 INFO L280 TraceCheckUtils]: 27: Hoare triple {1075#false} havoc #t~mem8; {1075#false} is VALID [2020-07-10 19:05:13,781 INFO L280 TraceCheckUtils]: 28: Hoare triple {1075#false} havoc #t~mem10; {1075#false} is VALID [2020-07-10 19:05:13,782 INFO L280 TraceCheckUtils]: 29: Hoare triple {1075#false} havoc #t~short11; {1075#false} is VALID [2020-07-10 19:05:13,782 INFO L280 TraceCheckUtils]: 30: Hoare triple {1075#false} havoc #t~short9; {1075#false} is VALID [2020-07-10 19:05:13,782 INFO L280 TraceCheckUtils]: 31: Hoare triple {1075#false} assume !false; {1075#false} is VALID [2020-07-10 19:05:13,784 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:13,784 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:13,785 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [241734957] [2020-07-10 19:05:13,785 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:13,785 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-10 19:05:13,785 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [746083475] [2020-07-10 19:05:13,786 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 32 [2020-07-10 19:05:13,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:13,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 19:05:13,819 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:13,820 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 19:05:13,820 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:13,820 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 19:05:13,821 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-10 19:05:13,821 INFO L87 Difference]: Start difference. First operand 92 states and 101 transitions. Second operand 7 states. [2020-07-10 19:05:14,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:14,775 INFO L93 Difference]: Finished difference Result 172 states and 190 transitions. [2020-07-10 19:05:14,775 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 19:05:14,775 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 32 [2020-07-10 19:05:14,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:14,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 19:05:14,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 190 transitions. [2020-07-10 19:05:14,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 19:05:14,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 190 transitions. [2020-07-10 19:05:14,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 190 transitions. [2020-07-10 19:05:14,998 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:15,003 INFO L225 Difference]: With dead ends: 172 [2020-07-10 19:05:15,003 INFO L226 Difference]: Without dead ends: 112 [2020-07-10 19:05:15,005 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2020-07-10 19:05:15,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2020-07-10 19:05:15,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 93. [2020-07-10 19:05:15,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:15,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 93 states. [2020-07-10 19:05:15,092 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 93 states. [2020-07-10 19:05:15,092 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 93 states. [2020-07-10 19:05:15,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:15,097 INFO L93 Difference]: Finished difference Result 112 states and 123 transitions. [2020-07-10 19:05:15,097 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-10 19:05:15,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:15,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:15,098 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 112 states. [2020-07-10 19:05:15,098 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 112 states. [2020-07-10 19:05:15,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:15,103 INFO L93 Difference]: Finished difference Result 112 states and 123 transitions. [2020-07-10 19:05:15,104 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-10 19:05:15,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:15,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:15,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:15,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:15,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2020-07-10 19:05:15,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 102 transitions. [2020-07-10 19:05:15,109 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 102 transitions. Word has length 32 [2020-07-10 19:05:15,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:15,109 INFO L479 AbstractCegarLoop]: Abstraction has 93 states and 102 transitions. [2020-07-10 19:05:15,109 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 19:05:15,109 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 93 states and 102 transitions. [2020-07-10 19:05:15,213 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:15,214 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 102 transitions. [2020-07-10 19:05:15,215 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2020-07-10 19:05:15,215 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:15,215 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:15,216 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 19:05:15,216 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:15,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:15,216 INFO L82 PathProgramCache]: Analyzing trace with hash -54471897, now seen corresponding path program 1 times [2020-07-10 19:05:15,216 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:15,217 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [641587245] [2020-07-10 19:05:15,217 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:15,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:15,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:15,449 INFO L280 TraceCheckUtils]: 0: Hoare triple {1890#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1857#true} is VALID [2020-07-10 19:05:15,449 INFO L280 TraceCheckUtils]: 1: Hoare triple {1857#true} #valid := #valid[0 := 0]; {1857#true} is VALID [2020-07-10 19:05:15,450 INFO L280 TraceCheckUtils]: 2: Hoare triple {1857#true} assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-10 19:05:15,450 INFO L280 TraceCheckUtils]: 3: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-10 19:05:15,450 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1857#true} {1857#true} #188#return; {1857#true} is VALID [2020-07-10 19:05:15,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:15,571 INFO L280 TraceCheckUtils]: 0: Hoare triple {1891#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,572 INFO L280 TraceCheckUtils]: 1: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,573 INFO L280 TraceCheckUtils]: 2: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,574 INFO L280 TraceCheckUtils]: 3: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,574 INFO L280 TraceCheckUtils]: 4: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,575 INFO L280 TraceCheckUtils]: 5: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,576 INFO L280 TraceCheckUtils]: 6: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,577 INFO L280 TraceCheckUtils]: 7: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,578 INFO L280 TraceCheckUtils]: 8: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,578 INFO L280 TraceCheckUtils]: 9: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,579 INFO L280 TraceCheckUtils]: 10: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,580 INFO L280 TraceCheckUtils]: 11: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,581 INFO L280 TraceCheckUtils]: 12: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,582 INFO L280 TraceCheckUtils]: 13: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,582 INFO L280 TraceCheckUtils]: 14: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,583 INFO L280 TraceCheckUtils]: 15: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,584 INFO L280 TraceCheckUtils]: 16: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,585 INFO L280 TraceCheckUtils]: 17: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,585 INFO L280 TraceCheckUtils]: 18: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {1893#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:15,587 INFO L280 TraceCheckUtils]: 19: Hoare triple {1893#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:15,587 INFO L280 TraceCheckUtils]: 20: Hoare triple {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:15,588 INFO L280 TraceCheckUtils]: 21: Hoare triple {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(~len > 0); {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-10 19:05:15,589 INFO L280 TraceCheckUtils]: 22: Hoare triple {1895#(<= |dll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-10 19:05:15,590 INFO L280 TraceCheckUtils]: 23: Hoare triple {1895#(<= |dll_create_#in~len| 1)} assume true; {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-10 19:05:15,591 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {1895#(<= |dll_create_#in~len| 1)} {1864#(<= 5 main_~len~0)} #184#return; {1858#false} is VALID [2020-07-10 19:05:15,594 INFO L263 TraceCheckUtils]: 0: Hoare triple {1857#true} call ULTIMATE.init(); {1890#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:15,594 INFO L280 TraceCheckUtils]: 1: Hoare triple {1890#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1857#true} is VALID [2020-07-10 19:05:15,595 INFO L280 TraceCheckUtils]: 2: Hoare triple {1857#true} #valid := #valid[0 := 0]; {1857#true} is VALID [2020-07-10 19:05:15,595 INFO L280 TraceCheckUtils]: 3: Hoare triple {1857#true} assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-10 19:05:15,595 INFO L280 TraceCheckUtils]: 4: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-10 19:05:15,596 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1857#true} {1857#true} #188#return; {1857#true} is VALID [2020-07-10 19:05:15,596 INFO L263 TraceCheckUtils]: 6: Hoare triple {1857#true} call #t~ret20 := main(); {1857#true} is VALID [2020-07-10 19:05:15,614 INFO L280 TraceCheckUtils]: 7: Hoare triple {1857#true} ~len~0 := 5; {1864#(<= 5 main_~len~0)} is VALID [2020-07-10 19:05:15,616 INFO L263 TraceCheckUtils]: 8: Hoare triple {1864#(<= 5 main_~len~0)} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {1891#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:15,616 INFO L280 TraceCheckUtils]: 9: Hoare triple {1891#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,622 INFO L280 TraceCheckUtils]: 10: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,623 INFO L280 TraceCheckUtils]: 11: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,628 INFO L280 TraceCheckUtils]: 12: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,629 INFO L280 TraceCheckUtils]: 13: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,630 INFO L280 TraceCheckUtils]: 14: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,631 INFO L280 TraceCheckUtils]: 15: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,631 INFO L280 TraceCheckUtils]: 16: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,632 INFO L280 TraceCheckUtils]: 17: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,633 INFO L280 TraceCheckUtils]: 18: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,633 INFO L280 TraceCheckUtils]: 19: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,634 INFO L280 TraceCheckUtils]: 20: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,635 INFO L280 TraceCheckUtils]: 21: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,636 INFO L280 TraceCheckUtils]: 22: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,636 INFO L280 TraceCheckUtils]: 23: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,637 INFO L280 TraceCheckUtils]: 24: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,637 INFO L280 TraceCheckUtils]: 25: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,638 INFO L280 TraceCheckUtils]: 26: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1892#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:15,638 INFO L280 TraceCheckUtils]: 27: Hoare triple {1892#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {1893#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:15,640 INFO L280 TraceCheckUtils]: 28: Hoare triple {1893#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:15,641 INFO L280 TraceCheckUtils]: 29: Hoare triple {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:15,643 INFO L280 TraceCheckUtils]: 30: Hoare triple {1894#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(~len > 0); {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-10 19:05:15,645 INFO L280 TraceCheckUtils]: 31: Hoare triple {1895#(<= |dll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-10 19:05:15,646 INFO L280 TraceCheckUtils]: 32: Hoare triple {1895#(<= |dll_create_#in~len| 1)} assume true; {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-10 19:05:15,648 INFO L275 TraceCheckUtils]: 33: Hoare quadruple {1895#(<= |dll_create_#in~len| 1)} {1864#(<= 5 main_~len~0)} #184#return; {1858#false} is VALID [2020-07-10 19:05:15,648 INFO L280 TraceCheckUtils]: 34: Hoare triple {1858#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {1858#false} is VALID [2020-07-10 19:05:15,648 INFO L280 TraceCheckUtils]: 35: Hoare triple {1858#false} havoc #t~ret6.base, #t~ret6.offset; {1858#false} is VALID [2020-07-10 19:05:15,648 INFO L280 TraceCheckUtils]: 36: Hoare triple {1858#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {1858#false} is VALID [2020-07-10 19:05:15,649 INFO L280 TraceCheckUtils]: 37: Hoare triple {1858#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {1858#false} is VALID [2020-07-10 19:05:15,649 INFO L280 TraceCheckUtils]: 38: Hoare triple {1858#false} havoc #t~mem13.base, #t~mem13.offset; {1858#false} is VALID [2020-07-10 19:05:15,649 INFO L280 TraceCheckUtils]: 39: Hoare triple {1858#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {1858#false} is VALID [2020-07-10 19:05:15,650 INFO L280 TraceCheckUtils]: 40: Hoare triple {1858#false} #t~short9 := 0 != #t~mem7; {1858#false} is VALID [2020-07-10 19:05:15,650 INFO L280 TraceCheckUtils]: 41: Hoare triple {1858#false} assume #t~short9; {1858#false} is VALID [2020-07-10 19:05:15,650 INFO L280 TraceCheckUtils]: 42: Hoare triple {1858#false} #t~short11 := #t~short9; {1858#false} is VALID [2020-07-10 19:05:15,650 INFO L280 TraceCheckUtils]: 43: Hoare triple {1858#false} assume #t~short11; {1858#false} is VALID [2020-07-10 19:05:15,651 INFO L280 TraceCheckUtils]: 44: Hoare triple {1858#false} assume #t~short11; {1858#false} is VALID [2020-07-10 19:05:15,651 INFO L280 TraceCheckUtils]: 45: Hoare triple {1858#false} havoc #t~mem7; {1858#false} is VALID [2020-07-10 19:05:15,651 INFO L280 TraceCheckUtils]: 46: Hoare triple {1858#false} havoc #t~mem8; {1858#false} is VALID [2020-07-10 19:05:15,652 INFO L280 TraceCheckUtils]: 47: Hoare triple {1858#false} havoc #t~mem10; {1858#false} is VALID [2020-07-10 19:05:15,652 INFO L280 TraceCheckUtils]: 48: Hoare triple {1858#false} havoc #t~short11; {1858#false} is VALID [2020-07-10 19:05:15,652 INFO L280 TraceCheckUtils]: 49: Hoare triple {1858#false} havoc #t~short9; {1858#false} is VALID [2020-07-10 19:05:15,653 INFO L280 TraceCheckUtils]: 50: Hoare triple {1858#false} assume !false; {1858#false} is VALID [2020-07-10 19:05:15,657 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:15,658 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:15,658 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [641587245] [2020-07-10 19:05:15,659 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:15,659 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-10 19:05:15,659 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1187404985] [2020-07-10 19:05:15,660 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 51 [2020-07-10 19:05:15,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:15,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 19:05:15,727 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:15,728 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 19:05:15,728 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:15,728 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 19:05:15,729 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-10 19:05:15,729 INFO L87 Difference]: Start difference. First operand 93 states and 102 transitions. Second operand 9 states. [2020-07-10 19:05:16,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:16,856 INFO L93 Difference]: Finished difference Result 193 states and 213 transitions. [2020-07-10 19:05:16,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-10 19:05:16,856 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 51 [2020-07-10 19:05:16,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:16,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 19:05:16,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 213 transitions. [2020-07-10 19:05:16,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 19:05:16,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 213 transitions. [2020-07-10 19:05:16,868 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 213 transitions. [2020-07-10 19:05:17,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 213 edges. 213 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:17,113 INFO L225 Difference]: With dead ends: 193 [2020-07-10 19:05:17,114 INFO L226 Difference]: Without dead ends: 133 [2020-07-10 19:05:17,115 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2020-07-10 19:05:17,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2020-07-10 19:05:17,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 114. [2020-07-10 19:05:17,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:17,224 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 114 states. [2020-07-10 19:05:17,225 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 114 states. [2020-07-10 19:05:17,225 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 114 states. [2020-07-10 19:05:17,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:17,231 INFO L93 Difference]: Finished difference Result 133 states and 146 transitions. [2020-07-10 19:05:17,231 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 146 transitions. [2020-07-10 19:05:17,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:17,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:17,232 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 133 states. [2020-07-10 19:05:17,233 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 133 states. [2020-07-10 19:05:17,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:17,239 INFO L93 Difference]: Finished difference Result 133 states and 146 transitions. [2020-07-10 19:05:17,239 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 146 transitions. [2020-07-10 19:05:17,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:17,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:17,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:17,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:17,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2020-07-10 19:05:17,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 125 transitions. [2020-07-10 19:05:17,245 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 125 transitions. Word has length 51 [2020-07-10 19:05:17,247 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:17,247 INFO L479 AbstractCegarLoop]: Abstraction has 114 states and 125 transitions. [2020-07-10 19:05:17,247 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 19:05:17,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 114 states and 125 transitions. [2020-07-10 19:05:17,368 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:17,368 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 125 transitions. [2020-07-10 19:05:17,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-10 19:05:17,371 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:17,371 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:17,371 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 19:05:17,371 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:17,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:17,372 INFO L82 PathProgramCache]: Analyzing trace with hash -586426640, now seen corresponding path program 2 times [2020-07-10 19:05:17,372 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:17,372 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1867735905] [2020-07-10 19:05:17,373 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:17,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:17,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:17,503 INFO L280 TraceCheckUtils]: 0: Hoare triple {2842#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2791#true} is VALID [2020-07-10 19:05:17,503 INFO L280 TraceCheckUtils]: 1: Hoare triple {2791#true} #valid := #valid[0 := 0]; {2791#true} is VALID [2020-07-10 19:05:17,504 INFO L280 TraceCheckUtils]: 2: Hoare triple {2791#true} assume 0 < #StackHeapBarrier; {2791#true} is VALID [2020-07-10 19:05:17,504 INFO L280 TraceCheckUtils]: 3: Hoare triple {2791#true} assume true; {2791#true} is VALID [2020-07-10 19:05:17,504 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2791#true} {2791#true} #188#return; {2791#true} is VALID [2020-07-10 19:05:17,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:17,621 INFO L280 TraceCheckUtils]: 0: Hoare triple {2843#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {2791#true} is VALID [2020-07-10 19:05:17,621 INFO L280 TraceCheckUtils]: 1: Hoare triple {2791#true} ~head~0.base, ~head~0.offset := 0, 0; {2791#true} is VALID [2020-07-10 19:05:17,621 INFO L280 TraceCheckUtils]: 2: Hoare triple {2791#true} assume !!(~len > 0); {2791#true} is VALID [2020-07-10 19:05:17,622 INFO L280 TraceCheckUtils]: 3: Hoare triple {2791#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {2844#(not (= 0 |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:17,623 INFO L280 TraceCheckUtils]: 4: Hoare triple {2844#(not (= 0 |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,623 INFO L280 TraceCheckUtils]: 5: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,624 INFO L280 TraceCheckUtils]: 6: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,625 INFO L280 TraceCheckUtils]: 7: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,625 INFO L280 TraceCheckUtils]: 8: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,626 INFO L280 TraceCheckUtils]: 9: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,626 INFO L280 TraceCheckUtils]: 10: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} #t~ite4 := 1; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,627 INFO L280 TraceCheckUtils]: 11: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,627 INFO L280 TraceCheckUtils]: 12: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} havoc #t~nondet3; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,628 INFO L280 TraceCheckUtils]: 13: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} havoc #t~ite4; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,629 INFO L280 TraceCheckUtils]: 14: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,629 INFO L280 TraceCheckUtils]: 15: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,630 INFO L280 TraceCheckUtils]: 16: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,631 INFO L280 TraceCheckUtils]: 17: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,631 INFO L280 TraceCheckUtils]: 18: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} #t~post5 := ~len; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,632 INFO L280 TraceCheckUtils]: 19: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} ~len := #t~post5 - 1; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,634 INFO L280 TraceCheckUtils]: 20: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} havoc #t~post5; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,634 INFO L280 TraceCheckUtils]: 21: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume !!(~len > 0); {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,635 INFO L280 TraceCheckUtils]: 22: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,636 INFO L280 TraceCheckUtils]: 23: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,636 INFO L280 TraceCheckUtils]: 24: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,637 INFO L280 TraceCheckUtils]: 25: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,637 INFO L280 TraceCheckUtils]: 26: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,638 INFO L280 TraceCheckUtils]: 27: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,639 INFO L280 TraceCheckUtils]: 28: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume #t~nondet3 == ~len; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,639 INFO L280 TraceCheckUtils]: 29: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} #t~ite4 := 1; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,640 INFO L280 TraceCheckUtils]: 30: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,647 INFO L280 TraceCheckUtils]: 31: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} havoc #t~nondet3; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,647 INFO L280 TraceCheckUtils]: 32: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} havoc #t~ite4; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,649 INFO L280 TraceCheckUtils]: 33: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,651 INFO L280 TraceCheckUtils]: 34: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,652 INFO L280 TraceCheckUtils]: 35: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2792#false} is VALID [2020-07-10 19:05:17,652 INFO L280 TraceCheckUtils]: 36: Hoare triple {2792#false} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2792#false} is VALID [2020-07-10 19:05:17,652 INFO L280 TraceCheckUtils]: 37: Hoare triple {2792#false} #t~post5 := ~len; {2792#false} is VALID [2020-07-10 19:05:17,653 INFO L280 TraceCheckUtils]: 38: Hoare triple {2792#false} ~len := #t~post5 - 1; {2792#false} is VALID [2020-07-10 19:05:17,653 INFO L280 TraceCheckUtils]: 39: Hoare triple {2792#false} havoc #t~post5; {2792#false} is VALID [2020-07-10 19:05:17,653 INFO L280 TraceCheckUtils]: 40: Hoare triple {2792#false} assume !(~len > 0); {2792#false} is VALID [2020-07-10 19:05:17,656 INFO L280 TraceCheckUtils]: 41: Hoare triple {2792#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2792#false} is VALID [2020-07-10 19:05:17,656 INFO L280 TraceCheckUtils]: 42: Hoare triple {2792#false} assume true; {2792#false} is VALID [2020-07-10 19:05:17,657 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {2792#false} {2791#true} #184#return; {2792#false} is VALID [2020-07-10 19:05:17,661 INFO L263 TraceCheckUtils]: 0: Hoare triple {2791#true} call ULTIMATE.init(); {2842#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:17,661 INFO L280 TraceCheckUtils]: 1: Hoare triple {2842#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2791#true} is VALID [2020-07-10 19:05:17,661 INFO L280 TraceCheckUtils]: 2: Hoare triple {2791#true} #valid := #valid[0 := 0]; {2791#true} is VALID [2020-07-10 19:05:17,662 INFO L280 TraceCheckUtils]: 3: Hoare triple {2791#true} assume 0 < #StackHeapBarrier; {2791#true} is VALID [2020-07-10 19:05:17,662 INFO L280 TraceCheckUtils]: 4: Hoare triple {2791#true} assume true; {2791#true} is VALID [2020-07-10 19:05:17,662 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2791#true} {2791#true} #188#return; {2791#true} is VALID [2020-07-10 19:05:17,662 INFO L263 TraceCheckUtils]: 6: Hoare triple {2791#true} call #t~ret20 := main(); {2791#true} is VALID [2020-07-10 19:05:17,663 INFO L280 TraceCheckUtils]: 7: Hoare triple {2791#true} ~len~0 := 5; {2791#true} is VALID [2020-07-10 19:05:17,664 INFO L263 TraceCheckUtils]: 8: Hoare triple {2791#true} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {2843#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:17,664 INFO L280 TraceCheckUtils]: 9: Hoare triple {2843#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {2791#true} is VALID [2020-07-10 19:05:17,664 INFO L280 TraceCheckUtils]: 10: Hoare triple {2791#true} ~head~0.base, ~head~0.offset := 0, 0; {2791#true} is VALID [2020-07-10 19:05:17,664 INFO L280 TraceCheckUtils]: 11: Hoare triple {2791#true} assume !!(~len > 0); {2791#true} is VALID [2020-07-10 19:05:17,665 INFO L280 TraceCheckUtils]: 12: Hoare triple {2791#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {2844#(not (= 0 |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:17,666 INFO L280 TraceCheckUtils]: 13: Hoare triple {2844#(not (= 0 |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,666 INFO L280 TraceCheckUtils]: 14: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,667 INFO L280 TraceCheckUtils]: 15: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,668 INFO L280 TraceCheckUtils]: 16: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,669 INFO L280 TraceCheckUtils]: 17: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,670 INFO L280 TraceCheckUtils]: 18: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,670 INFO L280 TraceCheckUtils]: 19: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} #t~ite4 := 1; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,671 INFO L280 TraceCheckUtils]: 20: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,671 INFO L280 TraceCheckUtils]: 21: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} havoc #t~nondet3; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,672 INFO L280 TraceCheckUtils]: 22: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} havoc #t~ite4; {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,673 INFO L280 TraceCheckUtils]: 23: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,673 INFO L280 TraceCheckUtils]: 24: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,674 INFO L280 TraceCheckUtils]: 25: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2845#(not (= 0 dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:17,675 INFO L280 TraceCheckUtils]: 26: Hoare triple {2845#(not (= 0 dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,675 INFO L280 TraceCheckUtils]: 27: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} #t~post5 := ~len; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,676 INFO L280 TraceCheckUtils]: 28: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} ~len := #t~post5 - 1; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,676 INFO L280 TraceCheckUtils]: 29: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} havoc #t~post5; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,677 INFO L280 TraceCheckUtils]: 30: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume !!(~len > 0); {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,677 INFO L280 TraceCheckUtils]: 31: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,678 INFO L280 TraceCheckUtils]: 32: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,679 INFO L280 TraceCheckUtils]: 33: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,679 INFO L280 TraceCheckUtils]: 34: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,681 INFO L280 TraceCheckUtils]: 35: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,681 INFO L280 TraceCheckUtils]: 36: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,682 INFO L280 TraceCheckUtils]: 37: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume #t~nondet3 == ~len; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,684 INFO L280 TraceCheckUtils]: 38: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} #t~ite4 := 1; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,687 INFO L280 TraceCheckUtils]: 39: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,689 INFO L280 TraceCheckUtils]: 40: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} havoc #t~nondet3; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,689 INFO L280 TraceCheckUtils]: 41: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} havoc #t~ite4; {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,690 INFO L280 TraceCheckUtils]: 42: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,690 INFO L280 TraceCheckUtils]: 43: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {2846#(not (= 0 dll_create_~head~0.base))} is VALID [2020-07-10 19:05:17,690 INFO L280 TraceCheckUtils]: 44: Hoare triple {2846#(not (= 0 dll_create_~head~0.base))} assume !(~head~0.base != 0 || ~head~0.offset != 0); {2792#false} is VALID [2020-07-10 19:05:17,691 INFO L280 TraceCheckUtils]: 45: Hoare triple {2792#false} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2792#false} is VALID [2020-07-10 19:05:17,691 INFO L280 TraceCheckUtils]: 46: Hoare triple {2792#false} #t~post5 := ~len; {2792#false} is VALID [2020-07-10 19:05:17,691 INFO L280 TraceCheckUtils]: 47: Hoare triple {2792#false} ~len := #t~post5 - 1; {2792#false} is VALID [2020-07-10 19:05:17,691 INFO L280 TraceCheckUtils]: 48: Hoare triple {2792#false} havoc #t~post5; {2792#false} is VALID [2020-07-10 19:05:17,691 INFO L280 TraceCheckUtils]: 49: Hoare triple {2792#false} assume !(~len > 0); {2792#false} is VALID [2020-07-10 19:05:17,691 INFO L280 TraceCheckUtils]: 50: Hoare triple {2792#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2792#false} is VALID [2020-07-10 19:05:17,692 INFO L280 TraceCheckUtils]: 51: Hoare triple {2792#false} assume true; {2792#false} is VALID [2020-07-10 19:05:17,692 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {2792#false} {2791#true} #184#return; {2792#false} is VALID [2020-07-10 19:05:17,692 INFO L280 TraceCheckUtils]: 53: Hoare triple {2792#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {2792#false} is VALID [2020-07-10 19:05:17,692 INFO L280 TraceCheckUtils]: 54: Hoare triple {2792#false} havoc #t~ret6.base, #t~ret6.offset; {2792#false} is VALID [2020-07-10 19:05:17,692 INFO L280 TraceCheckUtils]: 55: Hoare triple {2792#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {2792#false} is VALID [2020-07-10 19:05:17,693 INFO L280 TraceCheckUtils]: 56: Hoare triple {2792#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {2792#false} is VALID [2020-07-10 19:05:17,693 INFO L280 TraceCheckUtils]: 57: Hoare triple {2792#false} havoc #t~mem13.base, #t~mem13.offset; {2792#false} is VALID [2020-07-10 19:05:17,693 INFO L280 TraceCheckUtils]: 58: Hoare triple {2792#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {2792#false} is VALID [2020-07-10 19:05:17,693 INFO L280 TraceCheckUtils]: 59: Hoare triple {2792#false} #t~short9 := 0 != #t~mem7; {2792#false} is VALID [2020-07-10 19:05:17,693 INFO L280 TraceCheckUtils]: 60: Hoare triple {2792#false} assume #t~short9; {2792#false} is VALID [2020-07-10 19:05:17,693 INFO L280 TraceCheckUtils]: 61: Hoare triple {2792#false} #t~short11 := #t~short9; {2792#false} is VALID [2020-07-10 19:05:17,694 INFO L280 TraceCheckUtils]: 62: Hoare triple {2792#false} assume #t~short11; {2792#false} is VALID [2020-07-10 19:05:17,694 INFO L280 TraceCheckUtils]: 63: Hoare triple {2792#false} assume #t~short11; {2792#false} is VALID [2020-07-10 19:05:17,694 INFO L280 TraceCheckUtils]: 64: Hoare triple {2792#false} havoc #t~mem7; {2792#false} is VALID [2020-07-10 19:05:17,694 INFO L280 TraceCheckUtils]: 65: Hoare triple {2792#false} havoc #t~mem8; {2792#false} is VALID [2020-07-10 19:05:17,694 INFO L280 TraceCheckUtils]: 66: Hoare triple {2792#false} havoc #t~mem10; {2792#false} is VALID [2020-07-10 19:05:17,694 INFO L280 TraceCheckUtils]: 67: Hoare triple {2792#false} havoc #t~short11; {2792#false} is VALID [2020-07-10 19:05:17,695 INFO L280 TraceCheckUtils]: 68: Hoare triple {2792#false} havoc #t~short9; {2792#false} is VALID [2020-07-10 19:05:17,695 INFO L280 TraceCheckUtils]: 69: Hoare triple {2792#false} assume !false; {2792#false} is VALID [2020-07-10 19:05:17,700 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:17,700 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:17,700 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1867735905] [2020-07-10 19:05:17,701 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:17,701 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-10 19:05:17,701 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1594592681] [2020-07-10 19:05:17,702 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 70 [2020-07-10 19:05:17,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:17,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 19:05:17,770 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:17,771 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 19:05:17,771 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:17,771 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 19:05:17,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-10 19:05:17,772 INFO L87 Difference]: Start difference. First operand 114 states and 125 transitions. Second operand 7 states. [2020-07-10 19:05:18,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:18,747 INFO L93 Difference]: Finished difference Result 195 states and 215 transitions. [2020-07-10 19:05:18,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 19:05:18,747 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 70 [2020-07-10 19:05:18,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:18,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 19:05:18,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 211 transitions. [2020-07-10 19:05:18,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 19:05:18,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 211 transitions. [2020-07-10 19:05:18,757 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 211 transitions. [2020-07-10 19:05:19,001 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:19,004 INFO L225 Difference]: With dead ends: 195 [2020-07-10 19:05:19,004 INFO L226 Difference]: Without dead ends: 114 [2020-07-10 19:05:19,005 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2020-07-10 19:05:19,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2020-07-10 19:05:19,201 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 114. [2020-07-10 19:05:19,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:19,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 114 states. [2020-07-10 19:05:19,201 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 114 states. [2020-07-10 19:05:19,201 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 114 states. [2020-07-10 19:05:19,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:19,205 INFO L93 Difference]: Finished difference Result 114 states and 124 transitions. [2020-07-10 19:05:19,206 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2020-07-10 19:05:19,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:19,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:19,206 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 114 states. [2020-07-10 19:05:19,206 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 114 states. [2020-07-10 19:05:19,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:19,211 INFO L93 Difference]: Finished difference Result 114 states and 124 transitions. [2020-07-10 19:05:19,211 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2020-07-10 19:05:19,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:19,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:19,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:19,212 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:19,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2020-07-10 19:05:19,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 124 transitions. [2020-07-10 19:05:19,215 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 124 transitions. Word has length 70 [2020-07-10 19:05:19,216 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:19,216 INFO L479 AbstractCegarLoop]: Abstraction has 114 states and 124 transitions. [2020-07-10 19:05:19,216 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 19:05:19,216 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 114 states and 124 transitions. [2020-07-10 19:05:19,353 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:19,353 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2020-07-10 19:05:19,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-10 19:05:19,354 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:19,355 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:19,355 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 19:05:19,357 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:19,358 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:19,358 INFO L82 PathProgramCache]: Analyzing trace with hash -1356086606, now seen corresponding path program 1 times [2020-07-10 19:05:19,358 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:19,358 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [562968398] [2020-07-10 19:05:19,358 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:19,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:19,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:19,524 INFO L280 TraceCheckUtils]: 0: Hoare triple {3756#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3703#true} is VALID [2020-07-10 19:05:19,524 INFO L280 TraceCheckUtils]: 1: Hoare triple {3703#true} #valid := #valid[0 := 0]; {3703#true} is VALID [2020-07-10 19:05:19,525 INFO L280 TraceCheckUtils]: 2: Hoare triple {3703#true} assume 0 < #StackHeapBarrier; {3703#true} is VALID [2020-07-10 19:05:19,525 INFO L280 TraceCheckUtils]: 3: Hoare triple {3703#true} assume true; {3703#true} is VALID [2020-07-10 19:05:19,525 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3703#true} {3703#true} #188#return; {3703#true} is VALID [2020-07-10 19:05:19,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:19,693 INFO L280 TraceCheckUtils]: 0: Hoare triple {3757#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,694 INFO L280 TraceCheckUtils]: 1: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,695 INFO L280 TraceCheckUtils]: 2: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,695 INFO L280 TraceCheckUtils]: 3: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,696 INFO L280 TraceCheckUtils]: 4: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,696 INFO L280 TraceCheckUtils]: 5: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,697 INFO L280 TraceCheckUtils]: 6: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,697 INFO L280 TraceCheckUtils]: 7: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,698 INFO L280 TraceCheckUtils]: 8: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,698 INFO L280 TraceCheckUtils]: 9: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,699 INFO L280 TraceCheckUtils]: 10: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,699 INFO L280 TraceCheckUtils]: 11: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,700 INFO L280 TraceCheckUtils]: 12: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,700 INFO L280 TraceCheckUtils]: 13: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,701 INFO L280 TraceCheckUtils]: 14: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,702 INFO L280 TraceCheckUtils]: 15: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,703 INFO L280 TraceCheckUtils]: 16: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,704 INFO L280 TraceCheckUtils]: 17: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,705 INFO L280 TraceCheckUtils]: 18: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {3759#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:19,706 INFO L280 TraceCheckUtils]: 19: Hoare triple {3759#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,707 INFO L280 TraceCheckUtils]: 20: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,707 INFO L280 TraceCheckUtils]: 21: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0); {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,708 INFO L280 TraceCheckUtils]: 22: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,708 INFO L280 TraceCheckUtils]: 23: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,709 INFO L280 TraceCheckUtils]: 24: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,710 INFO L280 TraceCheckUtils]: 25: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,710 INFO L280 TraceCheckUtils]: 26: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,711 INFO L280 TraceCheckUtils]: 27: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,711 INFO L280 TraceCheckUtils]: 28: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume #t~nondet3 == ~len; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,712 INFO L280 TraceCheckUtils]: 29: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~ite4 := 1; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,713 INFO L280 TraceCheckUtils]: 30: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,713 INFO L280 TraceCheckUtils]: 31: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~nondet3; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,714 INFO L280 TraceCheckUtils]: 32: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~ite4; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,715 INFO L280 TraceCheckUtils]: 33: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,716 INFO L280 TraceCheckUtils]: 34: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,716 INFO L280 TraceCheckUtils]: 35: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,726 INFO L280 TraceCheckUtils]: 36: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,727 INFO L280 TraceCheckUtils]: 37: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,727 INFO L280 TraceCheckUtils]: 38: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~post5 := ~len; {3761#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} is VALID [2020-07-10 19:05:19,728 INFO L280 TraceCheckUtils]: 39: Hoare triple {3761#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} ~len := #t~post5 - 1; {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:19,729 INFO L280 TraceCheckUtils]: 40: Hoare triple {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~post5; {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:19,730 INFO L280 TraceCheckUtils]: 41: Hoare triple {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(~len > 0); {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-10 19:05:19,731 INFO L280 TraceCheckUtils]: 42: Hoare triple {3763#(<= |dll_create_#in~len| 2)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-10 19:05:19,731 INFO L280 TraceCheckUtils]: 43: Hoare triple {3763#(<= |dll_create_#in~len| 2)} assume true; {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-10 19:05:19,733 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {3763#(<= |dll_create_#in~len| 2)} {3710#(<= 5 main_~len~0)} #184#return; {3704#false} is VALID [2020-07-10 19:05:19,737 INFO L263 TraceCheckUtils]: 0: Hoare triple {3703#true} call ULTIMATE.init(); {3756#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:19,737 INFO L280 TraceCheckUtils]: 1: Hoare triple {3756#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3703#true} is VALID [2020-07-10 19:05:19,738 INFO L280 TraceCheckUtils]: 2: Hoare triple {3703#true} #valid := #valid[0 := 0]; {3703#true} is VALID [2020-07-10 19:05:19,738 INFO L280 TraceCheckUtils]: 3: Hoare triple {3703#true} assume 0 < #StackHeapBarrier; {3703#true} is VALID [2020-07-10 19:05:19,738 INFO L280 TraceCheckUtils]: 4: Hoare triple {3703#true} assume true; {3703#true} is VALID [2020-07-10 19:05:19,739 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3703#true} {3703#true} #188#return; {3703#true} is VALID [2020-07-10 19:05:19,739 INFO L263 TraceCheckUtils]: 6: Hoare triple {3703#true} call #t~ret20 := main(); {3703#true} is VALID [2020-07-10 19:05:19,740 INFO L280 TraceCheckUtils]: 7: Hoare triple {3703#true} ~len~0 := 5; {3710#(<= 5 main_~len~0)} is VALID [2020-07-10 19:05:19,742 INFO L263 TraceCheckUtils]: 8: Hoare triple {3710#(<= 5 main_~len~0)} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {3757#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:19,743 INFO L280 TraceCheckUtils]: 9: Hoare triple {3757#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,746 INFO L280 TraceCheckUtils]: 10: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,747 INFO L280 TraceCheckUtils]: 11: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,747 INFO L280 TraceCheckUtils]: 12: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,748 INFO L280 TraceCheckUtils]: 13: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,749 INFO L280 TraceCheckUtils]: 14: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,750 INFO L280 TraceCheckUtils]: 15: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,751 INFO L280 TraceCheckUtils]: 16: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,752 INFO L280 TraceCheckUtils]: 17: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,753 INFO L280 TraceCheckUtils]: 18: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,753 INFO L280 TraceCheckUtils]: 19: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,754 INFO L280 TraceCheckUtils]: 20: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,755 INFO L280 TraceCheckUtils]: 21: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,755 INFO L280 TraceCheckUtils]: 22: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,756 INFO L280 TraceCheckUtils]: 23: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,756 INFO L280 TraceCheckUtils]: 24: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,757 INFO L280 TraceCheckUtils]: 25: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,757 INFO L280 TraceCheckUtils]: 26: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3758#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:19,758 INFO L280 TraceCheckUtils]: 27: Hoare triple {3758#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {3759#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:19,759 INFO L280 TraceCheckUtils]: 28: Hoare triple {3759#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,760 INFO L280 TraceCheckUtils]: 29: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,760 INFO L280 TraceCheckUtils]: 30: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0); {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,761 INFO L280 TraceCheckUtils]: 31: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,761 INFO L280 TraceCheckUtils]: 32: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,762 INFO L280 TraceCheckUtils]: 33: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,763 INFO L280 TraceCheckUtils]: 34: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,763 INFO L280 TraceCheckUtils]: 35: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,764 INFO L280 TraceCheckUtils]: 36: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,764 INFO L280 TraceCheckUtils]: 37: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume #t~nondet3 == ~len; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,765 INFO L280 TraceCheckUtils]: 38: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~ite4 := 1; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,765 INFO L280 TraceCheckUtils]: 39: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,766 INFO L280 TraceCheckUtils]: 40: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~nondet3; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,767 INFO L280 TraceCheckUtils]: 41: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~ite4; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,767 INFO L280 TraceCheckUtils]: 42: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,771 INFO L280 TraceCheckUtils]: 43: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,772 INFO L280 TraceCheckUtils]: 44: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,772 INFO L280 TraceCheckUtils]: 45: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,773 INFO L280 TraceCheckUtils]: 46: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:19,774 INFO L280 TraceCheckUtils]: 47: Hoare triple {3760#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~post5 := ~len; {3761#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} is VALID [2020-07-10 19:05:19,779 INFO L280 TraceCheckUtils]: 48: Hoare triple {3761#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} ~len := #t~post5 - 1; {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:19,780 INFO L280 TraceCheckUtils]: 49: Hoare triple {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~post5; {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:19,781 INFO L280 TraceCheckUtils]: 50: Hoare triple {3762#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(~len > 0); {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-10 19:05:19,781 INFO L280 TraceCheckUtils]: 51: Hoare triple {3763#(<= |dll_create_#in~len| 2)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-10 19:05:19,782 INFO L280 TraceCheckUtils]: 52: Hoare triple {3763#(<= |dll_create_#in~len| 2)} assume true; {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-10 19:05:19,783 INFO L275 TraceCheckUtils]: 53: Hoare quadruple {3763#(<= |dll_create_#in~len| 2)} {3710#(<= 5 main_~len~0)} #184#return; {3704#false} is VALID [2020-07-10 19:05:19,784 INFO L280 TraceCheckUtils]: 54: Hoare triple {3704#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {3704#false} is VALID [2020-07-10 19:05:19,784 INFO L280 TraceCheckUtils]: 55: Hoare triple {3704#false} havoc #t~ret6.base, #t~ret6.offset; {3704#false} is VALID [2020-07-10 19:05:19,784 INFO L280 TraceCheckUtils]: 56: Hoare triple {3704#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {3704#false} is VALID [2020-07-10 19:05:19,785 INFO L280 TraceCheckUtils]: 57: Hoare triple {3704#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {3704#false} is VALID [2020-07-10 19:05:19,785 INFO L280 TraceCheckUtils]: 58: Hoare triple {3704#false} havoc #t~mem13.base, #t~mem13.offset; {3704#false} is VALID [2020-07-10 19:05:19,785 INFO L280 TraceCheckUtils]: 59: Hoare triple {3704#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {3704#false} is VALID [2020-07-10 19:05:19,785 INFO L280 TraceCheckUtils]: 60: Hoare triple {3704#false} #t~short9 := 0 != #t~mem7; {3704#false} is VALID [2020-07-10 19:05:19,786 INFO L280 TraceCheckUtils]: 61: Hoare triple {3704#false} assume #t~short9; {3704#false} is VALID [2020-07-10 19:05:19,786 INFO L280 TraceCheckUtils]: 62: Hoare triple {3704#false} #t~short11 := #t~short9; {3704#false} is VALID [2020-07-10 19:05:19,786 INFO L280 TraceCheckUtils]: 63: Hoare triple {3704#false} assume #t~short11; {3704#false} is VALID [2020-07-10 19:05:19,787 INFO L280 TraceCheckUtils]: 64: Hoare triple {3704#false} assume #t~short11; {3704#false} is VALID [2020-07-10 19:05:19,787 INFO L280 TraceCheckUtils]: 65: Hoare triple {3704#false} havoc #t~mem7; {3704#false} is VALID [2020-07-10 19:05:19,787 INFO L280 TraceCheckUtils]: 66: Hoare triple {3704#false} havoc #t~mem8; {3704#false} is VALID [2020-07-10 19:05:19,787 INFO L280 TraceCheckUtils]: 67: Hoare triple {3704#false} havoc #t~mem10; {3704#false} is VALID [2020-07-10 19:05:19,788 INFO L280 TraceCheckUtils]: 68: Hoare triple {3704#false} havoc #t~short11; {3704#false} is VALID [2020-07-10 19:05:19,788 INFO L280 TraceCheckUtils]: 69: Hoare triple {3704#false} havoc #t~short9; {3704#false} is VALID [2020-07-10 19:05:19,788 INFO L280 TraceCheckUtils]: 70: Hoare triple {3704#false} assume !false; {3704#false} is VALID [2020-07-10 19:05:19,796 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:19,796 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:19,796 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [562968398] [2020-07-10 19:05:19,797 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:19,797 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2020-07-10 19:05:19,797 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310099987] [2020-07-10 19:05:19,799 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 71 [2020-07-10 19:05:19,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:19,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-10 19:05:19,880 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:19,880 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-10 19:05:19,880 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:19,881 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-10 19:05:19,881 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2020-07-10 19:05:19,881 INFO L87 Difference]: Start difference. First operand 114 states and 124 transitions. Second operand 11 states. [2020-07-10 19:05:21,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:21,178 INFO L93 Difference]: Finished difference Result 214 states and 233 transitions. [2020-07-10 19:05:21,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-10 19:05:21,178 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 71 [2020-07-10 19:05:21,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:21,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-10 19:05:21,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 233 transitions. [2020-07-10 19:05:21,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-10 19:05:21,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 233 transitions. [2020-07-10 19:05:21,187 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 233 transitions. [2020-07-10 19:05:21,429 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 233 edges. 233 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:21,433 INFO L225 Difference]: With dead ends: 214 [2020-07-10 19:05:21,433 INFO L226 Difference]: Without dead ends: 154 [2020-07-10 19:05:21,434 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=269, Unknown=0, NotChecked=0, Total=342 [2020-07-10 19:05:21,435 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2020-07-10 19:05:21,645 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 135. [2020-07-10 19:05:21,645 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:21,645 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand 135 states. [2020-07-10 19:05:21,646 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 135 states. [2020-07-10 19:05:21,646 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 135 states. [2020-07-10 19:05:21,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:21,651 INFO L93 Difference]: Finished difference Result 154 states and 166 transitions. [2020-07-10 19:05:21,651 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 166 transitions. [2020-07-10 19:05:21,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:21,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:21,652 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 154 states. [2020-07-10 19:05:21,652 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 154 states. [2020-07-10 19:05:21,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:21,657 INFO L93 Difference]: Finished difference Result 154 states and 166 transitions. [2020-07-10 19:05:21,657 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 166 transitions. [2020-07-10 19:05:21,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:21,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:21,658 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:21,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:21,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 135 states. [2020-07-10 19:05:21,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 146 transitions. [2020-07-10 19:05:21,663 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 146 transitions. Word has length 71 [2020-07-10 19:05:21,664 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:21,664 INFO L479 AbstractCegarLoop]: Abstraction has 135 states and 146 transitions. [2020-07-10 19:05:21,664 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-10 19:05:21,664 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 135 states and 146 transitions. [2020-07-10 19:05:21,864 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 146 edges. 146 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:21,864 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2020-07-10 19:05:21,865 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2020-07-10 19:05:21,865 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:21,866 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:21,866 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 19:05:21,866 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:21,867 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:21,867 INFO L82 PathProgramCache]: Analyzing trace with hash -1395228995, now seen corresponding path program 2 times [2020-07-10 19:05:21,867 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:21,867 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [85682888] [2020-07-10 19:05:21,867 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:21,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:22,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:22,011 INFO L280 TraceCheckUtils]: 0: Hoare triple {4862#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4789#true} is VALID [2020-07-10 19:05:22,011 INFO L280 TraceCheckUtils]: 1: Hoare triple {4789#true} #valid := #valid[0 := 0]; {4789#true} is VALID [2020-07-10 19:05:22,012 INFO L280 TraceCheckUtils]: 2: Hoare triple {4789#true} assume 0 < #StackHeapBarrier; {4789#true} is VALID [2020-07-10 19:05:22,012 INFO L280 TraceCheckUtils]: 3: Hoare triple {4789#true} assume true; {4789#true} is VALID [2020-07-10 19:05:22,012 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4789#true} {4789#true} #188#return; {4789#true} is VALID [2020-07-10 19:05:22,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:22,210 INFO L280 TraceCheckUtils]: 0: Hoare triple {4863#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,211 INFO L280 TraceCheckUtils]: 1: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,211 INFO L280 TraceCheckUtils]: 2: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,212 INFO L280 TraceCheckUtils]: 3: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,212 INFO L280 TraceCheckUtils]: 4: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,213 INFO L280 TraceCheckUtils]: 5: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,213 INFO L280 TraceCheckUtils]: 6: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,214 INFO L280 TraceCheckUtils]: 7: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,215 INFO L280 TraceCheckUtils]: 8: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,215 INFO L280 TraceCheckUtils]: 9: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,216 INFO L280 TraceCheckUtils]: 10: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,216 INFO L280 TraceCheckUtils]: 11: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,217 INFO L280 TraceCheckUtils]: 12: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,218 INFO L280 TraceCheckUtils]: 13: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,218 INFO L280 TraceCheckUtils]: 14: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,219 INFO L280 TraceCheckUtils]: 15: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,219 INFO L280 TraceCheckUtils]: 16: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,220 INFO L280 TraceCheckUtils]: 17: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,220 INFO L280 TraceCheckUtils]: 18: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {4865#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:22,221 INFO L280 TraceCheckUtils]: 19: Hoare triple {4865#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,222 INFO L280 TraceCheckUtils]: 20: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,222 INFO L280 TraceCheckUtils]: 21: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0); {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,223 INFO L280 TraceCheckUtils]: 22: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,223 INFO L280 TraceCheckUtils]: 23: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,224 INFO L280 TraceCheckUtils]: 24: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,225 INFO L280 TraceCheckUtils]: 25: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,225 INFO L280 TraceCheckUtils]: 26: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,226 INFO L280 TraceCheckUtils]: 27: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,226 INFO L280 TraceCheckUtils]: 28: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume #t~nondet3 == ~len; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,227 INFO L280 TraceCheckUtils]: 29: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~ite4 := 1; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,227 INFO L280 TraceCheckUtils]: 30: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,228 INFO L280 TraceCheckUtils]: 31: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~nondet3; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,229 INFO L280 TraceCheckUtils]: 32: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~ite4; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,230 INFO L280 TraceCheckUtils]: 33: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,230 INFO L280 TraceCheckUtils]: 34: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,231 INFO L280 TraceCheckUtils]: 35: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,231 INFO L280 TraceCheckUtils]: 36: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,232 INFO L280 TraceCheckUtils]: 37: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,233 INFO L280 TraceCheckUtils]: 38: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~post5 := ~len; {4867#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} is VALID [2020-07-10 19:05:22,234 INFO L280 TraceCheckUtils]: 39: Hoare triple {4867#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} ~len := #t~post5 - 1; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,234 INFO L280 TraceCheckUtils]: 40: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~post5; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,235 INFO L280 TraceCheckUtils]: 41: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0); {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,235 INFO L280 TraceCheckUtils]: 42: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,236 INFO L280 TraceCheckUtils]: 43: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,237 INFO L280 TraceCheckUtils]: 44: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,237 INFO L280 TraceCheckUtils]: 45: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,238 INFO L280 TraceCheckUtils]: 46: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,239 INFO L280 TraceCheckUtils]: 47: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,239 INFO L280 TraceCheckUtils]: 48: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume #t~nondet3 == ~len; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,240 INFO L280 TraceCheckUtils]: 49: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~ite4 := 1; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,240 INFO L280 TraceCheckUtils]: 50: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,241 INFO L280 TraceCheckUtils]: 51: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~nondet3; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,241 INFO L280 TraceCheckUtils]: 52: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~ite4; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,242 INFO L280 TraceCheckUtils]: 53: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,243 INFO L280 TraceCheckUtils]: 54: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,243 INFO L280 TraceCheckUtils]: 55: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,244 INFO L280 TraceCheckUtils]: 56: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,244 INFO L280 TraceCheckUtils]: 57: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,246 INFO L280 TraceCheckUtils]: 58: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~post5 := ~len; {4869#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} is VALID [2020-07-10 19:05:22,247 INFO L280 TraceCheckUtils]: 59: Hoare triple {4869#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} ~len := #t~post5 - 1; {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:22,247 INFO L280 TraceCheckUtils]: 60: Hoare triple {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~post5; {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:22,249 INFO L280 TraceCheckUtils]: 61: Hoare triple {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(~len > 0); {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-10 19:05:22,249 INFO L280 TraceCheckUtils]: 62: Hoare triple {4871#(<= |dll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-10 19:05:22,250 INFO L280 TraceCheckUtils]: 63: Hoare triple {4871#(<= |dll_create_#in~len| 3)} assume true; {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-10 19:05:22,251 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {4871#(<= |dll_create_#in~len| 3)} {4796#(<= 5 main_~len~0)} #184#return; {4790#false} is VALID [2020-07-10 19:05:22,258 INFO L263 TraceCheckUtils]: 0: Hoare triple {4789#true} call ULTIMATE.init(); {4862#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:22,258 INFO L280 TraceCheckUtils]: 1: Hoare triple {4862#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4789#true} is VALID [2020-07-10 19:05:22,258 INFO L280 TraceCheckUtils]: 2: Hoare triple {4789#true} #valid := #valid[0 := 0]; {4789#true} is VALID [2020-07-10 19:05:22,259 INFO L280 TraceCheckUtils]: 3: Hoare triple {4789#true} assume 0 < #StackHeapBarrier; {4789#true} is VALID [2020-07-10 19:05:22,259 INFO L280 TraceCheckUtils]: 4: Hoare triple {4789#true} assume true; {4789#true} is VALID [2020-07-10 19:05:22,259 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4789#true} {4789#true} #188#return; {4789#true} is VALID [2020-07-10 19:05:22,259 INFO L263 TraceCheckUtils]: 6: Hoare triple {4789#true} call #t~ret20 := main(); {4789#true} is VALID [2020-07-10 19:05:22,260 INFO L280 TraceCheckUtils]: 7: Hoare triple {4789#true} ~len~0 := 5; {4796#(<= 5 main_~len~0)} is VALID [2020-07-10 19:05:22,261 INFO L263 TraceCheckUtils]: 8: Hoare triple {4796#(<= 5 main_~len~0)} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {4863#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:22,262 INFO L280 TraceCheckUtils]: 9: Hoare triple {4863#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,262 INFO L280 TraceCheckUtils]: 10: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,263 INFO L280 TraceCheckUtils]: 11: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,263 INFO L280 TraceCheckUtils]: 12: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,264 INFO L280 TraceCheckUtils]: 13: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,264 INFO L280 TraceCheckUtils]: 14: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,265 INFO L280 TraceCheckUtils]: 15: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,266 INFO L280 TraceCheckUtils]: 16: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,266 INFO L280 TraceCheckUtils]: 17: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,267 INFO L280 TraceCheckUtils]: 18: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,268 INFO L280 TraceCheckUtils]: 19: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,268 INFO L280 TraceCheckUtils]: 20: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,269 INFO L280 TraceCheckUtils]: 21: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,269 INFO L280 TraceCheckUtils]: 22: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,270 INFO L280 TraceCheckUtils]: 23: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,271 INFO L280 TraceCheckUtils]: 24: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,272 INFO L280 TraceCheckUtils]: 25: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,272 INFO L280 TraceCheckUtils]: 26: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4864#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:22,273 INFO L280 TraceCheckUtils]: 27: Hoare triple {4864#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {4865#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:22,274 INFO L280 TraceCheckUtils]: 28: Hoare triple {4865#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,275 INFO L280 TraceCheckUtils]: 29: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,275 INFO L280 TraceCheckUtils]: 30: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0); {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,276 INFO L280 TraceCheckUtils]: 31: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,276 INFO L280 TraceCheckUtils]: 32: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,277 INFO L280 TraceCheckUtils]: 33: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,278 INFO L280 TraceCheckUtils]: 34: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,278 INFO L280 TraceCheckUtils]: 35: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,287 INFO L280 TraceCheckUtils]: 36: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,288 INFO L280 TraceCheckUtils]: 37: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume #t~nondet3 == ~len; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,289 INFO L280 TraceCheckUtils]: 38: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~ite4 := 1; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,289 INFO L280 TraceCheckUtils]: 39: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,290 INFO L280 TraceCheckUtils]: 40: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~nondet3; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,290 INFO L280 TraceCheckUtils]: 41: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~ite4; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,291 INFO L280 TraceCheckUtils]: 42: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,291 INFO L280 TraceCheckUtils]: 43: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,292 INFO L280 TraceCheckUtils]: 44: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,292 INFO L280 TraceCheckUtils]: 45: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,293 INFO L280 TraceCheckUtils]: 46: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:22,294 INFO L280 TraceCheckUtils]: 47: Hoare triple {4866#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~post5 := ~len; {4867#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} is VALID [2020-07-10 19:05:22,295 INFO L280 TraceCheckUtils]: 48: Hoare triple {4867#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} ~len := #t~post5 - 1; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,295 INFO L280 TraceCheckUtils]: 49: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~post5; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,296 INFO L280 TraceCheckUtils]: 50: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0); {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,296 INFO L280 TraceCheckUtils]: 51: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,297 INFO L280 TraceCheckUtils]: 52: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,298 INFO L280 TraceCheckUtils]: 53: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,298 INFO L280 TraceCheckUtils]: 54: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,299 INFO L280 TraceCheckUtils]: 55: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,299 INFO L280 TraceCheckUtils]: 56: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,300 INFO L280 TraceCheckUtils]: 57: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume #t~nondet3 == ~len; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,300 INFO L280 TraceCheckUtils]: 58: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~ite4 := 1; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,301 INFO L280 TraceCheckUtils]: 59: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,301 INFO L280 TraceCheckUtils]: 60: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~nondet3; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,302 INFO L280 TraceCheckUtils]: 61: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~ite4; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,303 INFO L280 TraceCheckUtils]: 62: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,303 INFO L280 TraceCheckUtils]: 63: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,304 INFO L280 TraceCheckUtils]: 64: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,304 INFO L280 TraceCheckUtils]: 65: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,305 INFO L280 TraceCheckUtils]: 66: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:22,306 INFO L280 TraceCheckUtils]: 67: Hoare triple {4868#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~post5 := ~len; {4869#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} is VALID [2020-07-10 19:05:22,307 INFO L280 TraceCheckUtils]: 68: Hoare triple {4869#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} ~len := #t~post5 - 1; {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:22,308 INFO L280 TraceCheckUtils]: 69: Hoare triple {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~post5; {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:22,309 INFO L280 TraceCheckUtils]: 70: Hoare triple {4870#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(~len > 0); {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-10 19:05:22,310 INFO L280 TraceCheckUtils]: 71: Hoare triple {4871#(<= |dll_create_#in~len| 3)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-10 19:05:22,310 INFO L280 TraceCheckUtils]: 72: Hoare triple {4871#(<= |dll_create_#in~len| 3)} assume true; {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-10 19:05:22,312 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4871#(<= |dll_create_#in~len| 3)} {4796#(<= 5 main_~len~0)} #184#return; {4790#false} is VALID [2020-07-10 19:05:22,312 INFO L280 TraceCheckUtils]: 74: Hoare triple {4790#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {4790#false} is VALID [2020-07-10 19:05:22,312 INFO L280 TraceCheckUtils]: 75: Hoare triple {4790#false} havoc #t~ret6.base, #t~ret6.offset; {4790#false} is VALID [2020-07-10 19:05:22,312 INFO L280 TraceCheckUtils]: 76: Hoare triple {4790#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {4790#false} is VALID [2020-07-10 19:05:22,313 INFO L280 TraceCheckUtils]: 77: Hoare triple {4790#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {4790#false} is VALID [2020-07-10 19:05:22,313 INFO L280 TraceCheckUtils]: 78: Hoare triple {4790#false} havoc #t~mem13.base, #t~mem13.offset; {4790#false} is VALID [2020-07-10 19:05:22,313 INFO L280 TraceCheckUtils]: 79: Hoare triple {4790#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {4790#false} is VALID [2020-07-10 19:05:22,313 INFO L280 TraceCheckUtils]: 80: Hoare triple {4790#false} #t~short9 := 0 != #t~mem7; {4790#false} is VALID [2020-07-10 19:05:22,313 INFO L280 TraceCheckUtils]: 81: Hoare triple {4790#false} assume #t~short9; {4790#false} is VALID [2020-07-10 19:05:22,314 INFO L280 TraceCheckUtils]: 82: Hoare triple {4790#false} #t~short11 := #t~short9; {4790#false} is VALID [2020-07-10 19:05:22,314 INFO L280 TraceCheckUtils]: 83: Hoare triple {4790#false} assume #t~short11; {4790#false} is VALID [2020-07-10 19:05:22,314 INFO L280 TraceCheckUtils]: 84: Hoare triple {4790#false} assume #t~short11; {4790#false} is VALID [2020-07-10 19:05:22,314 INFO L280 TraceCheckUtils]: 85: Hoare triple {4790#false} havoc #t~mem7; {4790#false} is VALID [2020-07-10 19:05:22,314 INFO L280 TraceCheckUtils]: 86: Hoare triple {4790#false} havoc #t~mem8; {4790#false} is VALID [2020-07-10 19:05:22,315 INFO L280 TraceCheckUtils]: 87: Hoare triple {4790#false} havoc #t~mem10; {4790#false} is VALID [2020-07-10 19:05:22,315 INFO L280 TraceCheckUtils]: 88: Hoare triple {4790#false} havoc #t~short11; {4790#false} is VALID [2020-07-10 19:05:22,315 INFO L280 TraceCheckUtils]: 89: Hoare triple {4790#false} havoc #t~short9; {4790#false} is VALID [2020-07-10 19:05:22,315 INFO L280 TraceCheckUtils]: 90: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2020-07-10 19:05:22,326 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:22,326 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:22,326 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [85682888] [2020-07-10 19:05:22,327 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:22,328 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2020-07-10 19:05:22,328 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [220643690] [2020-07-10 19:05:22,328 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 91 [2020-07-10 19:05:22,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:22,329 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-10 19:05:22,447 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:22,448 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-10 19:05:22,448 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:22,448 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-10 19:05:22,449 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2020-07-10 19:05:22,449 INFO L87 Difference]: Start difference. First operand 135 states and 146 transitions. Second operand 13 states. [2020-07-10 19:05:24,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:24,201 INFO L93 Difference]: Finished difference Result 235 states and 255 transitions. [2020-07-10 19:05:24,201 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-10 19:05:24,202 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 91 [2020-07-10 19:05:24,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:24,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-10 19:05:24,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 255 transitions. [2020-07-10 19:05:24,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-10 19:05:24,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 255 transitions. [2020-07-10 19:05:24,211 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 255 transitions. [2020-07-10 19:05:24,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 255 edges. 255 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:24,520 INFO L225 Difference]: With dead ends: 235 [2020-07-10 19:05:24,520 INFO L226 Difference]: Without dead ends: 175 [2020-07-10 19:05:24,525 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=109, Invalid=397, Unknown=0, NotChecked=0, Total=506 [2020-07-10 19:05:24,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2020-07-10 19:05:24,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 156. [2020-07-10 19:05:24,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:24,781 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand 156 states. [2020-07-10 19:05:24,782 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand 156 states. [2020-07-10 19:05:24,782 INFO L87 Difference]: Start difference. First operand 175 states. Second operand 156 states. [2020-07-10 19:05:24,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:24,787 INFO L93 Difference]: Finished difference Result 175 states and 188 transitions. [2020-07-10 19:05:24,788 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 188 transitions. [2020-07-10 19:05:24,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:24,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:24,788 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 175 states. [2020-07-10 19:05:24,789 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 175 states. [2020-07-10 19:05:24,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:24,794 INFO L93 Difference]: Finished difference Result 175 states and 188 transitions. [2020-07-10 19:05:24,795 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 188 transitions. [2020-07-10 19:05:24,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:24,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:24,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:24,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:24,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 156 states. [2020-07-10 19:05:24,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 168 transitions. [2020-07-10 19:05:24,801 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 168 transitions. Word has length 91 [2020-07-10 19:05:24,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:24,801 INFO L479 AbstractCegarLoop]: Abstraction has 156 states and 168 transitions. [2020-07-10 19:05:24,801 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-10 19:05:24,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 156 states and 168 transitions. [2020-07-10 19:05:25,008 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 168 edges. 168 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:25,008 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 168 transitions. [2020-07-10 19:05:25,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2020-07-10 19:05:25,010 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:25,010 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:25,010 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 19:05:25,010 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:25,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:25,011 INFO L82 PathProgramCache]: Analyzing trace with hash 274581320, now seen corresponding path program 3 times [2020-07-10 19:05:25,011 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:25,011 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [158975314] [2020-07-10 19:05:25,012 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:25,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:25,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:25,226 INFO L280 TraceCheckUtils]: 0: Hoare triple {6120#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6027#true} is VALID [2020-07-10 19:05:25,227 INFO L280 TraceCheckUtils]: 1: Hoare triple {6027#true} #valid := #valid[0 := 0]; {6027#true} is VALID [2020-07-10 19:05:25,227 INFO L280 TraceCheckUtils]: 2: Hoare triple {6027#true} assume 0 < #StackHeapBarrier; {6027#true} is VALID [2020-07-10 19:05:25,227 INFO L280 TraceCheckUtils]: 3: Hoare triple {6027#true} assume true; {6027#true} is VALID [2020-07-10 19:05:25,227 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6027#true} {6027#true} #188#return; {6027#true} is VALID [2020-07-10 19:05:25,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:25,500 INFO L280 TraceCheckUtils]: 0: Hoare triple {6121#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,500 INFO L280 TraceCheckUtils]: 1: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,501 INFO L280 TraceCheckUtils]: 2: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,502 INFO L280 TraceCheckUtils]: 3: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,502 INFO L280 TraceCheckUtils]: 4: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,503 INFO L280 TraceCheckUtils]: 5: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,504 INFO L280 TraceCheckUtils]: 6: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,504 INFO L280 TraceCheckUtils]: 7: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,505 INFO L280 TraceCheckUtils]: 8: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,505 INFO L280 TraceCheckUtils]: 9: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,506 INFO L280 TraceCheckUtils]: 10: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,507 INFO L280 TraceCheckUtils]: 11: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,507 INFO L280 TraceCheckUtils]: 12: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,508 INFO L280 TraceCheckUtils]: 13: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,508 INFO L280 TraceCheckUtils]: 14: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,509 INFO L280 TraceCheckUtils]: 15: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,509 INFO L280 TraceCheckUtils]: 16: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,510 INFO L280 TraceCheckUtils]: 17: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,511 INFO L280 TraceCheckUtils]: 18: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {6123#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:25,511 INFO L280 TraceCheckUtils]: 19: Hoare triple {6123#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,512 INFO L280 TraceCheckUtils]: 20: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,513 INFO L280 TraceCheckUtils]: 21: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0); {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,513 INFO L280 TraceCheckUtils]: 22: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,514 INFO L280 TraceCheckUtils]: 23: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,515 INFO L280 TraceCheckUtils]: 24: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,515 INFO L280 TraceCheckUtils]: 25: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,516 INFO L280 TraceCheckUtils]: 26: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,516 INFO L280 TraceCheckUtils]: 27: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,517 INFO L280 TraceCheckUtils]: 28: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume #t~nondet3 == ~len; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,517 INFO L280 TraceCheckUtils]: 29: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~ite4 := 1; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,518 INFO L280 TraceCheckUtils]: 30: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,519 INFO L280 TraceCheckUtils]: 31: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~nondet3; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,519 INFO L280 TraceCheckUtils]: 32: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~ite4; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,520 INFO L280 TraceCheckUtils]: 33: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,520 INFO L280 TraceCheckUtils]: 34: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,521 INFO L280 TraceCheckUtils]: 35: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,521 INFO L280 TraceCheckUtils]: 36: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,522 INFO L280 TraceCheckUtils]: 37: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,522 INFO L280 TraceCheckUtils]: 38: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~post5 := ~len; {6125#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} is VALID [2020-07-10 19:05:25,523 INFO L280 TraceCheckUtils]: 39: Hoare triple {6125#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} ~len := #t~post5 - 1; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,524 INFO L280 TraceCheckUtils]: 40: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~post5; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,524 INFO L280 TraceCheckUtils]: 41: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0); {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,525 INFO L280 TraceCheckUtils]: 42: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,526 INFO L280 TraceCheckUtils]: 43: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,526 INFO L280 TraceCheckUtils]: 44: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,527 INFO L280 TraceCheckUtils]: 45: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,527 INFO L280 TraceCheckUtils]: 46: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,528 INFO L280 TraceCheckUtils]: 47: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,528 INFO L280 TraceCheckUtils]: 48: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume #t~nondet3 == ~len; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,529 INFO L280 TraceCheckUtils]: 49: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~ite4 := 1; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,529 INFO L280 TraceCheckUtils]: 50: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,530 INFO L280 TraceCheckUtils]: 51: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~nondet3; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,530 INFO L280 TraceCheckUtils]: 52: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~ite4; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,531 INFO L280 TraceCheckUtils]: 53: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,531 INFO L280 TraceCheckUtils]: 54: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,532 INFO L280 TraceCheckUtils]: 55: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,533 INFO L280 TraceCheckUtils]: 56: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,533 INFO L280 TraceCheckUtils]: 57: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,534 INFO L280 TraceCheckUtils]: 58: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~post5 := ~len; {6127#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} is VALID [2020-07-10 19:05:25,535 INFO L280 TraceCheckUtils]: 59: Hoare triple {6127#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} ~len := #t~post5 - 1; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,535 INFO L280 TraceCheckUtils]: 60: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~post5; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,536 INFO L280 TraceCheckUtils]: 61: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !!(~len > 0); {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,536 INFO L280 TraceCheckUtils]: 62: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,537 INFO L280 TraceCheckUtils]: 63: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,537 INFO L280 TraceCheckUtils]: 64: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,538 INFO L280 TraceCheckUtils]: 65: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,539 INFO L280 TraceCheckUtils]: 66: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,539 INFO L280 TraceCheckUtils]: 67: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,540 INFO L280 TraceCheckUtils]: 68: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume #t~nondet3 == ~len; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,540 INFO L280 TraceCheckUtils]: 69: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} #t~ite4 := 1; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,541 INFO L280 TraceCheckUtils]: 70: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,541 INFO L280 TraceCheckUtils]: 71: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~nondet3; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,542 INFO L280 TraceCheckUtils]: 72: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~ite4; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,542 INFO L280 TraceCheckUtils]: 73: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,543 INFO L280 TraceCheckUtils]: 74: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,543 INFO L280 TraceCheckUtils]: 75: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume ~head~0.base != 0 || ~head~0.offset != 0; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,544 INFO L280 TraceCheckUtils]: 76: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,544 INFO L280 TraceCheckUtils]: 77: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,545 INFO L280 TraceCheckUtils]: 78: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} #t~post5 := ~len; {6129#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 3))} is VALID [2020-07-10 19:05:25,546 INFO L280 TraceCheckUtils]: 79: Hoare triple {6129#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 3))} ~len := #t~post5 - 1; {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} is VALID [2020-07-10 19:05:25,547 INFO L280 TraceCheckUtils]: 80: Hoare triple {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} havoc #t~post5; {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} is VALID [2020-07-10 19:05:25,547 INFO L280 TraceCheckUtils]: 81: Hoare triple {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} assume !(~len > 0); {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-10 19:05:25,548 INFO L280 TraceCheckUtils]: 82: Hoare triple {6131#(<= |dll_create_#in~len| 4)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-10 19:05:25,549 INFO L280 TraceCheckUtils]: 83: Hoare triple {6131#(<= |dll_create_#in~len| 4)} assume true; {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-10 19:05:25,550 INFO L275 TraceCheckUtils]: 84: Hoare quadruple {6131#(<= |dll_create_#in~len| 4)} {6034#(<= 5 main_~len~0)} #184#return; {6028#false} is VALID [2020-07-10 19:05:25,562 INFO L263 TraceCheckUtils]: 0: Hoare triple {6027#true} call ULTIMATE.init(); {6120#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:25,563 INFO L280 TraceCheckUtils]: 1: Hoare triple {6120#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {6027#true} is VALID [2020-07-10 19:05:25,563 INFO L280 TraceCheckUtils]: 2: Hoare triple {6027#true} #valid := #valid[0 := 0]; {6027#true} is VALID [2020-07-10 19:05:25,563 INFO L280 TraceCheckUtils]: 3: Hoare triple {6027#true} assume 0 < #StackHeapBarrier; {6027#true} is VALID [2020-07-10 19:05:25,563 INFO L280 TraceCheckUtils]: 4: Hoare triple {6027#true} assume true; {6027#true} is VALID [2020-07-10 19:05:25,563 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6027#true} {6027#true} #188#return; {6027#true} is VALID [2020-07-10 19:05:25,564 INFO L263 TraceCheckUtils]: 6: Hoare triple {6027#true} call #t~ret20 := main(); {6027#true} is VALID [2020-07-10 19:05:25,564 INFO L280 TraceCheckUtils]: 7: Hoare triple {6027#true} ~len~0 := 5; {6034#(<= 5 main_~len~0)} is VALID [2020-07-10 19:05:25,565 INFO L263 TraceCheckUtils]: 8: Hoare triple {6034#(<= 5 main_~len~0)} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {6121#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:25,566 INFO L280 TraceCheckUtils]: 9: Hoare triple {6121#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,567 INFO L280 TraceCheckUtils]: 10: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := 0, 0; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,567 INFO L280 TraceCheckUtils]: 11: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume !!(~len > 0); {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,568 INFO L280 TraceCheckUtils]: 12: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,568 INFO L280 TraceCheckUtils]: 13: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,569 INFO L280 TraceCheckUtils]: 14: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,569 INFO L280 TraceCheckUtils]: 15: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,570 INFO L280 TraceCheckUtils]: 16: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,570 INFO L280 TraceCheckUtils]: 17: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,571 INFO L280 TraceCheckUtils]: 18: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume #t~nondet3 == ~len; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,572 INFO L280 TraceCheckUtils]: 19: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} #t~ite4 := 1; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,572 INFO L280 TraceCheckUtils]: 20: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,573 INFO L280 TraceCheckUtils]: 21: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} havoc #t~nondet3; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,573 INFO L280 TraceCheckUtils]: 22: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} havoc #t~ite4; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,574 INFO L280 TraceCheckUtils]: 23: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,574 INFO L280 TraceCheckUtils]: 24: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,575 INFO L280 TraceCheckUtils]: 25: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} assume !(~head~0.base != 0 || ~head~0.offset != 0); {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,576 INFO L280 TraceCheckUtils]: 26: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6122#(= dll_create_~len |dll_create_#in~len|)} is VALID [2020-07-10 19:05:25,576 INFO L280 TraceCheckUtils]: 27: Hoare triple {6122#(= dll_create_~len |dll_create_#in~len|)} #t~post5 := ~len; {6123#(<= |dll_create_#in~len| |dll_create_#t~post5|)} is VALID [2020-07-10 19:05:25,577 INFO L280 TraceCheckUtils]: 28: Hoare triple {6123#(<= |dll_create_#in~len| |dll_create_#t~post5|)} ~len := #t~post5 - 1; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,578 INFO L280 TraceCheckUtils]: 29: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~post5; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,578 INFO L280 TraceCheckUtils]: 30: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !!(~len > 0); {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,579 INFO L280 TraceCheckUtils]: 31: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,580 INFO L280 TraceCheckUtils]: 32: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,580 INFO L280 TraceCheckUtils]: 33: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,581 INFO L280 TraceCheckUtils]: 34: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,582 INFO L280 TraceCheckUtils]: 35: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,582 INFO L280 TraceCheckUtils]: 36: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,583 INFO L280 TraceCheckUtils]: 37: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume #t~nondet3 == ~len; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,584 INFO L280 TraceCheckUtils]: 38: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~ite4 := 1; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,584 INFO L280 TraceCheckUtils]: 39: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,585 INFO L280 TraceCheckUtils]: 40: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~nondet3; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,586 INFO L280 TraceCheckUtils]: 41: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} havoc #t~ite4; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,586 INFO L280 TraceCheckUtils]: 42: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,587 INFO L280 TraceCheckUtils]: 43: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,588 INFO L280 TraceCheckUtils]: 44: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} assume ~head~0.base != 0 || ~head~0.offset != 0; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,588 INFO L280 TraceCheckUtils]: 45: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,589 INFO L280 TraceCheckUtils]: 46: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} is VALID [2020-07-10 19:05:25,590 INFO L280 TraceCheckUtils]: 47: Hoare triple {6124#(<= |dll_create_#in~len| (+ dll_create_~len 1))} #t~post5 := ~len; {6125#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} is VALID [2020-07-10 19:05:25,591 INFO L280 TraceCheckUtils]: 48: Hoare triple {6125#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 1))} ~len := #t~post5 - 1; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,591 INFO L280 TraceCheckUtils]: 49: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~post5; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,592 INFO L280 TraceCheckUtils]: 50: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !!(~len > 0); {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,592 INFO L280 TraceCheckUtils]: 51: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,593 INFO L280 TraceCheckUtils]: 52: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,594 INFO L280 TraceCheckUtils]: 53: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,594 INFO L280 TraceCheckUtils]: 54: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,595 INFO L280 TraceCheckUtils]: 55: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,595 INFO L280 TraceCheckUtils]: 56: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,596 INFO L280 TraceCheckUtils]: 57: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume #t~nondet3 == ~len; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,596 INFO L280 TraceCheckUtils]: 58: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~ite4 := 1; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,597 INFO L280 TraceCheckUtils]: 59: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,597 INFO L280 TraceCheckUtils]: 60: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~nondet3; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,598 INFO L280 TraceCheckUtils]: 61: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} havoc #t~ite4; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,599 INFO L280 TraceCheckUtils]: 62: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,599 INFO L280 TraceCheckUtils]: 63: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,600 INFO L280 TraceCheckUtils]: 64: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} assume ~head~0.base != 0 || ~head~0.offset != 0; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,600 INFO L280 TraceCheckUtils]: 65: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,601 INFO L280 TraceCheckUtils]: 66: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} is VALID [2020-07-10 19:05:25,601 INFO L280 TraceCheckUtils]: 67: Hoare triple {6126#(<= |dll_create_#in~len| (+ dll_create_~len 2))} #t~post5 := ~len; {6127#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} is VALID [2020-07-10 19:05:25,602 INFO L280 TraceCheckUtils]: 68: Hoare triple {6127#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 2))} ~len := #t~post5 - 1; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,603 INFO L280 TraceCheckUtils]: 69: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~post5; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,604 INFO L280 TraceCheckUtils]: 70: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !!(~len > 0); {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,604 INFO L280 TraceCheckUtils]: 71: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,605 INFO L280 TraceCheckUtils]: 72: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,605 INFO L280 TraceCheckUtils]: 73: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,606 INFO L280 TraceCheckUtils]: 74: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,607 INFO L280 TraceCheckUtils]: 75: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,607 INFO L280 TraceCheckUtils]: 76: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,608 INFO L280 TraceCheckUtils]: 77: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume #t~nondet3 == ~len; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,608 INFO L280 TraceCheckUtils]: 78: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} #t~ite4 := 1; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,609 INFO L280 TraceCheckUtils]: 79: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,610 INFO L280 TraceCheckUtils]: 80: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~nondet3; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,610 INFO L280 TraceCheckUtils]: 81: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} havoc #t~ite4; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,611 INFO L280 TraceCheckUtils]: 82: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,611 INFO L280 TraceCheckUtils]: 83: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,612 INFO L280 TraceCheckUtils]: 84: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} assume ~head~0.base != 0 || ~head~0.offset != 0; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,612 INFO L280 TraceCheckUtils]: 85: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,613 INFO L280 TraceCheckUtils]: 86: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} is VALID [2020-07-10 19:05:25,614 INFO L280 TraceCheckUtils]: 87: Hoare triple {6128#(<= |dll_create_#in~len| (+ dll_create_~len 3))} #t~post5 := ~len; {6129#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 3))} is VALID [2020-07-10 19:05:25,615 INFO L280 TraceCheckUtils]: 88: Hoare triple {6129#(<= |dll_create_#in~len| (+ |dll_create_#t~post5| 3))} ~len := #t~post5 - 1; {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} is VALID [2020-07-10 19:05:25,616 INFO L280 TraceCheckUtils]: 89: Hoare triple {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} havoc #t~post5; {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} is VALID [2020-07-10 19:05:25,617 INFO L280 TraceCheckUtils]: 90: Hoare triple {6130#(<= |dll_create_#in~len| (+ dll_create_~len 4))} assume !(~len > 0); {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-10 19:05:25,618 INFO L280 TraceCheckUtils]: 91: Hoare triple {6131#(<= |dll_create_#in~len| 4)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-10 19:05:25,618 INFO L280 TraceCheckUtils]: 92: Hoare triple {6131#(<= |dll_create_#in~len| 4)} assume true; {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-10 19:05:25,619 INFO L275 TraceCheckUtils]: 93: Hoare quadruple {6131#(<= |dll_create_#in~len| 4)} {6034#(<= 5 main_~len~0)} #184#return; {6028#false} is VALID [2020-07-10 19:05:25,620 INFO L280 TraceCheckUtils]: 94: Hoare triple {6028#false} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {6028#false} is VALID [2020-07-10 19:05:25,620 INFO L280 TraceCheckUtils]: 95: Hoare triple {6028#false} havoc #t~ret6.base, #t~ret6.offset; {6028#false} is VALID [2020-07-10 19:05:25,620 INFO L280 TraceCheckUtils]: 96: Hoare triple {6028#false} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {6028#false} is VALID [2020-07-10 19:05:25,620 INFO L280 TraceCheckUtils]: 97: Hoare triple {6028#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {6028#false} is VALID [2020-07-10 19:05:25,621 INFO L280 TraceCheckUtils]: 98: Hoare triple {6028#false} havoc #t~mem13.base, #t~mem13.offset; {6028#false} is VALID [2020-07-10 19:05:25,621 INFO L280 TraceCheckUtils]: 99: Hoare triple {6028#false} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {6028#false} is VALID [2020-07-10 19:05:25,621 INFO L280 TraceCheckUtils]: 100: Hoare triple {6028#false} #t~short9 := 0 != #t~mem7; {6028#false} is VALID [2020-07-10 19:05:25,621 INFO L280 TraceCheckUtils]: 101: Hoare triple {6028#false} assume #t~short9; {6028#false} is VALID [2020-07-10 19:05:25,621 INFO L280 TraceCheckUtils]: 102: Hoare triple {6028#false} #t~short11 := #t~short9; {6028#false} is VALID [2020-07-10 19:05:25,622 INFO L280 TraceCheckUtils]: 103: Hoare triple {6028#false} assume #t~short11; {6028#false} is VALID [2020-07-10 19:05:25,622 INFO L280 TraceCheckUtils]: 104: Hoare triple {6028#false} assume #t~short11; {6028#false} is VALID [2020-07-10 19:05:25,622 INFO L280 TraceCheckUtils]: 105: Hoare triple {6028#false} havoc #t~mem7; {6028#false} is VALID [2020-07-10 19:05:25,622 INFO L280 TraceCheckUtils]: 106: Hoare triple {6028#false} havoc #t~mem8; {6028#false} is VALID [2020-07-10 19:05:25,623 INFO L280 TraceCheckUtils]: 107: Hoare triple {6028#false} havoc #t~mem10; {6028#false} is VALID [2020-07-10 19:05:25,623 INFO L280 TraceCheckUtils]: 108: Hoare triple {6028#false} havoc #t~short11; {6028#false} is VALID [2020-07-10 19:05:25,623 INFO L280 TraceCheckUtils]: 109: Hoare triple {6028#false} havoc #t~short9; {6028#false} is VALID [2020-07-10 19:05:25,623 INFO L280 TraceCheckUtils]: 110: Hoare triple {6028#false} assume !false; {6028#false} is VALID [2020-07-10 19:05:25,660 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:25,660 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:25,661 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [158975314] [2020-07-10 19:05:25,661 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:25,661 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2020-07-10 19:05:25,661 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [679055328] [2020-07-10 19:05:25,662 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 111 [2020-07-10 19:05:25,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:25,663 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-10 19:05:25,783 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:25,783 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-10 19:05:25,784 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:25,784 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-10 19:05:25,785 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2020-07-10 19:05:25,785 INFO L87 Difference]: Start difference. First operand 156 states and 168 transitions. Second operand 15 states. [2020-07-10 19:05:27,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:27,819 INFO L93 Difference]: Finished difference Result 256 states and 277 transitions. [2020-07-10 19:05:27,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-10 19:05:27,819 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 111 [2020-07-10 19:05:27,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:27,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-10 19:05:27,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 277 transitions. [2020-07-10 19:05:27,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-10 19:05:27,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 277 transitions. [2020-07-10 19:05:27,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 277 transitions. [2020-07-10 19:05:28,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 277 edges. 277 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:28,149 INFO L225 Difference]: With dead ends: 256 [2020-07-10 19:05:28,149 INFO L226 Difference]: Without dead ends: 196 [2020-07-10 19:05:28,150 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=155, Invalid=547, Unknown=0, NotChecked=0, Total=702 [2020-07-10 19:05:28,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2020-07-10 19:05:28,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 177. [2020-07-10 19:05:28,484 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:28,484 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 177 states. [2020-07-10 19:05:28,484 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 177 states. [2020-07-10 19:05:28,484 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 177 states. [2020-07-10 19:05:28,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:28,491 INFO L93 Difference]: Finished difference Result 196 states and 210 transitions. [2020-07-10 19:05:28,491 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 210 transitions. [2020-07-10 19:05:28,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:28,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:28,492 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 196 states. [2020-07-10 19:05:28,492 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 196 states. [2020-07-10 19:05:28,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:28,499 INFO L93 Difference]: Finished difference Result 196 states and 210 transitions. [2020-07-10 19:05:28,499 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 210 transitions. [2020-07-10 19:05:28,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:28,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:28,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:28,500 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:28,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 177 states. [2020-07-10 19:05:28,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 177 states to 177 states and 190 transitions. [2020-07-10 19:05:28,504 INFO L78 Accepts]: Start accepts. Automaton has 177 states and 190 transitions. Word has length 111 [2020-07-10 19:05:28,504 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:28,504 INFO L479 AbstractCegarLoop]: Abstraction has 177 states and 190 transitions. [2020-07-10 19:05:28,504 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-10 19:05:28,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 177 states and 190 transitions. [2020-07-10 19:05:28,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:28,780 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 190 transitions. [2020-07-10 19:05:28,783 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2020-07-10 19:05:28,783 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:28,784 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:28,784 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-10 19:05:28,784 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:28,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:28,784 INFO L82 PathProgramCache]: Analyzing trace with hash 1182686291, now seen corresponding path program 4 times [2020-07-10 19:05:28,785 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:28,785 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1260733176] [2020-07-10 19:05:28,785 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:28,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:28,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:28,998 INFO L280 TraceCheckUtils]: 0: Hoare triple {7533#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7417#true} is VALID [2020-07-10 19:05:28,998 INFO L280 TraceCheckUtils]: 1: Hoare triple {7417#true} #valid := #valid[0 := 0]; {7417#true} is VALID [2020-07-10 19:05:28,998 INFO L280 TraceCheckUtils]: 2: Hoare triple {7417#true} assume 0 < #StackHeapBarrier; {7417#true} is VALID [2020-07-10 19:05:28,999 INFO L280 TraceCheckUtils]: 3: Hoare triple {7417#true} assume true; {7417#true} is VALID [2020-07-10 19:05:28,999 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7417#true} {7417#true} #188#return; {7417#true} is VALID [2020-07-10 19:05:29,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:29,331 INFO L280 TraceCheckUtils]: 0: Hoare triple {7534#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {7417#true} is VALID [2020-07-10 19:05:29,332 INFO L280 TraceCheckUtils]: 1: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := 0, 0; {7417#true} is VALID [2020-07-10 19:05:29,332 INFO L280 TraceCheckUtils]: 2: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,332 INFO L280 TraceCheckUtils]: 3: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7417#true} is VALID [2020-07-10 19:05:29,333 INFO L280 TraceCheckUtils]: 4: Hoare triple {7417#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7417#true} is VALID [2020-07-10 19:05:29,333 INFO L280 TraceCheckUtils]: 5: Hoare triple {7417#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7417#true} is VALID [2020-07-10 19:05:29,333 INFO L280 TraceCheckUtils]: 6: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7417#true} is VALID [2020-07-10 19:05:29,334 INFO L280 TraceCheckUtils]: 7: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7417#true} is VALID [2020-07-10 19:05:29,334 INFO L280 TraceCheckUtils]: 8: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-10 19:05:29,334 INFO L280 TraceCheckUtils]: 9: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-10 19:05:29,334 INFO L280 TraceCheckUtils]: 10: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-10 19:05:29,334 INFO L280 TraceCheckUtils]: 11: Hoare triple {7417#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7417#true} is VALID [2020-07-10 19:05:29,335 INFO L280 TraceCheckUtils]: 12: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-10 19:05:29,335 INFO L280 TraceCheckUtils]: 13: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-10 19:05:29,335 INFO L280 TraceCheckUtils]: 14: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7417#true} is VALID [2020-07-10 19:05:29,335 INFO L280 TraceCheckUtils]: 15: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7417#true} is VALID [2020-07-10 19:05:29,336 INFO L280 TraceCheckUtils]: 16: Hoare triple {7417#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {7417#true} is VALID [2020-07-10 19:05:29,336 INFO L280 TraceCheckUtils]: 17: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7417#true} is VALID [2020-07-10 19:05:29,336 INFO L280 TraceCheckUtils]: 18: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-10 19:05:29,336 INFO L280 TraceCheckUtils]: 19: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-10 19:05:29,336 INFO L280 TraceCheckUtils]: 20: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-10 19:05:29,337 INFO L280 TraceCheckUtils]: 21: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,337 INFO L280 TraceCheckUtils]: 22: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7417#true} is VALID [2020-07-10 19:05:29,337 INFO L280 TraceCheckUtils]: 23: Hoare triple {7417#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7417#true} is VALID [2020-07-10 19:05:29,337 INFO L280 TraceCheckUtils]: 24: Hoare triple {7417#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7417#true} is VALID [2020-07-10 19:05:29,337 INFO L280 TraceCheckUtils]: 25: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7417#true} is VALID [2020-07-10 19:05:29,338 INFO L280 TraceCheckUtils]: 26: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7417#true} is VALID [2020-07-10 19:05:29,338 INFO L280 TraceCheckUtils]: 27: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-10 19:05:29,338 INFO L280 TraceCheckUtils]: 28: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-10 19:05:29,338 INFO L280 TraceCheckUtils]: 29: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-10 19:05:29,338 INFO L280 TraceCheckUtils]: 30: Hoare triple {7417#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7417#true} is VALID [2020-07-10 19:05:29,339 INFO L280 TraceCheckUtils]: 31: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-10 19:05:29,339 INFO L280 TraceCheckUtils]: 32: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-10 19:05:29,339 INFO L280 TraceCheckUtils]: 33: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7417#true} is VALID [2020-07-10 19:05:29,339 INFO L280 TraceCheckUtils]: 34: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7417#true} is VALID [2020-07-10 19:05:29,339 INFO L280 TraceCheckUtils]: 35: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-10 19:05:29,340 INFO L280 TraceCheckUtils]: 36: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7417#true} is VALID [2020-07-10 19:05:29,340 INFO L280 TraceCheckUtils]: 37: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7417#true} is VALID [2020-07-10 19:05:29,340 INFO L280 TraceCheckUtils]: 38: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-10 19:05:29,340 INFO L280 TraceCheckUtils]: 39: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-10 19:05:29,340 INFO L280 TraceCheckUtils]: 40: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-10 19:05:29,341 INFO L280 TraceCheckUtils]: 41: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,341 INFO L280 TraceCheckUtils]: 42: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7417#true} is VALID [2020-07-10 19:05:29,341 INFO L280 TraceCheckUtils]: 43: Hoare triple {7417#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7417#true} is VALID [2020-07-10 19:05:29,341 INFO L280 TraceCheckUtils]: 44: Hoare triple {7417#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7417#true} is VALID [2020-07-10 19:05:29,341 INFO L280 TraceCheckUtils]: 45: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7417#true} is VALID [2020-07-10 19:05:29,342 INFO L280 TraceCheckUtils]: 46: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7417#true} is VALID [2020-07-10 19:05:29,342 INFO L280 TraceCheckUtils]: 47: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-10 19:05:29,342 INFO L280 TraceCheckUtils]: 48: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-10 19:05:29,342 INFO L280 TraceCheckUtils]: 49: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-10 19:05:29,342 INFO L280 TraceCheckUtils]: 50: Hoare triple {7417#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7417#true} is VALID [2020-07-10 19:05:29,343 INFO L280 TraceCheckUtils]: 51: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-10 19:05:29,343 INFO L280 TraceCheckUtils]: 52: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-10 19:05:29,343 INFO L280 TraceCheckUtils]: 53: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7417#true} is VALID [2020-07-10 19:05:29,343 INFO L280 TraceCheckUtils]: 54: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7417#true} is VALID [2020-07-10 19:05:29,343 INFO L280 TraceCheckUtils]: 55: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-10 19:05:29,344 INFO L280 TraceCheckUtils]: 56: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7417#true} is VALID [2020-07-10 19:05:29,344 INFO L280 TraceCheckUtils]: 57: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7417#true} is VALID [2020-07-10 19:05:29,344 INFO L280 TraceCheckUtils]: 58: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-10 19:05:29,344 INFO L280 TraceCheckUtils]: 59: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-10 19:05:29,344 INFO L280 TraceCheckUtils]: 60: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-10 19:05:29,344 INFO L280 TraceCheckUtils]: 61: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,350 INFO L280 TraceCheckUtils]: 62: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7535#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:29,351 INFO L280 TraceCheckUtils]: 63: Hoare triple {7535#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,351 INFO L280 TraceCheckUtils]: 64: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,352 INFO L280 TraceCheckUtils]: 65: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,352 INFO L280 TraceCheckUtils]: 66: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,353 INFO L280 TraceCheckUtils]: 67: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,353 INFO L280 TraceCheckUtils]: 68: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,354 INFO L280 TraceCheckUtils]: 69: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} #t~ite4 := 1; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,354 INFO L280 TraceCheckUtils]: 70: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,355 INFO L280 TraceCheckUtils]: 71: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~nondet3; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,355 INFO L280 TraceCheckUtils]: 72: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~ite4; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,356 INFO L280 TraceCheckUtils]: 73: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,356 INFO L280 TraceCheckUtils]: 74: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,357 INFO L280 TraceCheckUtils]: 75: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,357 INFO L280 TraceCheckUtils]: 76: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,358 INFO L280 TraceCheckUtils]: 77: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,359 INFO L280 TraceCheckUtils]: 78: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} #t~post5 := ~len; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,359 INFO L280 TraceCheckUtils]: 79: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} ~len := #t~post5 - 1; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,360 INFO L280 TraceCheckUtils]: 80: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} havoc #t~post5; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,360 INFO L280 TraceCheckUtils]: 81: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0); {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,361 INFO L280 TraceCheckUtils]: 82: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7538#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} is VALID [2020-07-10 19:05:29,361 INFO L280 TraceCheckUtils]: 83: Hoare triple {7538#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:29,362 INFO L280 TraceCheckUtils]: 84: Hoare triple {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:29,363 INFO L280 TraceCheckUtils]: 85: Hoare triple {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,364 INFO L280 TraceCheckUtils]: 86: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,365 INFO L280 TraceCheckUtils]: 87: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,366 INFO L280 TraceCheckUtils]: 88: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume #t~nondet3 == ~len; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,366 INFO L280 TraceCheckUtils]: 89: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} #t~ite4 := 1; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,367 INFO L280 TraceCheckUtils]: 90: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,368 INFO L280 TraceCheckUtils]: 91: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~nondet3; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,369 INFO L280 TraceCheckUtils]: 92: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~ite4; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,370 INFO L280 TraceCheckUtils]: 93: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,373 INFO L280 TraceCheckUtils]: 94: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,374 INFO L280 TraceCheckUtils]: 95: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,375 INFO L280 TraceCheckUtils]: 96: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7541#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} is VALID [2020-07-10 19:05:29,376 INFO L280 TraceCheckUtils]: 97: Hoare triple {7541#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,376 INFO L280 TraceCheckUtils]: 98: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #t~post5 := ~len; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,377 INFO L280 TraceCheckUtils]: 99: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} ~len := #t~post5 - 1; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,377 INFO L280 TraceCheckUtils]: 100: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} havoc #t~post5; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,378 INFO L280 TraceCheckUtils]: 101: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} assume !(~len > 0); {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,379 INFO L280 TraceCheckUtils]: 102: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:29,379 INFO L280 TraceCheckUtils]: 103: Hoare triple {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} assume true; {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:29,380 INFO L275 TraceCheckUtils]: 104: Hoare quadruple {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} {7417#true} #184#return; {7529#(= 0 (select (select |#memory_int| |main_#t~ret6.base|) |main_#t~ret6.offset|))} is VALID [2020-07-10 19:05:29,428 INFO L263 TraceCheckUtils]: 0: Hoare triple {7417#true} call ULTIMATE.init(); {7533#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:29,428 INFO L280 TraceCheckUtils]: 1: Hoare triple {7533#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7417#true} is VALID [2020-07-10 19:05:29,428 INFO L280 TraceCheckUtils]: 2: Hoare triple {7417#true} #valid := #valid[0 := 0]; {7417#true} is VALID [2020-07-10 19:05:29,429 INFO L280 TraceCheckUtils]: 3: Hoare triple {7417#true} assume 0 < #StackHeapBarrier; {7417#true} is VALID [2020-07-10 19:05:29,429 INFO L280 TraceCheckUtils]: 4: Hoare triple {7417#true} assume true; {7417#true} is VALID [2020-07-10 19:05:29,429 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7417#true} {7417#true} #188#return; {7417#true} is VALID [2020-07-10 19:05:29,429 INFO L263 TraceCheckUtils]: 6: Hoare triple {7417#true} call #t~ret20 := main(); {7417#true} is VALID [2020-07-10 19:05:29,429 INFO L280 TraceCheckUtils]: 7: Hoare triple {7417#true} ~len~0 := 5; {7417#true} is VALID [2020-07-10 19:05:29,430 INFO L263 TraceCheckUtils]: 8: Hoare triple {7417#true} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {7534#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:29,431 INFO L280 TraceCheckUtils]: 9: Hoare triple {7534#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {7417#true} is VALID [2020-07-10 19:05:29,431 INFO L280 TraceCheckUtils]: 10: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := 0, 0; {7417#true} is VALID [2020-07-10 19:05:29,431 INFO L280 TraceCheckUtils]: 11: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,431 INFO L280 TraceCheckUtils]: 12: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7417#true} is VALID [2020-07-10 19:05:29,431 INFO L280 TraceCheckUtils]: 13: Hoare triple {7417#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7417#true} is VALID [2020-07-10 19:05:29,432 INFO L280 TraceCheckUtils]: 14: Hoare triple {7417#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7417#true} is VALID [2020-07-10 19:05:29,432 INFO L280 TraceCheckUtils]: 15: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7417#true} is VALID [2020-07-10 19:05:29,432 INFO L280 TraceCheckUtils]: 16: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7417#true} is VALID [2020-07-10 19:05:29,432 INFO L280 TraceCheckUtils]: 17: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-10 19:05:29,432 INFO L280 TraceCheckUtils]: 18: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-10 19:05:29,433 INFO L280 TraceCheckUtils]: 19: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-10 19:05:29,433 INFO L280 TraceCheckUtils]: 20: Hoare triple {7417#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7417#true} is VALID [2020-07-10 19:05:29,433 INFO L280 TraceCheckUtils]: 21: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-10 19:05:29,433 INFO L280 TraceCheckUtils]: 22: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-10 19:05:29,433 INFO L280 TraceCheckUtils]: 23: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7417#true} is VALID [2020-07-10 19:05:29,433 INFO L280 TraceCheckUtils]: 24: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7417#true} is VALID [2020-07-10 19:05:29,434 INFO L280 TraceCheckUtils]: 25: Hoare triple {7417#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {7417#true} is VALID [2020-07-10 19:05:29,434 INFO L280 TraceCheckUtils]: 26: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7417#true} is VALID [2020-07-10 19:05:29,434 INFO L280 TraceCheckUtils]: 27: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-10 19:05:29,434 INFO L280 TraceCheckUtils]: 28: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-10 19:05:29,434 INFO L280 TraceCheckUtils]: 29: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-10 19:05:29,435 INFO L280 TraceCheckUtils]: 30: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,435 INFO L280 TraceCheckUtils]: 31: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7417#true} is VALID [2020-07-10 19:05:29,435 INFO L280 TraceCheckUtils]: 32: Hoare triple {7417#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7417#true} is VALID [2020-07-10 19:05:29,435 INFO L280 TraceCheckUtils]: 33: Hoare triple {7417#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7417#true} is VALID [2020-07-10 19:05:29,435 INFO L280 TraceCheckUtils]: 34: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7417#true} is VALID [2020-07-10 19:05:29,435 INFO L280 TraceCheckUtils]: 35: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7417#true} is VALID [2020-07-10 19:05:29,436 INFO L280 TraceCheckUtils]: 36: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-10 19:05:29,436 INFO L280 TraceCheckUtils]: 37: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-10 19:05:29,436 INFO L280 TraceCheckUtils]: 38: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-10 19:05:29,436 INFO L280 TraceCheckUtils]: 39: Hoare triple {7417#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7417#true} is VALID [2020-07-10 19:05:29,437 INFO L280 TraceCheckUtils]: 40: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-10 19:05:29,437 INFO L280 TraceCheckUtils]: 41: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-10 19:05:29,437 INFO L280 TraceCheckUtils]: 42: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7417#true} is VALID [2020-07-10 19:05:29,437 INFO L280 TraceCheckUtils]: 43: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7417#true} is VALID [2020-07-10 19:05:29,437 INFO L280 TraceCheckUtils]: 44: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-10 19:05:29,438 INFO L280 TraceCheckUtils]: 45: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7417#true} is VALID [2020-07-10 19:05:29,438 INFO L280 TraceCheckUtils]: 46: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7417#true} is VALID [2020-07-10 19:05:29,438 INFO L280 TraceCheckUtils]: 47: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-10 19:05:29,438 INFO L280 TraceCheckUtils]: 48: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-10 19:05:29,438 INFO L280 TraceCheckUtils]: 49: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-10 19:05:29,438 INFO L280 TraceCheckUtils]: 50: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,439 INFO L280 TraceCheckUtils]: 51: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7417#true} is VALID [2020-07-10 19:05:29,439 INFO L280 TraceCheckUtils]: 52: Hoare triple {7417#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7417#true} is VALID [2020-07-10 19:05:29,439 INFO L280 TraceCheckUtils]: 53: Hoare triple {7417#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7417#true} is VALID [2020-07-10 19:05:29,439 INFO L280 TraceCheckUtils]: 54: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7417#true} is VALID [2020-07-10 19:05:29,439 INFO L280 TraceCheckUtils]: 55: Hoare triple {7417#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7417#true} is VALID [2020-07-10 19:05:29,440 INFO L280 TraceCheckUtils]: 56: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-10 19:05:29,440 INFO L280 TraceCheckUtils]: 57: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-10 19:05:29,440 INFO L280 TraceCheckUtils]: 58: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-10 19:05:29,440 INFO L280 TraceCheckUtils]: 59: Hoare triple {7417#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7417#true} is VALID [2020-07-10 19:05:29,440 INFO L280 TraceCheckUtils]: 60: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-10 19:05:29,440 INFO L280 TraceCheckUtils]: 61: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-10 19:05:29,441 INFO L280 TraceCheckUtils]: 62: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7417#true} is VALID [2020-07-10 19:05:29,441 INFO L280 TraceCheckUtils]: 63: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7417#true} is VALID [2020-07-10 19:05:29,441 INFO L280 TraceCheckUtils]: 64: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-10 19:05:29,441 INFO L280 TraceCheckUtils]: 65: Hoare triple {7417#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7417#true} is VALID [2020-07-10 19:05:29,441 INFO L280 TraceCheckUtils]: 66: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7417#true} is VALID [2020-07-10 19:05:29,442 INFO L280 TraceCheckUtils]: 67: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-10 19:05:29,442 INFO L280 TraceCheckUtils]: 68: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-10 19:05:29,442 INFO L280 TraceCheckUtils]: 69: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-10 19:05:29,442 INFO L280 TraceCheckUtils]: 70: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-10 19:05:29,443 INFO L280 TraceCheckUtils]: 71: Hoare triple {7417#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7535#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:29,444 INFO L280 TraceCheckUtils]: 72: Hoare triple {7535#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,445 INFO L280 TraceCheckUtils]: 73: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,445 INFO L280 TraceCheckUtils]: 74: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,446 INFO L280 TraceCheckUtils]: 75: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,446 INFO L280 TraceCheckUtils]: 76: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,447 INFO L280 TraceCheckUtils]: 77: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,447 INFO L280 TraceCheckUtils]: 78: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} #t~ite4 := 1; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,448 INFO L280 TraceCheckUtils]: 79: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,448 INFO L280 TraceCheckUtils]: 80: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~nondet3; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,449 INFO L280 TraceCheckUtils]: 81: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~ite4; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,449 INFO L280 TraceCheckUtils]: 82: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,450 INFO L280 TraceCheckUtils]: 83: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,450 INFO L280 TraceCheckUtils]: 84: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0; {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,451 INFO L280 TraceCheckUtils]: 85: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:29,452 INFO L280 TraceCheckUtils]: 86: Hoare triple {7536#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,452 INFO L280 TraceCheckUtils]: 87: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} #t~post5 := ~len; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,453 INFO L280 TraceCheckUtils]: 88: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} ~len := #t~post5 - 1; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,453 INFO L280 TraceCheckUtils]: 89: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} havoc #t~post5; {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,454 INFO L280 TraceCheckUtils]: 90: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0); {7537#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:29,454 INFO L280 TraceCheckUtils]: 91: Hoare triple {7537#(= (select |#valid| dll_create_~head~0.base) 1)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {7538#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} is VALID [2020-07-10 19:05:29,455 INFO L280 TraceCheckUtils]: 92: Hoare triple {7538#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:29,456 INFO L280 TraceCheckUtils]: 93: Hoare triple {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:29,457 INFO L280 TraceCheckUtils]: 94: Hoare triple {7539#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,458 INFO L280 TraceCheckUtils]: 95: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,459 INFO L280 TraceCheckUtils]: 96: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,459 INFO L280 TraceCheckUtils]: 97: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume #t~nondet3 == ~len; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,460 INFO L280 TraceCheckUtils]: 98: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} #t~ite4 := 1; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,461 INFO L280 TraceCheckUtils]: 99: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,462 INFO L280 TraceCheckUtils]: 100: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~nondet3; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,463 INFO L280 TraceCheckUtils]: 101: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~ite4; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,464 INFO L280 TraceCheckUtils]: 102: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,465 INFO L280 TraceCheckUtils]: 103: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,466 INFO L280 TraceCheckUtils]: 104: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0; {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:29,468 INFO L280 TraceCheckUtils]: 105: Hoare triple {7540#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {7541#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} is VALID [2020-07-10 19:05:29,468 INFO L280 TraceCheckUtils]: 106: Hoare triple {7541#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,469 INFO L280 TraceCheckUtils]: 107: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #t~post5 := ~len; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,469 INFO L280 TraceCheckUtils]: 108: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} ~len := #t~post5 - 1; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,470 INFO L280 TraceCheckUtils]: 109: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} havoc #t~post5; {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,470 INFO L280 TraceCheckUtils]: 110: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} assume !(~len > 0); {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:29,471 INFO L280 TraceCheckUtils]: 111: Hoare triple {7542#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:29,471 INFO L280 TraceCheckUtils]: 112: Hoare triple {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} assume true; {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:29,473 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {7543#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} {7417#true} #184#return; {7529#(= 0 (select (select |#memory_int| |main_#t~ret6.base|) |main_#t~ret6.offset|))} is VALID [2020-07-10 19:05:29,473 INFO L280 TraceCheckUtils]: 114: Hoare triple {7529#(= 0 (select (select |#memory_int| |main_#t~ret6.base|) |main_#t~ret6.offset|))} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:29,474 INFO L280 TraceCheckUtils]: 115: Hoare triple {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} havoc #t~ret6.base, #t~ret6.offset; {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:29,474 INFO L280 TraceCheckUtils]: 116: Hoare triple {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:29,475 INFO L280 TraceCheckUtils]: 117: Hoare triple {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:29,475 INFO L280 TraceCheckUtils]: 118: Hoare triple {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} havoc #t~mem13.base, #t~mem13.offset; {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:29,476 INFO L280 TraceCheckUtils]: 119: Hoare triple {7530#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {7531#(= 0 |main_#t~mem7|)} is VALID [2020-07-10 19:05:29,477 INFO L280 TraceCheckUtils]: 120: Hoare triple {7531#(= 0 |main_#t~mem7|)} #t~short9 := 0 != #t~mem7; {7532#(not |main_#t~short9|)} is VALID [2020-07-10 19:05:29,477 INFO L280 TraceCheckUtils]: 121: Hoare triple {7532#(not |main_#t~short9|)} assume #t~short9; {7418#false} is VALID [2020-07-10 19:05:29,477 INFO L280 TraceCheckUtils]: 122: Hoare triple {7418#false} #t~short11 := #t~short9; {7418#false} is VALID [2020-07-10 19:05:29,478 INFO L280 TraceCheckUtils]: 123: Hoare triple {7418#false} assume #t~short11; {7418#false} is VALID [2020-07-10 19:05:29,478 INFO L280 TraceCheckUtils]: 124: Hoare triple {7418#false} assume #t~short11; {7418#false} is VALID [2020-07-10 19:05:29,478 INFO L280 TraceCheckUtils]: 125: Hoare triple {7418#false} havoc #t~mem7; {7418#false} is VALID [2020-07-10 19:05:29,478 INFO L280 TraceCheckUtils]: 126: Hoare triple {7418#false} havoc #t~mem8; {7418#false} is VALID [2020-07-10 19:05:29,478 INFO L280 TraceCheckUtils]: 127: Hoare triple {7418#false} havoc #t~mem10; {7418#false} is VALID [2020-07-10 19:05:29,479 INFO L280 TraceCheckUtils]: 128: Hoare triple {7418#false} havoc #t~short11; {7418#false} is VALID [2020-07-10 19:05:29,479 INFO L280 TraceCheckUtils]: 129: Hoare triple {7418#false} havoc #t~short9; {7418#false} is VALID [2020-07-10 19:05:29,479 INFO L280 TraceCheckUtils]: 130: Hoare triple {7418#false} assume !false; {7418#false} is VALID [2020-07-10 19:05:29,500 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:29,500 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:29,501 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1260733176] [2020-07-10 19:05:29,501 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:29,501 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2020-07-10 19:05:29,501 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1482611268] [2020-07-10 19:05:29,502 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 131 [2020-07-10 19:05:29,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:29,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-10 19:05:29,614 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:29,614 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-10 19:05:29,615 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:29,615 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-10 19:05:29,617 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=239, Unknown=0, NotChecked=0, Total=272 [2020-07-10 19:05:29,617 INFO L87 Difference]: Start difference. First operand 177 states and 190 transitions. Second operand 17 states. [2020-07-10 19:05:33,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:33,124 INFO L93 Difference]: Finished difference Result 308 states and 334 transitions. [2020-07-10 19:05:33,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-10 19:05:33,124 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 131 [2020-07-10 19:05:33,124 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:33,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 19:05:33,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 264 transitions. [2020-07-10 19:05:33,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 19:05:33,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 264 transitions. [2020-07-10 19:05:33,131 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 264 transitions. [2020-07-10 19:05:33,452 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:33,461 INFO L225 Difference]: With dead ends: 308 [2020-07-10 19:05:33,461 INFO L226 Difference]: Without dead ends: 253 [2020-07-10 19:05:33,464 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 9 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=165, Invalid=827, Unknown=0, NotChecked=0, Total=992 [2020-07-10 19:05:33,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2020-07-10 19:05:34,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 183. [2020-07-10 19:05:34,081 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:34,081 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand 183 states. [2020-07-10 19:05:34,081 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand 183 states. [2020-07-10 19:05:34,082 INFO L87 Difference]: Start difference. First operand 253 states. Second operand 183 states. [2020-07-10 19:05:34,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:34,090 INFO L93 Difference]: Finished difference Result 253 states and 272 transitions. [2020-07-10 19:05:34,090 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 272 transitions. [2020-07-10 19:05:34,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:34,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:34,090 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand 253 states. [2020-07-10 19:05:34,090 INFO L87 Difference]: Start difference. First operand 183 states. Second operand 253 states. [2020-07-10 19:05:34,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:34,096 INFO L93 Difference]: Finished difference Result 253 states and 272 transitions. [2020-07-10 19:05:34,097 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 272 transitions. [2020-07-10 19:05:34,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:34,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:34,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:34,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:34,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 183 states. [2020-07-10 19:05:34,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 183 states to 183 states and 197 transitions. [2020-07-10 19:05:34,102 INFO L78 Accepts]: Start accepts. Automaton has 183 states and 197 transitions. Word has length 131 [2020-07-10 19:05:34,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:34,102 INFO L479 AbstractCegarLoop]: Abstraction has 183 states and 197 transitions. [2020-07-10 19:05:34,103 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-10 19:05:34,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 183 states and 197 transitions. [2020-07-10 19:05:34,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:34,440 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 197 transitions. [2020-07-10 19:05:34,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 134 [2020-07-10 19:05:34,441 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:34,442 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:34,442 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-10 19:05:34,442 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:34,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:34,442 INFO L82 PathProgramCache]: Analyzing trace with hash -1200683152, now seen corresponding path program 1 times [2020-07-10 19:05:34,443 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:34,443 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1733179460] [2020-07-10 19:05:34,443 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:34,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:34,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:34,829 INFO L280 TraceCheckUtils]: 0: Hoare triple {9186#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {9069#true} is VALID [2020-07-10 19:05:34,830 INFO L280 TraceCheckUtils]: 1: Hoare triple {9069#true} #valid := #valid[0 := 0]; {9069#true} is VALID [2020-07-10 19:05:34,830 INFO L280 TraceCheckUtils]: 2: Hoare triple {9069#true} assume 0 < #StackHeapBarrier; {9069#true} is VALID [2020-07-10 19:05:34,830 INFO L280 TraceCheckUtils]: 3: Hoare triple {9069#true} assume true; {9069#true} is VALID [2020-07-10 19:05:34,831 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9069#true} {9069#true} #188#return; {9069#true} is VALID [2020-07-10 19:05:34,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:35,285 INFO L280 TraceCheckUtils]: 0: Hoare triple {9187#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {9069#true} is VALID [2020-07-10 19:05:35,286 INFO L280 TraceCheckUtils]: 1: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := 0, 0; {9069#true} is VALID [2020-07-10 19:05:35,286 INFO L280 TraceCheckUtils]: 2: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,286 INFO L280 TraceCheckUtils]: 3: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9069#true} is VALID [2020-07-10 19:05:35,286 INFO L280 TraceCheckUtils]: 4: Hoare triple {9069#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9069#true} is VALID [2020-07-10 19:05:35,287 INFO L280 TraceCheckUtils]: 5: Hoare triple {9069#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9069#true} is VALID [2020-07-10 19:05:35,287 INFO L280 TraceCheckUtils]: 6: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9069#true} is VALID [2020-07-10 19:05:35,287 INFO L280 TraceCheckUtils]: 7: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9069#true} is VALID [2020-07-10 19:05:35,287 INFO L280 TraceCheckUtils]: 8: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-10 19:05:35,288 INFO L280 TraceCheckUtils]: 9: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-10 19:05:35,288 INFO L280 TraceCheckUtils]: 10: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-10 19:05:35,288 INFO L280 TraceCheckUtils]: 11: Hoare triple {9069#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9069#true} is VALID [2020-07-10 19:05:35,288 INFO L280 TraceCheckUtils]: 12: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-10 19:05:35,288 INFO L280 TraceCheckUtils]: 13: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-10 19:05:35,289 INFO L280 TraceCheckUtils]: 14: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9069#true} is VALID [2020-07-10 19:05:35,289 INFO L280 TraceCheckUtils]: 15: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9069#true} is VALID [2020-07-10 19:05:35,289 INFO L280 TraceCheckUtils]: 16: Hoare triple {9069#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {9069#true} is VALID [2020-07-10 19:05:35,289 INFO L280 TraceCheckUtils]: 17: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9069#true} is VALID [2020-07-10 19:05:35,290 INFO L280 TraceCheckUtils]: 18: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-10 19:05:35,290 INFO L280 TraceCheckUtils]: 19: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-10 19:05:35,290 INFO L280 TraceCheckUtils]: 20: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-10 19:05:35,290 INFO L280 TraceCheckUtils]: 21: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,291 INFO L280 TraceCheckUtils]: 22: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9069#true} is VALID [2020-07-10 19:05:35,291 INFO L280 TraceCheckUtils]: 23: Hoare triple {9069#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9069#true} is VALID [2020-07-10 19:05:35,291 INFO L280 TraceCheckUtils]: 24: Hoare triple {9069#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9069#true} is VALID [2020-07-10 19:05:35,292 INFO L280 TraceCheckUtils]: 25: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9069#true} is VALID [2020-07-10 19:05:35,292 INFO L280 TraceCheckUtils]: 26: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9069#true} is VALID [2020-07-10 19:05:35,292 INFO L280 TraceCheckUtils]: 27: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-10 19:05:35,293 INFO L280 TraceCheckUtils]: 28: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-10 19:05:35,293 INFO L280 TraceCheckUtils]: 29: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-10 19:05:35,293 INFO L280 TraceCheckUtils]: 30: Hoare triple {9069#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9069#true} is VALID [2020-07-10 19:05:35,294 INFO L280 TraceCheckUtils]: 31: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-10 19:05:35,294 INFO L280 TraceCheckUtils]: 32: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-10 19:05:35,294 INFO L280 TraceCheckUtils]: 33: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9069#true} is VALID [2020-07-10 19:05:35,295 INFO L280 TraceCheckUtils]: 34: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9069#true} is VALID [2020-07-10 19:05:35,295 INFO L280 TraceCheckUtils]: 35: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-10 19:05:35,295 INFO L280 TraceCheckUtils]: 36: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9069#true} is VALID [2020-07-10 19:05:35,296 INFO L280 TraceCheckUtils]: 37: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9069#true} is VALID [2020-07-10 19:05:35,296 INFO L280 TraceCheckUtils]: 38: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-10 19:05:35,296 INFO L280 TraceCheckUtils]: 39: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-10 19:05:35,297 INFO L280 TraceCheckUtils]: 40: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-10 19:05:35,297 INFO L280 TraceCheckUtils]: 41: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,297 INFO L280 TraceCheckUtils]: 42: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9069#true} is VALID [2020-07-10 19:05:35,298 INFO L280 TraceCheckUtils]: 43: Hoare triple {9069#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9069#true} is VALID [2020-07-10 19:05:35,298 INFO L280 TraceCheckUtils]: 44: Hoare triple {9069#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9069#true} is VALID [2020-07-10 19:05:35,298 INFO L280 TraceCheckUtils]: 45: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9069#true} is VALID [2020-07-10 19:05:35,300 INFO L280 TraceCheckUtils]: 46: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9069#true} is VALID [2020-07-10 19:05:35,300 INFO L280 TraceCheckUtils]: 47: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-10 19:05:35,300 INFO L280 TraceCheckUtils]: 48: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-10 19:05:35,301 INFO L280 TraceCheckUtils]: 49: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-10 19:05:35,301 INFO L280 TraceCheckUtils]: 50: Hoare triple {9069#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9069#true} is VALID [2020-07-10 19:05:35,301 INFO L280 TraceCheckUtils]: 51: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-10 19:05:35,302 INFO L280 TraceCheckUtils]: 52: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-10 19:05:35,302 INFO L280 TraceCheckUtils]: 53: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9069#true} is VALID [2020-07-10 19:05:35,302 INFO L280 TraceCheckUtils]: 54: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9069#true} is VALID [2020-07-10 19:05:35,303 INFO L280 TraceCheckUtils]: 55: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-10 19:05:35,303 INFO L280 TraceCheckUtils]: 56: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9069#true} is VALID [2020-07-10 19:05:35,303 INFO L280 TraceCheckUtils]: 57: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9069#true} is VALID [2020-07-10 19:05:35,304 INFO L280 TraceCheckUtils]: 58: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-10 19:05:35,304 INFO L280 TraceCheckUtils]: 59: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-10 19:05:35,304 INFO L280 TraceCheckUtils]: 60: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-10 19:05:35,305 INFO L280 TraceCheckUtils]: 61: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,308 INFO L280 TraceCheckUtils]: 62: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9188#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:35,309 INFO L280 TraceCheckUtils]: 63: Hoare triple {9188#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,310 INFO L280 TraceCheckUtils]: 64: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,311 INFO L280 TraceCheckUtils]: 65: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,312 INFO L280 TraceCheckUtils]: 66: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,313 INFO L280 TraceCheckUtils]: 67: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,313 INFO L280 TraceCheckUtils]: 68: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,314 INFO L280 TraceCheckUtils]: 69: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} #t~ite4 := 1; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,315 INFO L280 TraceCheckUtils]: 70: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,316 INFO L280 TraceCheckUtils]: 71: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~nondet3; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,316 INFO L280 TraceCheckUtils]: 72: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~ite4; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,317 INFO L280 TraceCheckUtils]: 73: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,318 INFO L280 TraceCheckUtils]: 74: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,319 INFO L280 TraceCheckUtils]: 75: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,319 INFO L280 TraceCheckUtils]: 76: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,320 INFO L280 TraceCheckUtils]: 77: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,321 INFO L280 TraceCheckUtils]: 78: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} #t~post5 := ~len; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,322 INFO L280 TraceCheckUtils]: 79: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} ~len := #t~post5 - 1; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,323 INFO L280 TraceCheckUtils]: 80: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} havoc #t~post5; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,324 INFO L280 TraceCheckUtils]: 81: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0); {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,325 INFO L280 TraceCheckUtils]: 82: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9191#(and (not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base)) (= 0 |dll_create_#t~malloc2.offset|))} is VALID [2020-07-10 19:05:35,326 INFO L280 TraceCheckUtils]: 83: Hoare triple {9191#(and (not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base)) (= 0 |dll_create_#t~malloc2.offset|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,327 INFO L280 TraceCheckUtils]: 84: Hoare triple {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,328 INFO L280 TraceCheckUtils]: 85: Hoare triple {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,330 INFO L280 TraceCheckUtils]: 86: Hoare triple {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,331 INFO L280 TraceCheckUtils]: 87: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,332 INFO L280 TraceCheckUtils]: 88: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume #t~nondet3 == ~len; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,333 INFO L280 TraceCheckUtils]: 89: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} #t~ite4 := 1; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,335 INFO L280 TraceCheckUtils]: 90: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,336 INFO L280 TraceCheckUtils]: 91: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~nondet3; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,337 INFO L280 TraceCheckUtils]: 92: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~ite4; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,339 INFO L280 TraceCheckUtils]: 93: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,341 INFO L280 TraceCheckUtils]: 94: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,342 INFO L280 TraceCheckUtils]: 95: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,344 INFO L280 TraceCheckUtils]: 96: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9194#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset))} is VALID [2020-07-10 19:05:35,345 INFO L280 TraceCheckUtils]: 97: Hoare triple {9194#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,346 INFO L280 TraceCheckUtils]: 98: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} #t~post5 := ~len; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,347 INFO L280 TraceCheckUtils]: 99: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} ~len := #t~post5 - 1; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,348 INFO L280 TraceCheckUtils]: 100: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} havoc #t~post5; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,349 INFO L280 TraceCheckUtils]: 101: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} assume !(~len > 0); {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,350 INFO L280 TraceCheckUtils]: 102: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:35,352 INFO L280 TraceCheckUtils]: 103: Hoare triple {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} assume true; {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:35,353 INFO L275 TraceCheckUtils]: 104: Hoare quadruple {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} {9069#true} #184#return; {9181#(and (= 0 (select (select |#memory_int| |main_#t~ret6.base|) 8)) (= 0 |main_#t~ret6.offset|))} is VALID [2020-07-10 19:05:35,386 INFO L263 TraceCheckUtils]: 0: Hoare triple {9069#true} call ULTIMATE.init(); {9186#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:35,387 INFO L280 TraceCheckUtils]: 1: Hoare triple {9186#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {9069#true} is VALID [2020-07-10 19:05:35,387 INFO L280 TraceCheckUtils]: 2: Hoare triple {9069#true} #valid := #valid[0 := 0]; {9069#true} is VALID [2020-07-10 19:05:35,387 INFO L280 TraceCheckUtils]: 3: Hoare triple {9069#true} assume 0 < #StackHeapBarrier; {9069#true} is VALID [2020-07-10 19:05:35,388 INFO L280 TraceCheckUtils]: 4: Hoare triple {9069#true} assume true; {9069#true} is VALID [2020-07-10 19:05:35,388 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {9069#true} {9069#true} #188#return; {9069#true} is VALID [2020-07-10 19:05:35,388 INFO L263 TraceCheckUtils]: 6: Hoare triple {9069#true} call #t~ret20 := main(); {9069#true} is VALID [2020-07-10 19:05:35,389 INFO L280 TraceCheckUtils]: 7: Hoare triple {9069#true} ~len~0 := 5; {9069#true} is VALID [2020-07-10 19:05:35,390 INFO L263 TraceCheckUtils]: 8: Hoare triple {9069#true} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {9187#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:35,391 INFO L280 TraceCheckUtils]: 9: Hoare triple {9187#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {9069#true} is VALID [2020-07-10 19:05:35,391 INFO L280 TraceCheckUtils]: 10: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := 0, 0; {9069#true} is VALID [2020-07-10 19:05:35,391 INFO L280 TraceCheckUtils]: 11: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,391 INFO L280 TraceCheckUtils]: 12: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9069#true} is VALID [2020-07-10 19:05:35,392 INFO L280 TraceCheckUtils]: 13: Hoare triple {9069#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9069#true} is VALID [2020-07-10 19:05:35,392 INFO L280 TraceCheckUtils]: 14: Hoare triple {9069#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9069#true} is VALID [2020-07-10 19:05:35,392 INFO L280 TraceCheckUtils]: 15: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9069#true} is VALID [2020-07-10 19:05:35,393 INFO L280 TraceCheckUtils]: 16: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9069#true} is VALID [2020-07-10 19:05:35,393 INFO L280 TraceCheckUtils]: 17: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-10 19:05:35,394 INFO L280 TraceCheckUtils]: 18: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-10 19:05:35,394 INFO L280 TraceCheckUtils]: 19: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-10 19:05:35,394 INFO L280 TraceCheckUtils]: 20: Hoare triple {9069#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9069#true} is VALID [2020-07-10 19:05:35,395 INFO L280 TraceCheckUtils]: 21: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-10 19:05:35,395 INFO L280 TraceCheckUtils]: 22: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-10 19:05:35,396 INFO L280 TraceCheckUtils]: 23: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9069#true} is VALID [2020-07-10 19:05:35,396 INFO L280 TraceCheckUtils]: 24: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9069#true} is VALID [2020-07-10 19:05:35,396 INFO L280 TraceCheckUtils]: 25: Hoare triple {9069#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {9069#true} is VALID [2020-07-10 19:05:35,397 INFO L280 TraceCheckUtils]: 26: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9069#true} is VALID [2020-07-10 19:05:35,397 INFO L280 TraceCheckUtils]: 27: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-10 19:05:35,397 INFO L280 TraceCheckUtils]: 28: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-10 19:05:35,398 INFO L280 TraceCheckUtils]: 29: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-10 19:05:35,398 INFO L280 TraceCheckUtils]: 30: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,399 INFO L280 TraceCheckUtils]: 31: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9069#true} is VALID [2020-07-10 19:05:35,399 INFO L280 TraceCheckUtils]: 32: Hoare triple {9069#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9069#true} is VALID [2020-07-10 19:05:35,399 INFO L280 TraceCheckUtils]: 33: Hoare triple {9069#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9069#true} is VALID [2020-07-10 19:05:35,400 INFO L280 TraceCheckUtils]: 34: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9069#true} is VALID [2020-07-10 19:05:35,400 INFO L280 TraceCheckUtils]: 35: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9069#true} is VALID [2020-07-10 19:05:35,400 INFO L280 TraceCheckUtils]: 36: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-10 19:05:35,401 INFO L280 TraceCheckUtils]: 37: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-10 19:05:35,401 INFO L280 TraceCheckUtils]: 38: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-10 19:05:35,402 INFO L280 TraceCheckUtils]: 39: Hoare triple {9069#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9069#true} is VALID [2020-07-10 19:05:35,402 INFO L280 TraceCheckUtils]: 40: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-10 19:05:35,402 INFO L280 TraceCheckUtils]: 41: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-10 19:05:35,403 INFO L280 TraceCheckUtils]: 42: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9069#true} is VALID [2020-07-10 19:05:35,403 INFO L280 TraceCheckUtils]: 43: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9069#true} is VALID [2020-07-10 19:05:35,404 INFO L280 TraceCheckUtils]: 44: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-10 19:05:35,404 INFO L280 TraceCheckUtils]: 45: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9069#true} is VALID [2020-07-10 19:05:35,404 INFO L280 TraceCheckUtils]: 46: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9069#true} is VALID [2020-07-10 19:05:35,405 INFO L280 TraceCheckUtils]: 47: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-10 19:05:35,405 INFO L280 TraceCheckUtils]: 48: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-10 19:05:35,405 INFO L280 TraceCheckUtils]: 49: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-10 19:05:35,406 INFO L280 TraceCheckUtils]: 50: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,406 INFO L280 TraceCheckUtils]: 51: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9069#true} is VALID [2020-07-10 19:05:35,406 INFO L280 TraceCheckUtils]: 52: Hoare triple {9069#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9069#true} is VALID [2020-07-10 19:05:35,407 INFO L280 TraceCheckUtils]: 53: Hoare triple {9069#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9069#true} is VALID [2020-07-10 19:05:35,407 INFO L280 TraceCheckUtils]: 54: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9069#true} is VALID [2020-07-10 19:05:35,408 INFO L280 TraceCheckUtils]: 55: Hoare triple {9069#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9069#true} is VALID [2020-07-10 19:05:35,408 INFO L280 TraceCheckUtils]: 56: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-10 19:05:35,408 INFO L280 TraceCheckUtils]: 57: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-10 19:05:35,409 INFO L280 TraceCheckUtils]: 58: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-10 19:05:35,409 INFO L280 TraceCheckUtils]: 59: Hoare triple {9069#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9069#true} is VALID [2020-07-10 19:05:35,409 INFO L280 TraceCheckUtils]: 60: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-10 19:05:35,410 INFO L280 TraceCheckUtils]: 61: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-10 19:05:35,410 INFO L280 TraceCheckUtils]: 62: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9069#true} is VALID [2020-07-10 19:05:35,411 INFO L280 TraceCheckUtils]: 63: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9069#true} is VALID [2020-07-10 19:05:35,411 INFO L280 TraceCheckUtils]: 64: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-10 19:05:35,411 INFO L280 TraceCheckUtils]: 65: Hoare triple {9069#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9069#true} is VALID [2020-07-10 19:05:35,412 INFO L280 TraceCheckUtils]: 66: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9069#true} is VALID [2020-07-10 19:05:35,412 INFO L280 TraceCheckUtils]: 67: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-10 19:05:35,412 INFO L280 TraceCheckUtils]: 68: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-10 19:05:35,413 INFO L280 TraceCheckUtils]: 69: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-10 19:05:35,413 INFO L280 TraceCheckUtils]: 70: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-10 19:05:35,417 INFO L280 TraceCheckUtils]: 71: Hoare triple {9069#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9188#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:35,418 INFO L280 TraceCheckUtils]: 72: Hoare triple {9188#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,419 INFO L280 TraceCheckUtils]: 73: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,420 INFO L280 TraceCheckUtils]: 74: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,421 INFO L280 TraceCheckUtils]: 75: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,421 INFO L280 TraceCheckUtils]: 76: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,423 INFO L280 TraceCheckUtils]: 77: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,423 INFO L280 TraceCheckUtils]: 78: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} #t~ite4 := 1; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,424 INFO L280 TraceCheckUtils]: 79: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,425 INFO L280 TraceCheckUtils]: 80: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~nondet3; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,426 INFO L280 TraceCheckUtils]: 81: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~ite4; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,426 INFO L280 TraceCheckUtils]: 82: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,427 INFO L280 TraceCheckUtils]: 83: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,428 INFO L280 TraceCheckUtils]: 84: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0; {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,429 INFO L280 TraceCheckUtils]: 85: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:35,430 INFO L280 TraceCheckUtils]: 86: Hoare triple {9189#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,430 INFO L280 TraceCheckUtils]: 87: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} #t~post5 := ~len; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,431 INFO L280 TraceCheckUtils]: 88: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} ~len := #t~post5 - 1; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,432 INFO L280 TraceCheckUtils]: 89: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} havoc #t~post5; {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,433 INFO L280 TraceCheckUtils]: 90: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0); {9190#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:35,434 INFO L280 TraceCheckUtils]: 91: Hoare triple {9190#(= (select |#valid| dll_create_~head~0.base) 1)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {9191#(and (not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base)) (= 0 |dll_create_#t~malloc2.offset|))} is VALID [2020-07-10 19:05:35,435 INFO L280 TraceCheckUtils]: 92: Hoare triple {9191#(and (not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base)) (= 0 |dll_create_#t~malloc2.offset|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,436 INFO L280 TraceCheckUtils]: 93: Hoare triple {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,437 INFO L280 TraceCheckUtils]: 94: Hoare triple {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,439 INFO L280 TraceCheckUtils]: 95: Hoare triple {9192#(and (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,440 INFO L280 TraceCheckUtils]: 96: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,441 INFO L280 TraceCheckUtils]: 97: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume #t~nondet3 == ~len; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,442 INFO L280 TraceCheckUtils]: 98: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} #t~ite4 := 1; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,444 INFO L280 TraceCheckUtils]: 99: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,445 INFO L280 TraceCheckUtils]: 100: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~nondet3; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,446 INFO L280 TraceCheckUtils]: 101: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~ite4; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,448 INFO L280 TraceCheckUtils]: 102: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,449 INFO L280 TraceCheckUtils]: 103: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,451 INFO L280 TraceCheckUtils]: 104: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0; {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:35,452 INFO L280 TraceCheckUtils]: 105: Hoare triple {9193#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {9194#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset))} is VALID [2020-07-10 19:05:35,454 INFO L280 TraceCheckUtils]: 106: Hoare triple {9194#(and (= 0 (select (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8))) (= 0 dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,455 INFO L280 TraceCheckUtils]: 107: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} #t~post5 := ~len; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,456 INFO L280 TraceCheckUtils]: 108: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} ~len := #t~post5 - 1; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,457 INFO L280 TraceCheckUtils]: 109: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} havoc #t~post5; {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,458 INFO L280 TraceCheckUtils]: 110: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} assume !(~len > 0); {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} is VALID [2020-07-10 19:05:35,460 INFO L280 TraceCheckUtils]: 111: Hoare triple {9195#(and (= 0 dll_create_~head~0.offset) (= 0 (select (select |#memory_int| dll_create_~head~0.base) 8)))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:35,461 INFO L280 TraceCheckUtils]: 112: Hoare triple {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} assume true; {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:35,463 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {9196#(and (= 0 (select (select |#memory_int| |dll_create_#res.base|) 8)) (= 0 |dll_create_#res.offset|))} {9069#true} #184#return; {9181#(and (= 0 (select (select |#memory_int| |main_#t~ret6.base|) 8)) (= 0 |main_#t~ret6.offset|))} is VALID [2020-07-10 19:05:35,464 INFO L280 TraceCheckUtils]: 114: Hoare triple {9181#(and (= 0 (select (select |#memory_int| |main_#t~ret6.base|) 8)) (= 0 |main_#t~ret6.offset|))} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,465 INFO L280 TraceCheckUtils]: 115: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} havoc #t~ret6.base, #t~ret6.offset; {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,466 INFO L280 TraceCheckUtils]: 116: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,467 INFO L280 TraceCheckUtils]: 117: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,468 INFO L280 TraceCheckUtils]: 118: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} havoc #t~mem13.base, #t~mem13.offset; {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,469 INFO L280 TraceCheckUtils]: 119: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} SUMMARY for call #t~mem7 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L591 {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,471 INFO L280 TraceCheckUtils]: 120: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} #t~short9 := 0 != #t~mem7; {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,472 INFO L280 TraceCheckUtils]: 121: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} assume !#t~short9; {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} is VALID [2020-07-10 19:05:35,473 INFO L280 TraceCheckUtils]: 122: Hoare triple {9182#(and (= 0 main_~head~1.offset) (= 0 (select (select |#memory_int| main_~head~1.base) (+ main_~head~1.offset 8))))} SUMMARY for call #t~mem8 := read~int(~head~1.base, 8 + ~head~1.offset, 4); srcloc: L591-4 {9183#(= 0 |main_#t~mem8|)} is VALID [2020-07-10 19:05:35,474 INFO L280 TraceCheckUtils]: 123: Hoare triple {9183#(= 0 |main_#t~mem8|)} #t~short9 := 0 != #t~mem8; {9184#(not |main_#t~short9|)} is VALID [2020-07-10 19:05:35,475 INFO L280 TraceCheckUtils]: 124: Hoare triple {9184#(not |main_#t~short9|)} #t~short11 := #t~short9; {9185#(not |main_#t~short11|)} is VALID [2020-07-10 19:05:35,476 INFO L280 TraceCheckUtils]: 125: Hoare triple {9185#(not |main_#t~short11|)} assume #t~short11; {9070#false} is VALID [2020-07-10 19:05:35,476 INFO L280 TraceCheckUtils]: 126: Hoare triple {9070#false} assume #t~short11; {9070#false} is VALID [2020-07-10 19:05:35,477 INFO L280 TraceCheckUtils]: 127: Hoare triple {9070#false} havoc #t~mem7; {9070#false} is VALID [2020-07-10 19:05:35,477 INFO L280 TraceCheckUtils]: 128: Hoare triple {9070#false} havoc #t~mem8; {9070#false} is VALID [2020-07-10 19:05:35,477 INFO L280 TraceCheckUtils]: 129: Hoare triple {9070#false} havoc #t~mem10; {9070#false} is VALID [2020-07-10 19:05:35,478 INFO L280 TraceCheckUtils]: 130: Hoare triple {9070#false} havoc #t~short11; {9070#false} is VALID [2020-07-10 19:05:35,478 INFO L280 TraceCheckUtils]: 131: Hoare triple {9070#false} havoc #t~short9; {9070#false} is VALID [2020-07-10 19:05:35,479 INFO L280 TraceCheckUtils]: 132: Hoare triple {9070#false} assume !false; {9070#false} is VALID [2020-07-10 19:05:35,542 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:35,542 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:35,543 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1733179460] [2020-07-10 19:05:35,543 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:35,543 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2020-07-10 19:05:35,549 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1370861247] [2020-07-10 19:05:35,550 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 133 [2020-07-10 19:05:35,551 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:35,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-10 19:05:35,685 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:35,686 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-10 19:05:35,686 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:35,686 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-10 19:05:35,687 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=271, Unknown=0, NotChecked=0, Total=306 [2020-07-10 19:05:35,687 INFO L87 Difference]: Start difference. First operand 183 states and 197 transitions. Second operand 18 states. [2020-07-10 19:05:40,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:40,180 INFO L93 Difference]: Finished difference Result 286 states and 310 transitions. [2020-07-10 19:05:40,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2020-07-10 19:05:40,180 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 133 [2020-07-10 19:05:40,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:40,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 19:05:40,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 262 transitions. [2020-07-10 19:05:40,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 19:05:40,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 262 transitions. [2020-07-10 19:05:40,188 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 262 transitions. [2020-07-10 19:05:40,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 262 edges. 262 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:40,519 INFO L225 Difference]: With dead ends: 286 [2020-07-10 19:05:40,520 INFO L226 Difference]: Without dead ends: 231 [2020-07-10 19:05:40,521 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=171, Invalid=951, Unknown=0, NotChecked=0, Total=1122 [2020-07-10 19:05:40,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 231 states. [2020-07-10 19:05:41,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 231 to 187. [2020-07-10 19:05:41,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:41,264 INFO L82 GeneralOperation]: Start isEquivalent. First operand 231 states. Second operand 187 states. [2020-07-10 19:05:41,264 INFO L74 IsIncluded]: Start isIncluded. First operand 231 states. Second operand 187 states. [2020-07-10 19:05:41,264 INFO L87 Difference]: Start difference. First operand 231 states. Second operand 187 states. [2020-07-10 19:05:41,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:41,271 INFO L93 Difference]: Finished difference Result 231 states and 248 transitions. [2020-07-10 19:05:41,271 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 248 transitions. [2020-07-10 19:05:41,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:41,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:41,272 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand 231 states. [2020-07-10 19:05:41,273 INFO L87 Difference]: Start difference. First operand 187 states. Second operand 231 states. [2020-07-10 19:05:41,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:41,279 INFO L93 Difference]: Finished difference Result 231 states and 248 transitions. [2020-07-10 19:05:41,279 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 248 transitions. [2020-07-10 19:05:41,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:41,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:41,280 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:41,280 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:41,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 187 states. [2020-07-10 19:05:41,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 201 transitions. [2020-07-10 19:05:41,284 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 201 transitions. Word has length 133 [2020-07-10 19:05:41,285 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:41,285 INFO L479 AbstractCegarLoop]: Abstraction has 187 states and 201 transitions. [2020-07-10 19:05:41,285 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-10 19:05:41,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 187 states and 201 transitions. [2020-07-10 19:05:41,684 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:41,685 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 201 transitions. [2020-07-10 19:05:41,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2020-07-10 19:05:41,686 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:41,687 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:41,687 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-10 19:05:41,687 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:41,687 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:41,688 INFO L82 PathProgramCache]: Analyzing trace with hash 2062394754, now seen corresponding path program 1 times [2020-07-10 19:05:41,688 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:41,688 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [989541024] [2020-07-10 19:05:41,688 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:41,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:41,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:41,944 INFO L280 TraceCheckUtils]: 0: Hoare triple {10760#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10644#true} is VALID [2020-07-10 19:05:41,945 INFO L280 TraceCheckUtils]: 1: Hoare triple {10644#true} #valid := #valid[0 := 0]; {10644#true} is VALID [2020-07-10 19:05:41,945 INFO L280 TraceCheckUtils]: 2: Hoare triple {10644#true} assume 0 < #StackHeapBarrier; {10644#true} is VALID [2020-07-10 19:05:41,945 INFO L280 TraceCheckUtils]: 3: Hoare triple {10644#true} assume true; {10644#true} is VALID [2020-07-10 19:05:41,945 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10644#true} {10644#true} #188#return; {10644#true} is VALID [2020-07-10 19:05:42,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 19:05:42,295 INFO L280 TraceCheckUtils]: 0: Hoare triple {10761#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {10644#true} is VALID [2020-07-10 19:05:42,296 INFO L280 TraceCheckUtils]: 1: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := 0, 0; {10644#true} is VALID [2020-07-10 19:05:42,296 INFO L280 TraceCheckUtils]: 2: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,296 INFO L280 TraceCheckUtils]: 3: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10644#true} is VALID [2020-07-10 19:05:42,296 INFO L280 TraceCheckUtils]: 4: Hoare triple {10644#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10644#true} is VALID [2020-07-10 19:05:42,297 INFO L280 TraceCheckUtils]: 5: Hoare triple {10644#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10644#true} is VALID [2020-07-10 19:05:42,297 INFO L280 TraceCheckUtils]: 6: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10644#true} is VALID [2020-07-10 19:05:42,297 INFO L280 TraceCheckUtils]: 7: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10644#true} is VALID [2020-07-10 19:05:42,297 INFO L280 TraceCheckUtils]: 8: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-10 19:05:42,297 INFO L280 TraceCheckUtils]: 9: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-10 19:05:42,298 INFO L280 TraceCheckUtils]: 10: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-10 19:05:42,298 INFO L280 TraceCheckUtils]: 11: Hoare triple {10644#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10644#true} is VALID [2020-07-10 19:05:42,298 INFO L280 TraceCheckUtils]: 12: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-10 19:05:42,298 INFO L280 TraceCheckUtils]: 13: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-10 19:05:42,298 INFO L280 TraceCheckUtils]: 14: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10644#true} is VALID [2020-07-10 19:05:42,299 INFO L280 TraceCheckUtils]: 15: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10644#true} is VALID [2020-07-10 19:05:42,299 INFO L280 TraceCheckUtils]: 16: Hoare triple {10644#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {10644#true} is VALID [2020-07-10 19:05:42,299 INFO L280 TraceCheckUtils]: 17: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10644#true} is VALID [2020-07-10 19:05:42,299 INFO L280 TraceCheckUtils]: 18: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-10 19:05:42,299 INFO L280 TraceCheckUtils]: 19: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-10 19:05:42,300 INFO L280 TraceCheckUtils]: 20: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-10 19:05:42,300 INFO L280 TraceCheckUtils]: 21: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,300 INFO L280 TraceCheckUtils]: 22: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10644#true} is VALID [2020-07-10 19:05:42,300 INFO L280 TraceCheckUtils]: 23: Hoare triple {10644#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10644#true} is VALID [2020-07-10 19:05:42,301 INFO L280 TraceCheckUtils]: 24: Hoare triple {10644#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10644#true} is VALID [2020-07-10 19:05:42,301 INFO L280 TraceCheckUtils]: 25: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10644#true} is VALID [2020-07-10 19:05:42,301 INFO L280 TraceCheckUtils]: 26: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10644#true} is VALID [2020-07-10 19:05:42,301 INFO L280 TraceCheckUtils]: 27: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-10 19:05:42,301 INFO L280 TraceCheckUtils]: 28: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-10 19:05:42,302 INFO L280 TraceCheckUtils]: 29: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-10 19:05:42,302 INFO L280 TraceCheckUtils]: 30: Hoare triple {10644#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10644#true} is VALID [2020-07-10 19:05:42,302 INFO L280 TraceCheckUtils]: 31: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-10 19:05:42,302 INFO L280 TraceCheckUtils]: 32: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-10 19:05:42,302 INFO L280 TraceCheckUtils]: 33: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10644#true} is VALID [2020-07-10 19:05:42,302 INFO L280 TraceCheckUtils]: 34: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10644#true} is VALID [2020-07-10 19:05:42,303 INFO L280 TraceCheckUtils]: 35: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-10 19:05:42,303 INFO L280 TraceCheckUtils]: 36: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10644#true} is VALID [2020-07-10 19:05:42,303 INFO L280 TraceCheckUtils]: 37: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10644#true} is VALID [2020-07-10 19:05:42,303 INFO L280 TraceCheckUtils]: 38: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-10 19:05:42,303 INFO L280 TraceCheckUtils]: 39: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-10 19:05:42,304 INFO L280 TraceCheckUtils]: 40: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-10 19:05:42,304 INFO L280 TraceCheckUtils]: 41: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,304 INFO L280 TraceCheckUtils]: 42: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10644#true} is VALID [2020-07-10 19:05:42,304 INFO L280 TraceCheckUtils]: 43: Hoare triple {10644#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10644#true} is VALID [2020-07-10 19:05:42,304 INFO L280 TraceCheckUtils]: 44: Hoare triple {10644#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10644#true} is VALID [2020-07-10 19:05:42,304 INFO L280 TraceCheckUtils]: 45: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10644#true} is VALID [2020-07-10 19:05:42,305 INFO L280 TraceCheckUtils]: 46: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10644#true} is VALID [2020-07-10 19:05:42,305 INFO L280 TraceCheckUtils]: 47: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-10 19:05:42,305 INFO L280 TraceCheckUtils]: 48: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-10 19:05:42,305 INFO L280 TraceCheckUtils]: 49: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-10 19:05:42,305 INFO L280 TraceCheckUtils]: 50: Hoare triple {10644#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10644#true} is VALID [2020-07-10 19:05:42,306 INFO L280 TraceCheckUtils]: 51: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-10 19:05:42,306 INFO L280 TraceCheckUtils]: 52: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-10 19:05:42,306 INFO L280 TraceCheckUtils]: 53: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10644#true} is VALID [2020-07-10 19:05:42,306 INFO L280 TraceCheckUtils]: 54: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10644#true} is VALID [2020-07-10 19:05:42,306 INFO L280 TraceCheckUtils]: 55: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-10 19:05:42,307 INFO L280 TraceCheckUtils]: 56: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10644#true} is VALID [2020-07-10 19:05:42,307 INFO L280 TraceCheckUtils]: 57: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10644#true} is VALID [2020-07-10 19:05:42,307 INFO L280 TraceCheckUtils]: 58: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-10 19:05:42,307 INFO L280 TraceCheckUtils]: 59: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-10 19:05:42,307 INFO L280 TraceCheckUtils]: 60: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-10 19:05:42,308 INFO L280 TraceCheckUtils]: 61: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,309 INFO L280 TraceCheckUtils]: 62: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10762#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:42,309 INFO L280 TraceCheckUtils]: 63: Hoare triple {10762#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,310 INFO L280 TraceCheckUtils]: 64: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,311 INFO L280 TraceCheckUtils]: 65: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,311 INFO L280 TraceCheckUtils]: 66: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,312 INFO L280 TraceCheckUtils]: 67: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,313 INFO L280 TraceCheckUtils]: 68: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,313 INFO L280 TraceCheckUtils]: 69: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} #t~ite4 := 1; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,314 INFO L280 TraceCheckUtils]: 70: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,314 INFO L280 TraceCheckUtils]: 71: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~nondet3; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,315 INFO L280 TraceCheckUtils]: 72: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~ite4; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,316 INFO L280 TraceCheckUtils]: 73: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,316 INFO L280 TraceCheckUtils]: 74: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,317 INFO L280 TraceCheckUtils]: 75: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,335 INFO L280 TraceCheckUtils]: 76: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,342 INFO L280 TraceCheckUtils]: 77: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,343 INFO L280 TraceCheckUtils]: 78: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} #t~post5 := ~len; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,343 INFO L280 TraceCheckUtils]: 79: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} ~len := #t~post5 - 1; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,344 INFO L280 TraceCheckUtils]: 80: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} havoc #t~post5; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,345 INFO L280 TraceCheckUtils]: 81: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0); {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,346 INFO L280 TraceCheckUtils]: 82: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10765#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} is VALID [2020-07-10 19:05:42,346 INFO L280 TraceCheckUtils]: 83: Hoare triple {10765#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:42,347 INFO L280 TraceCheckUtils]: 84: Hoare triple {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:42,348 INFO L280 TraceCheckUtils]: 85: Hoare triple {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,349 INFO L280 TraceCheckUtils]: 86: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,350 INFO L280 TraceCheckUtils]: 87: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,351 INFO L280 TraceCheckUtils]: 88: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume #t~nondet3 == ~len; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,352 INFO L280 TraceCheckUtils]: 89: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} #t~ite4 := 1; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,353 INFO L280 TraceCheckUtils]: 90: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,354 INFO L280 TraceCheckUtils]: 91: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~nondet3; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,355 INFO L280 TraceCheckUtils]: 92: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~ite4; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,356 INFO L280 TraceCheckUtils]: 93: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,357 INFO L280 TraceCheckUtils]: 94: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,358 INFO L280 TraceCheckUtils]: 95: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,359 INFO L280 TraceCheckUtils]: 96: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10768#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} is VALID [2020-07-10 19:05:42,360 INFO L280 TraceCheckUtils]: 97: Hoare triple {10768#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,360 INFO L280 TraceCheckUtils]: 98: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #t~post5 := ~len; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,361 INFO L280 TraceCheckUtils]: 99: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} ~len := #t~post5 - 1; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,361 INFO L280 TraceCheckUtils]: 100: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} havoc #t~post5; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,362 INFO L280 TraceCheckUtils]: 101: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} assume !(~len > 0); {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,362 INFO L280 TraceCheckUtils]: 102: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:42,363 INFO L280 TraceCheckUtils]: 103: Hoare triple {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} assume true; {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:42,364 INFO L275 TraceCheckUtils]: 104: Hoare quadruple {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} {10644#true} #184#return; {10756#(= 0 (select (select |#memory_int| |main_#t~ret6.base|) |main_#t~ret6.offset|))} is VALID [2020-07-10 19:05:42,378 INFO L263 TraceCheckUtils]: 0: Hoare triple {10644#true} call ULTIMATE.init(); {10760#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 19:05:42,379 INFO L280 TraceCheckUtils]: 1: Hoare triple {10760#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10644#true} is VALID [2020-07-10 19:05:42,379 INFO L280 TraceCheckUtils]: 2: Hoare triple {10644#true} #valid := #valid[0 := 0]; {10644#true} is VALID [2020-07-10 19:05:42,379 INFO L280 TraceCheckUtils]: 3: Hoare triple {10644#true} assume 0 < #StackHeapBarrier; {10644#true} is VALID [2020-07-10 19:05:42,379 INFO L280 TraceCheckUtils]: 4: Hoare triple {10644#true} assume true; {10644#true} is VALID [2020-07-10 19:05:42,379 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10644#true} {10644#true} #188#return; {10644#true} is VALID [2020-07-10 19:05:42,380 INFO L263 TraceCheckUtils]: 6: Hoare triple {10644#true} call #t~ret20 := main(); {10644#true} is VALID [2020-07-10 19:05:42,380 INFO L280 TraceCheckUtils]: 7: Hoare triple {10644#true} ~len~0 := 5; {10644#true} is VALID [2020-07-10 19:05:42,381 INFO L263 TraceCheckUtils]: 8: Hoare triple {10644#true} call #t~ret6.base, #t~ret6.offset := dll_create(~len~0); {10761#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2020-07-10 19:05:42,381 INFO L280 TraceCheckUtils]: 9: Hoare triple {10761#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |old(#length)| |#length|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~len := #in~len; {10644#true} is VALID [2020-07-10 19:05:42,381 INFO L280 TraceCheckUtils]: 10: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := 0, 0; {10644#true} is VALID [2020-07-10 19:05:42,381 INFO L280 TraceCheckUtils]: 11: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,382 INFO L280 TraceCheckUtils]: 12: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10644#true} is VALID [2020-07-10 19:05:42,382 INFO L280 TraceCheckUtils]: 13: Hoare triple {10644#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10644#true} is VALID [2020-07-10 19:05:42,382 INFO L280 TraceCheckUtils]: 14: Hoare triple {10644#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10644#true} is VALID [2020-07-10 19:05:42,382 INFO L280 TraceCheckUtils]: 15: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10644#true} is VALID [2020-07-10 19:05:42,382 INFO L280 TraceCheckUtils]: 16: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10644#true} is VALID [2020-07-10 19:05:42,382 INFO L280 TraceCheckUtils]: 17: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-10 19:05:42,383 INFO L280 TraceCheckUtils]: 18: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-10 19:05:42,383 INFO L280 TraceCheckUtils]: 19: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-10 19:05:42,383 INFO L280 TraceCheckUtils]: 20: Hoare triple {10644#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10644#true} is VALID [2020-07-10 19:05:42,383 INFO L280 TraceCheckUtils]: 21: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-10 19:05:42,383 INFO L280 TraceCheckUtils]: 22: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-10 19:05:42,384 INFO L280 TraceCheckUtils]: 23: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10644#true} is VALID [2020-07-10 19:05:42,384 INFO L280 TraceCheckUtils]: 24: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10644#true} is VALID [2020-07-10 19:05:42,384 INFO L280 TraceCheckUtils]: 25: Hoare triple {10644#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {10644#true} is VALID [2020-07-10 19:05:42,384 INFO L280 TraceCheckUtils]: 26: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10644#true} is VALID [2020-07-10 19:05:42,384 INFO L280 TraceCheckUtils]: 27: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-10 19:05:42,384 INFO L280 TraceCheckUtils]: 28: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-10 19:05:42,385 INFO L280 TraceCheckUtils]: 29: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-10 19:05:42,385 INFO L280 TraceCheckUtils]: 30: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,385 INFO L280 TraceCheckUtils]: 31: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10644#true} is VALID [2020-07-10 19:05:42,385 INFO L280 TraceCheckUtils]: 32: Hoare triple {10644#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10644#true} is VALID [2020-07-10 19:05:42,385 INFO L280 TraceCheckUtils]: 33: Hoare triple {10644#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10644#true} is VALID [2020-07-10 19:05:42,386 INFO L280 TraceCheckUtils]: 34: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10644#true} is VALID [2020-07-10 19:05:42,386 INFO L280 TraceCheckUtils]: 35: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10644#true} is VALID [2020-07-10 19:05:42,386 INFO L280 TraceCheckUtils]: 36: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-10 19:05:42,386 INFO L280 TraceCheckUtils]: 37: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-10 19:05:42,386 INFO L280 TraceCheckUtils]: 38: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-10 19:05:42,386 INFO L280 TraceCheckUtils]: 39: Hoare triple {10644#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10644#true} is VALID [2020-07-10 19:05:42,387 INFO L280 TraceCheckUtils]: 40: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-10 19:05:42,387 INFO L280 TraceCheckUtils]: 41: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-10 19:05:42,387 INFO L280 TraceCheckUtils]: 42: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10644#true} is VALID [2020-07-10 19:05:42,387 INFO L280 TraceCheckUtils]: 43: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10644#true} is VALID [2020-07-10 19:05:42,387 INFO L280 TraceCheckUtils]: 44: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-10 19:05:42,388 INFO L280 TraceCheckUtils]: 45: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10644#true} is VALID [2020-07-10 19:05:42,388 INFO L280 TraceCheckUtils]: 46: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10644#true} is VALID [2020-07-10 19:05:42,388 INFO L280 TraceCheckUtils]: 47: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-10 19:05:42,388 INFO L280 TraceCheckUtils]: 48: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-10 19:05:42,388 INFO L280 TraceCheckUtils]: 49: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-10 19:05:42,388 INFO L280 TraceCheckUtils]: 50: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,389 INFO L280 TraceCheckUtils]: 51: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10644#true} is VALID [2020-07-10 19:05:42,389 INFO L280 TraceCheckUtils]: 52: Hoare triple {10644#true} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10644#true} is VALID [2020-07-10 19:05:42,389 INFO L280 TraceCheckUtils]: 53: Hoare triple {10644#true} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10644#true} is VALID [2020-07-10 19:05:42,389 INFO L280 TraceCheckUtils]: 54: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10644#true} is VALID [2020-07-10 19:05:42,389 INFO L280 TraceCheckUtils]: 55: Hoare triple {10644#true} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10644#true} is VALID [2020-07-10 19:05:42,390 INFO L280 TraceCheckUtils]: 56: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-10 19:05:42,390 INFO L280 TraceCheckUtils]: 57: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-10 19:05:42,390 INFO L280 TraceCheckUtils]: 58: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-10 19:05:42,390 INFO L280 TraceCheckUtils]: 59: Hoare triple {10644#true} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10644#true} is VALID [2020-07-10 19:05:42,390 INFO L280 TraceCheckUtils]: 60: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-10 19:05:42,390 INFO L280 TraceCheckUtils]: 61: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-10 19:05:42,391 INFO L280 TraceCheckUtils]: 62: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10644#true} is VALID [2020-07-10 19:05:42,391 INFO L280 TraceCheckUtils]: 63: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10644#true} is VALID [2020-07-10 19:05:42,391 INFO L280 TraceCheckUtils]: 64: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-10 19:05:42,391 INFO L280 TraceCheckUtils]: 65: Hoare triple {10644#true} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10644#true} is VALID [2020-07-10 19:05:42,391 INFO L280 TraceCheckUtils]: 66: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10644#true} is VALID [2020-07-10 19:05:42,391 INFO L280 TraceCheckUtils]: 67: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-10 19:05:42,392 INFO L280 TraceCheckUtils]: 68: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-10 19:05:42,392 INFO L280 TraceCheckUtils]: 69: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-10 19:05:42,392 INFO L280 TraceCheckUtils]: 70: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-10 19:05:42,393 INFO L280 TraceCheckUtils]: 71: Hoare triple {10644#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10762#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} is VALID [2020-07-10 19:05:42,394 INFO L280 TraceCheckUtils]: 72: Hoare triple {10762#(= 1 (select |#valid| |dll_create_#t~malloc2.base|))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,394 INFO L280 TraceCheckUtils]: 73: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,395 INFO L280 TraceCheckUtils]: 74: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,395 INFO L280 TraceCheckUtils]: 75: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,396 INFO L280 TraceCheckUtils]: 76: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,396 INFO L280 TraceCheckUtils]: 77: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume #t~nondet3 == ~len; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,397 INFO L280 TraceCheckUtils]: 78: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} #t~ite4 := 1; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,397 INFO L280 TraceCheckUtils]: 79: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,398 INFO L280 TraceCheckUtils]: 80: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~nondet3; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,398 INFO L280 TraceCheckUtils]: 81: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} havoc #t~ite4; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,399 INFO L280 TraceCheckUtils]: 82: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,399 INFO L280 TraceCheckUtils]: 83: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,400 INFO L280 TraceCheckUtils]: 84: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} assume ~head~0.base != 0 || ~head~0.offset != 0; {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,401 INFO L280 TraceCheckUtils]: 85: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} is VALID [2020-07-10 19:05:42,401 INFO L280 TraceCheckUtils]: 86: Hoare triple {10763#(= 1 (select |#valid| dll_create_~new_head~0.base))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,402 INFO L280 TraceCheckUtils]: 87: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} #t~post5 := ~len; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,402 INFO L280 TraceCheckUtils]: 88: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} ~len := #t~post5 - 1; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,403 INFO L280 TraceCheckUtils]: 89: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} havoc #t~post5; {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,403 INFO L280 TraceCheckUtils]: 90: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} assume !!(~len > 0); {10764#(= (select |#valid| dll_create_~head~0.base) 1)} is VALID [2020-07-10 19:05:42,404 INFO L280 TraceCheckUtils]: 91: Hoare triple {10764#(= (select |#valid| dll_create_~head~0.base) 1)} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(20); srcloc: L570 {10765#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} is VALID [2020-07-10 19:05:42,405 INFO L280 TraceCheckUtils]: 92: Hoare triple {10765#(not (= |dll_create_#t~malloc2.base| dll_create_~head~0.base))} ~new_head~0.base, ~new_head~0.offset := #t~malloc2.base, #t~malloc2.offset; {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:42,405 INFO L280 TraceCheckUtils]: 93: Hoare triple {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} assume !(0 == ~new_head~0.base && 0 == ~new_head~0.offset); {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} is VALID [2020-07-10 19:05:42,406 INFO L280 TraceCheckUtils]: 94: Hoare triple {10766#(not (= dll_create_~new_head~0.base dll_create_~head~0.base))} SUMMARY for call write~int(0, ~new_head~0.base, ~new_head~0.offset, 4); srcloc: L571-1 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,407 INFO L280 TraceCheckUtils]: 95: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(0, ~new_head~0.base, 8 + ~new_head~0.offset, 4); srcloc: L574 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,408 INFO L280 TraceCheckUtils]: 96: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,409 INFO L280 TraceCheckUtils]: 97: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume #t~nondet3 == ~len; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,410 INFO L280 TraceCheckUtils]: 98: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} #t~ite4 := 1; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,411 INFO L280 TraceCheckUtils]: 99: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~int(#t~ite4, ~new_head~0.base, 16 + ~new_head~0.offset, 4); srcloc: L576-4 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,412 INFO L280 TraceCheckUtils]: 100: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~nondet3; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,412 INFO L280 TraceCheckUtils]: 101: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} havoc #t~ite4; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,414 INFO L280 TraceCheckUtils]: 102: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4); srcloc: L577 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,415 INFO L280 TraceCheckUtils]: 103: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(0, 0, ~new_head~0.base, 12 + ~new_head~0.offset, 4); srcloc: L577-1 {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,416 INFO L280 TraceCheckUtils]: 104: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} assume ~head~0.base != 0 || ~head~0.offset != 0; {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} is VALID [2020-07-10 19:05:42,417 INFO L280 TraceCheckUtils]: 105: Hoare triple {10767#(and (= 0 (select (store (select |#memory_int| dll_create_~new_head~0.base) (+ dll_create_~new_head~0.offset 8) 0) dll_create_~new_head~0.offset)) (not (= dll_create_~new_head~0.base dll_create_~head~0.base)))} SUMMARY for call write~$Pointer$(~new_head~0.base, ~new_head~0.offset, ~head~0.base, 12 + ~head~0.offset, 4); srcloc: L580 {10768#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} is VALID [2020-07-10 19:05:42,417 INFO L280 TraceCheckUtils]: 106: Hoare triple {10768#(= 0 (select (select |#memory_int| dll_create_~new_head~0.base) dll_create_~new_head~0.offset))} ~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,418 INFO L280 TraceCheckUtils]: 107: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #t~post5 := ~len; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,418 INFO L280 TraceCheckUtils]: 108: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} ~len := #t~post5 - 1; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,419 INFO L280 TraceCheckUtils]: 109: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} havoc #t~post5; {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,419 INFO L280 TraceCheckUtils]: 110: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} assume !(~len > 0); {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} is VALID [2020-07-10 19:05:42,420 INFO L280 TraceCheckUtils]: 111: Hoare triple {10769#(= 0 (select (select |#memory_int| dll_create_~head~0.base) dll_create_~head~0.offset))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:42,421 INFO L280 TraceCheckUtils]: 112: Hoare triple {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} assume true; {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} is VALID [2020-07-10 19:05:42,422 INFO L275 TraceCheckUtils]: 113: Hoare quadruple {10770#(= 0 (select (select |#memory_int| |dll_create_#res.base|) |dll_create_#res.offset|))} {10644#true} #184#return; {10756#(= 0 (select (select |#memory_int| |main_#t~ret6.base|) |main_#t~ret6.offset|))} is VALID [2020-07-10 19:05:42,423 INFO L280 TraceCheckUtils]: 114: Hoare triple {10756#(= 0 (select (select |#memory_int| |main_#t~ret6.base|) |main_#t~ret6.offset|))} ~head~1.base, ~head~1.offset := #t~ret6.base, #t~ret6.offset; {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,423 INFO L280 TraceCheckUtils]: 115: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} havoc #t~ret6.base, #t~ret6.offset; {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,424 INFO L280 TraceCheckUtils]: 116: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} SUMMARY for call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head~1.base, 4 + ~head~1.offset, 4); srcloc: L590-5 {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,424 INFO L280 TraceCheckUtils]: 117: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} assume !(#t~mem13.base != 0 || #t~mem13.offset != 0); {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,425 INFO L280 TraceCheckUtils]: 118: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} havoc #t~mem13.base, #t~mem13.offset; {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,425 INFO L280 TraceCheckUtils]: 119: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} assume !!(~head~1.base != 0 || ~head~1.offset != 0); {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,426 INFO L280 TraceCheckUtils]: 120: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} SUMMARY for call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head~1.base, 12 + ~head~1.offset, 4); srcloc: L597 {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,427 INFO L280 TraceCheckUtils]: 121: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} ~temp~0.base, ~temp~0.offset := #t~mem14.base, #t~mem14.offset; {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,427 INFO L280 TraceCheckUtils]: 122: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} havoc #t~mem14.base, #t~mem14.offset; {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} is VALID [2020-07-10 19:05:42,428 INFO L280 TraceCheckUtils]: 123: Hoare triple {10757#(= 0 (select (select |#memory_int| main_~head~1.base) main_~head~1.offset))} SUMMARY for call #t~mem15 := read~int(~head~1.base, ~head~1.offset, 4); srcloc: L598 {10758#(= |main_#t~mem15| 0)} is VALID [2020-07-10 19:05:42,429 INFO L280 TraceCheckUtils]: 124: Hoare triple {10758#(= |main_#t~mem15| 0)} #t~short17 := 0 != #t~mem15; {10759#(not |main_#t~short17|)} is VALID [2020-07-10 19:05:42,429 INFO L280 TraceCheckUtils]: 125: Hoare triple {10759#(not |main_#t~short17|)} assume #t~short17; {10645#false} is VALID [2020-07-10 19:05:42,429 INFO L280 TraceCheckUtils]: 126: Hoare triple {10645#false} #t~short19 := #t~short17; {10645#false} is VALID [2020-07-10 19:05:42,430 INFO L280 TraceCheckUtils]: 127: Hoare triple {10645#false} assume #t~short19; {10645#false} is VALID [2020-07-10 19:05:42,430 INFO L280 TraceCheckUtils]: 128: Hoare triple {10645#false} assume #t~short19; {10645#false} is VALID [2020-07-10 19:05:42,430 INFO L280 TraceCheckUtils]: 129: Hoare triple {10645#false} havoc #t~mem15; {10645#false} is VALID [2020-07-10 19:05:42,430 INFO L280 TraceCheckUtils]: 130: Hoare triple {10645#false} havoc #t~short19; {10645#false} is VALID [2020-07-10 19:05:42,430 INFO L280 TraceCheckUtils]: 131: Hoare triple {10645#false} havoc #t~short17; {10645#false} is VALID [2020-07-10 19:05:42,430 INFO L280 TraceCheckUtils]: 132: Hoare triple {10645#false} havoc #t~mem18; {10645#false} is VALID [2020-07-10 19:05:42,431 INFO L280 TraceCheckUtils]: 133: Hoare triple {10645#false} havoc #t~mem16; {10645#false} is VALID [2020-07-10 19:05:42,431 INFO L280 TraceCheckUtils]: 134: Hoare triple {10645#false} assume !false; {10645#false} is VALID [2020-07-10 19:05:42,455 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 19:05:42,455 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:42,455 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [989541024] [2020-07-10 19:05:42,455 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 19:05:42,456 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2020-07-10 19:05:42,456 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [237986442] [2020-07-10 19:05:42,456 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 135 [2020-07-10 19:05:42,457 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 19:05:42,457 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-10 19:05:42,556 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:42,556 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-10 19:05:42,556 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-10 19:05:42,556 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-10 19:05:42,557 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=239, Unknown=0, NotChecked=0, Total=272 [2020-07-10 19:05:42,557 INFO L87 Difference]: Start difference. First operand 187 states and 201 transitions. Second operand 17 states. [2020-07-10 19:05:46,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:46,242 INFO L93 Difference]: Finished difference Result 281 states and 301 transitions. [2020-07-10 19:05:46,243 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-10 19:05:46,243 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 135 [2020-07-10 19:05:46,243 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 19:05:46,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 19:05:46,247 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 231 transitions. [2020-07-10 19:05:46,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 19:05:46,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 231 transitions. [2020-07-10 19:05:46,250 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 231 transitions. [2020-07-10 19:05:46,528 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 231 edges. 231 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:46,533 INFO L225 Difference]: With dead ends: 281 [2020-07-10 19:05:46,534 INFO L226 Difference]: Without dead ends: 253 [2020-07-10 19:05:46,535 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 9 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=165, Invalid=827, Unknown=0, NotChecked=0, Total=992 [2020-07-10 19:05:46,535 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2020-07-10 19:05:47,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 195. [2020-07-10 19:05:47,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 19:05:47,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand 195 states. [2020-07-10 19:05:47,334 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand 195 states. [2020-07-10 19:05:47,334 INFO L87 Difference]: Start difference. First operand 253 states. Second operand 195 states. [2020-07-10 19:05:47,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:47,340 INFO L93 Difference]: Finished difference Result 253 states and 270 transitions. [2020-07-10 19:05:47,340 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 270 transitions. [2020-07-10 19:05:47,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:47,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:47,341 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand 253 states. [2020-07-10 19:05:47,342 INFO L87 Difference]: Start difference. First operand 195 states. Second operand 253 states. [2020-07-10 19:05:47,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 19:05:47,347 INFO L93 Difference]: Finished difference Result 253 states and 270 transitions. [2020-07-10 19:05:47,348 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 270 transitions. [2020-07-10 19:05:47,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 19:05:47,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 19:05:47,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 19:05:47,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 19:05:47,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 195 states. [2020-07-10 19:05:47,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 209 transitions. [2020-07-10 19:05:47,353 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 209 transitions. Word has length 135 [2020-07-10 19:05:47,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 19:05:47,353 INFO L479 AbstractCegarLoop]: Abstraction has 195 states and 209 transitions. [2020-07-10 19:05:47,353 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-10 19:05:47,354 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 195 states and 209 transitions. [2020-07-10 19:05:47,802 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 19:05:47,802 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 209 transitions. [2020-07-10 19:05:47,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2020-07-10 19:05:47,804 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 19:05:47,805 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 19:05:47,805 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-10 19:05:47,806 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 19:05:47,806 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 19:05:47,806 INFO L82 PathProgramCache]: Analyzing trace with hash -414346707, now seen corresponding path program 1 times [2020-07-10 19:05:47,806 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-10 19:05:47,806 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [32927829] [2020-07-10 19:05:47,807 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 19:05:47,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 19:05:48,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 19:05:48,089 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-10 19:05:48,089 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-10 19:05:48,089 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 19:05:48,092 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-10 19:05:48,126 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 19:05:48,126 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-10 19:05:48,126 WARN L170 areAnnotationChecker]: dll_createENTRY has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: L565 has no Hoare annotation [2020-07-10 19:05:48,127 WARN L170 areAnnotationChecker]: L568 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L67 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L72 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-10 19:05:48,128 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: L67-1 has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: L72-1 has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: L589-1 has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: L569-3 has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: L570 has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-10 19:05:48,129 WARN L170 areAnnotationChecker]: L589-2 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: dll_createFINAL has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L590-5 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L590-5 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: dll_createEXIT has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-10 19:05:48,130 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L590-1 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L590-1 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L572 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L572 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L571-1 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L596-2 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L597 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L590-2 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L590-4 has no Hoare annotation [2020-07-10 19:05:48,131 WARN L170 areAnnotationChecker]: L574 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L597-1 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L575 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L597-2 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-10 19:05:48,132 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L591-2 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L591-2 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L576-3 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L591-6 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L591-4 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L576-4 has no Hoare annotation [2020-07-10 19:05:48,133 WARN L170 areAnnotationChecker]: L598-2 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L598-2 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L591-7 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L591-7 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L591-5 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L576-5 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L598-6 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L598-4 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L591-11 has no Hoare annotation [2020-07-10 19:05:48,134 WARN L170 areAnnotationChecker]: L591-11 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L591-9 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L576-6 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L598-7 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L598-7 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L598-5 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L591-12 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L591-17 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L591-10 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L577 has no Hoare annotation [2020-07-10 19:05:48,135 WARN L170 areAnnotationChecker]: L598-11 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L598-11 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L598-9 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L591-13 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L591-18 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L577-1 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L598-12 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L598-17 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L598-10 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L591-14 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L591-19 has no Hoare annotation [2020-07-10 19:05:48,136 WARN L170 areAnnotationChecker]: L578 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L578 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L598-13 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L598-18 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L591-15 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L591-20 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L580 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L598-14 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L598-19 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L591-16 has no Hoare annotation [2020-07-10 19:05:48,137 WARN L170 areAnnotationChecker]: L591-21 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L583 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L598-15 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L598-20 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L594 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L583-1 has no Hoare annotation [2020-07-10 19:05:48,138 WARN L170 areAnnotationChecker]: L598-16 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L598-21 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L594-1 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L583-2 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L601 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L594-2 has no Hoare annotation [2020-07-10 19:05:48,139 WARN L170 areAnnotationChecker]: L601-1 has no Hoare annotation [2020-07-10 19:05:48,139 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. [2020-07-10 19:05:48,146 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 07:05:48 BoogieIcfgContainer [2020-07-10 19:05:48,146 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 19:05:48,150 INFO L168 Benchmark]: Toolchain (without parser) took 38553.06 ms. Allocated memory was 139.5 MB in the beginning and 551.6 MB in the end (delta: 412.1 MB). Free memory was 100.1 MB in the beginning and 266.1 MB in the end (delta: -166.0 MB). Peak memory consumption was 246.1 MB. Max. memory is 7.1 GB. [2020-07-10 19:05:48,151 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 139.5 MB. Free memory was 119.7 MB in the beginning and 119.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-10 19:05:48,154 INFO L168 Benchmark]: CACSL2BoogieTranslator took 626.23 ms. Allocated memory was 139.5 MB in the beginning and 201.9 MB in the end (delta: 62.4 MB). Free memory was 99.7 MB in the beginning and 166.7 MB in the end (delta: -67.0 MB). Peak memory consumption was 23.7 MB. Max. memory is 7.1 GB. [2020-07-10 19:05:48,155 INFO L168 Benchmark]: Boogie Preprocessor took 138.15 ms. Allocated memory is still 201.9 MB. Free memory was 166.7 MB in the beginning and 163.1 MB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 7.1 GB. [2020-07-10 19:05:48,159 INFO L168 Benchmark]: RCFGBuilder took 818.33 ms. Allocated memory is still 201.9 MB. Free memory was 163.1 MB in the beginning and 96.6 MB in the end (delta: 66.6 MB). Peak memory consumption was 66.6 MB. Max. memory is 7.1 GB. [2020-07-10 19:05:48,159 INFO L168 Benchmark]: TraceAbstraction took 36964.13 ms. Allocated memory was 201.9 MB in the beginning and 551.6 MB in the end (delta: 349.7 MB). Free memory was 95.9 MB in the beginning and 266.1 MB in the end (delta: -170.3 MB). Peak memory consumption was 179.4 MB. Max. memory is 7.1 GB. [2020-07-10 19:05:48,164 INFO L336 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.22 ms. Allocated memory is still 139.5 MB. Free memory was 119.7 MB in the beginning and 119.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 626.23 ms. Allocated memory was 139.5 MB in the beginning and 201.9 MB in the end (delta: 62.4 MB). Free memory was 99.7 MB in the beginning and 166.7 MB in the end (delta: -67.0 MB). Peak memory consumption was 23.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 138.15 ms. Allocated memory is still 201.9 MB. Free memory was 166.7 MB in the beginning and 163.1 MB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 818.33 ms. Allocated memory is still 201.9 MB. Free memory was 163.1 MB in the beginning and 96.6 MB in the end (delta: 66.6 MB). Peak memory consumption was 66.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 36964.13 ms. Allocated memory was 201.9 MB in the beginning and 551.6 MB in the end (delta: 349.7 MB). Free memory was 95.9 MB in the beginning and 266.1 MB in the end (delta: -170.3 MB). Peak memory consumption was 179.4 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 605]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L588] const int len = 5; [L589] CALL, EXPR dll_create(len) [L568] DLL head = ((void *)0); [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND FALSE !(\read(head)) [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND TRUE len > 0 [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); [L571] COND FALSE !(((void *)0) == new_head) [L574] new_head->data_0 = 0 [L575] new_head->data_1 = 0 [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 [L577] new_head->next = head [L578] new_head->prev = ((void *)0) [L579] COND TRUE \read(head) [L580] head->prev = new_head [L582] head = new_head [L583] len-- [L569] COND FALSE !(len > 0) [L585] return head; [L589] RET, EXPR dll_create(len) [L589] DLL head = dll_create(len); [L590] head->next [L590] COND TRUE head->next [L591] EXPR head->data_0 [L591] EXPR 0 != head->data_0 || 0 != head->data_1 [L591] EXPR head->data_1 [L591] EXPR 0 != head->data_0 || 0 != head->data_1 [L591] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L591] EXPR head->data_2 [L591] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L591] COND TRUE 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 [L605] __VERIFIER_error() - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 112 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 36.8s, OverallIterations: 11, TraceHistogramMax: 5, AutomataDifference: 24.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 920 SDtfs, 1495 SDslu, 6155 SDs, 0 SdLazy, 3407 SolverSat, 233 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 4.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 259 GetRequests, 63 SyntacticMatches, 8 SemanticMatches, 188 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 472 ImplicationChecksByTransitivity, 3.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=195occurred in iteration=10, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 3.6s AutomataMinimizationTime, 10 MinimizatonAttempts, 328 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: No data available, 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! Received shutdown request...