/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 --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -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-11 01:10:15,548 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-11 01:10:15,550 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-11 01:10:15,563 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-11 01:10:15,563 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-11 01:10:15,564 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-11 01:10:15,565 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-11 01:10:15,567 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-11 01:10:15,569 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-11 01:10:15,570 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-11 01:10:15,570 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-11 01:10:15,572 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-11 01:10:15,572 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-11 01:10:15,573 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-11 01:10:15,574 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-11 01:10:15,575 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-11 01:10:15,576 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-11 01:10:15,577 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-11 01:10:15,579 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-11 01:10:15,581 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-11 01:10:15,583 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-11 01:10:15,584 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-11 01:10:15,585 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-11 01:10:15,586 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-11 01:10:15,589 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-11 01:10:15,589 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-11 01:10:15,589 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-11 01:10:15,590 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-11 01:10:15,591 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-11 01:10:15,592 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-11 01:10:15,592 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-11 01:10:15,593 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-11 01:10:15,594 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-11 01:10:15,595 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-11 01:10:15,596 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-11 01:10:15,596 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-11 01:10:15,597 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-11 01:10:15,597 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-11 01:10:15,598 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-11 01:10:15,599 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-11 01:10:15,600 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-11 01:10:15,600 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-11 01:10:15,610 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-11 01:10:15,611 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-11 01:10:15,612 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-11 01:10:15,612 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-11 01:10:15,612 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-11 01:10:15,613 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-11 01:10:15,613 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-11 01:10:15,613 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-11 01:10:15,613 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-11 01:10:15,613 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-11 01:10:15,613 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-11 01:10:15,614 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-11 01:10:15,614 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-11 01:10:15,614 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-11 01:10:15,614 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-11 01:10:15,614 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-11 01:10:15,615 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-11 01:10:15,615 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-11 01:10:15,615 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 01:10:15,615 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-11 01:10:15,615 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-11 01:10:15,616 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-11 01:10:15,616 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-11 01:10:15,893 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-11 01:10:15,904 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-11 01:10:15,909 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-11 01:10:15,910 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-11 01:10:15,910 INFO L275 PluginConnector]: CDTParser initialized [2020-07-11 01:10:15,911 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-11 01:10:15,999 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/875156866/4051647c9bc34010b294e7193dad4189/FLAG3ad651edf [2020-07-11 01:10:16,592 INFO L306 CDTParser]: Found 1 translation units. [2020-07-11 01:10:16,593 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext3-properties/dll_nullified-1.i [2020-07-11 01:10:16,605 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/875156866/4051647c9bc34010b294e7193dad4189/FLAG3ad651edf [2020-07-11 01:10:16,838 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/875156866/4051647c9bc34010b294e7193dad4189 [2020-07-11 01:10:16,850 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-11 01:10:16,852 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-11 01:10:16,854 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-11 01:10:16,854 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-11 01:10:16,857 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-11 01:10:16,859 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:10:16" (1/1) ... [2020-07-11 01:10:16,862 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d7a61f0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:16, skipping insertion in model container [2020-07-11 01:10:16,862 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:10:16" (1/1) ... [2020-07-11 01:10:16,870 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-11 01:10:16,911 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-11 01:10:17,411 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:10:17,429 INFO L203 MainTranslator]: Completed pre-run [2020-07-11 01:10:17,521 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:10:17,573 INFO L208 MainTranslator]: Completed translation [2020-07-11 01:10:17,574 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17 WrapperNode [2020-07-11 01:10:17,574 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-11 01:10:17,575 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-11 01:10:17,575 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-11 01:10:17,575 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-11 01:10:17,589 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,589 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,610 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,611 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,635 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,644 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,648 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (1/1) ... [2020-07-11 01:10:17,655 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-11 01:10:17,656 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-11 01:10:17,656 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-11 01:10:17,656 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-11 01:10:17,657 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (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-11 01:10:17,723 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-11 01:10:17,724 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-11 01:10:17,724 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-11 01:10:17,724 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-11 01:10:17,724 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-11 01:10:17,725 INFO L138 BoogieDeclarations]: Found implementation of procedure dll_create [2020-07-11 01:10:17,725 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-11 01:10:17,725 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-11 01:10:17,725 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-11 01:10:17,725 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-11 01:10:17,726 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-11 01:10:17,726 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-11 01:10:17,727 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-11 01:10:17,727 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-11 01:10:17,727 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-11 01:10:17,728 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-11 01:10:17,728 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-11 01:10:17,728 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-11 01:10:17,728 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-11 01:10:17,729 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-11 01:10:17,729 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-11 01:10:17,730 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-11 01:10:17,732 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-11 01:10:17,732 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-11 01:10:17,732 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-11 01:10:17,732 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-11 01:10:17,733 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-11 01:10:17,733 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-11 01:10:17,733 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-11 01:10:17,733 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-11 01:10:17,733 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-11 01:10:17,733 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-11 01:10:17,734 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-11 01:10:17,735 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-11 01:10:17,735 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-11 01:10:17,735 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-11 01:10:17,735 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-11 01:10:17,735 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-11 01:10:17,735 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-11 01:10:17,736 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-11 01:10:17,736 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-11 01:10:17,736 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-11 01:10:17,736 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-11 01:10:17,737 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-11 01:10:17,738 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-11 01:10:17,738 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-11 01:10:17,738 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-11 01:10:17,738 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-11 01:10:17,738 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-11 01:10:17,738 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-11 01:10:17,739 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-11 01:10:17,740 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-11 01:10:17,740 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-11 01:10:17,740 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-11 01:10:17,740 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-11 01:10:17,740 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-11 01:10:17,741 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-11 01:10:17,741 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-11 01:10:17,742 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-11 01:10:17,742 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-11 01:10:17,742 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-11 01:10:17,742 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-11 01:10:17,743 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-11 01:10:17,743 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-11 01:10:17,743 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-11 01:10:17,743 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-11 01:10:17,743 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-11 01:10:17,744 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-11 01:10:17,744 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-11 01:10:17,745 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-11 01:10:17,745 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-11 01:10:17,745 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-11 01:10:17,746 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-11 01:10:17,746 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-11 01:10:17,746 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-11 01:10:17,746 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-11 01:10:17,746 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-11 01:10:17,747 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-11 01:10:17,747 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-11 01:10:17,747 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-11 01:10:17,747 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-11 01:10:17,748 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-11 01:10:17,749 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure dll_create [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-11 01:10:17,750 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-11 01:10:17,751 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-11 01:10:17,751 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-11 01:10:17,751 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-11 01:10:17,751 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-11 01:10:17,752 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-11 01:10:18,100 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-11 01:10:18,473 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-11 01:10:18,474 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-11 01:10:18,479 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:10:18 BoogieIcfgContainer [2020-07-11 01:10:18,479 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-11 01:10:18,482 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-11 01:10:18,482 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-11 01:10:18,486 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-11 01:10:18,486 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 11.07 01:10:16" (1/3) ... [2020-07-11 01:10:18,488 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57a2c71a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:10:18, skipping insertion in model container [2020-07-11 01:10:18,488 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:10:17" (2/3) ... [2020-07-11 01:10:18,488 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57a2c71a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:10:18, skipping insertion in model container [2020-07-11 01:10:18,489 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:10:18" (3/3) ... [2020-07-11 01:10:18,492 INFO L109 eAbstractionObserver]: Analyzing ICFG dll_nullified-1.i [2020-07-11 01:10:18,503 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-11 01:10:18,512 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-11 01:10:18,525 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-11 01:10:18,548 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-11 01:10:18,548 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-11 01:10:18,548 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-11 01:10:18,549 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-11 01:10:18,550 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-11 01:10:18,550 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-11 01:10:18,550 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-11 01:10:18,550 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-11 01:10:18,565 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states. [2020-07-11 01:10:18,578 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-11 01:10:18,578 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:18,579 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-11 01:10:18,580 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:18,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:18,587 INFO L82 PathProgramCache]: Analyzing trace with hash 136898680, now seen corresponding path program 1 times [2020-07-11 01:10:18,595 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:18,595 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1670636787] [2020-07-11 01:10:18,596 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:18,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:18,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:18,837 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-11 01:10:18,838 INFO L280 TraceCheckUtils]: 1: Hoare triple {104#true} #valid := #valid[0 := 0]; {104#true} is VALID [2020-07-11 01:10:18,838 INFO L280 TraceCheckUtils]: 2: Hoare triple {104#true} assume 0 < #StackHeapBarrier; {104#true} is VALID [2020-07-11 01:10:18,839 INFO L280 TraceCheckUtils]: 3: Hoare triple {104#true} assume true; {104#true} is VALID [2020-07-11 01:10:18,839 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {104#true} {104#true} #188#return; {104#true} is VALID [2020-07-11 01:10:18,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:18,873 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-11 01:10:18,873 INFO L280 TraceCheckUtils]: 1: Hoare triple {104#true} ~head~0.base, ~head~0.offset := 0, 0; {104#true} is VALID [2020-07-11 01:10:18,874 INFO L280 TraceCheckUtils]: 2: Hoare triple {104#true} assume !true; {105#false} is VALID [2020-07-11 01:10:18,875 INFO L280 TraceCheckUtils]: 3: Hoare triple {105#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {105#false} is VALID [2020-07-11 01:10:18,875 INFO L280 TraceCheckUtils]: 4: Hoare triple {105#false} assume true; {105#false} is VALID [2020-07-11 01:10:18,875 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {105#false} {104#true} #184#return; {105#false} is VALID [2020-07-11 01:10:18,877 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-11 01:10:18,877 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-11 01:10:18,878 INFO L280 TraceCheckUtils]: 2: Hoare triple {104#true} #valid := #valid[0 := 0]; {104#true} is VALID [2020-07-11 01:10:18,878 INFO L280 TraceCheckUtils]: 3: Hoare triple {104#true} assume 0 < #StackHeapBarrier; {104#true} is VALID [2020-07-11 01:10:18,878 INFO L280 TraceCheckUtils]: 4: Hoare triple {104#true} assume true; {104#true} is VALID [2020-07-11 01:10:18,879 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {104#true} {104#true} #188#return; {104#true} is VALID [2020-07-11 01:10:18,879 INFO L263 TraceCheckUtils]: 6: Hoare triple {104#true} call #t~ret20 := main(); {104#true} is VALID [2020-07-11 01:10:18,879 INFO L280 TraceCheckUtils]: 7: Hoare triple {104#true} ~len~0 := 5; {104#true} is VALID [2020-07-11 01:10:18,881 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-11 01:10:18,882 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-11 01:10:18,882 INFO L280 TraceCheckUtils]: 10: Hoare triple {104#true} ~head~0.base, ~head~0.offset := 0, 0; {104#true} is VALID [2020-07-11 01:10:18,883 INFO L280 TraceCheckUtils]: 11: Hoare triple {104#true} assume !true; {105#false} is VALID [2020-07-11 01:10:18,883 INFO L280 TraceCheckUtils]: 12: Hoare triple {105#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {105#false} is VALID [2020-07-11 01:10:18,884 INFO L280 TraceCheckUtils]: 13: Hoare triple {105#false} assume true; {105#false} is VALID [2020-07-11 01:10:18,884 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {105#false} {104#true} #184#return; {105#false} is VALID [2020-07-11 01:10:18,884 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-11 01:10:18,885 INFO L280 TraceCheckUtils]: 16: Hoare triple {105#false} havoc #t~ret6.base, #t~ret6.offset; {105#false} is VALID [2020-07-11 01:10:18,885 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-11 01:10:18,885 INFO L280 TraceCheckUtils]: 18: Hoare triple {105#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {105#false} is VALID [2020-07-11 01:10:18,886 INFO L280 TraceCheckUtils]: 19: Hoare triple {105#false} havoc #t~mem13.base, #t~mem13.offset; {105#false} is VALID [2020-07-11 01:10:18,886 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-11 01:10:18,886 INFO L280 TraceCheckUtils]: 21: Hoare triple {105#false} #t~short9 := 0 != #t~mem7; {105#false} is VALID [2020-07-11 01:10:18,887 INFO L280 TraceCheckUtils]: 22: Hoare triple {105#false} assume #t~short9; {105#false} is VALID [2020-07-11 01:10:18,887 INFO L280 TraceCheckUtils]: 23: Hoare triple {105#false} #t~short11 := #t~short9; {105#false} is VALID [2020-07-11 01:10:18,887 INFO L280 TraceCheckUtils]: 24: Hoare triple {105#false} assume #t~short11; {105#false} is VALID [2020-07-11 01:10:18,888 INFO L280 TraceCheckUtils]: 25: Hoare triple {105#false} assume #t~short11; {105#false} is VALID [2020-07-11 01:10:18,888 INFO L280 TraceCheckUtils]: 26: Hoare triple {105#false} havoc #t~mem8; {105#false} is VALID [2020-07-11 01:10:18,888 INFO L280 TraceCheckUtils]: 27: Hoare triple {105#false} havoc #t~mem10; {105#false} is VALID [2020-07-11 01:10:18,889 INFO L280 TraceCheckUtils]: 28: Hoare triple {105#false} havoc #t~short11; {105#false} is VALID [2020-07-11 01:10:18,889 INFO L280 TraceCheckUtils]: 29: Hoare triple {105#false} havoc #t~mem7; {105#false} is VALID [2020-07-11 01:10:18,889 INFO L280 TraceCheckUtils]: 30: Hoare triple {105#false} havoc #t~short9; {105#false} is VALID [2020-07-11 01:10:18,890 INFO L280 TraceCheckUtils]: 31: Hoare triple {105#false} assume !false; {105#false} is VALID [2020-07-11 01:10:18,896 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-11 01:10:18,897 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1670636787] [2020-07-11 01:10:18,899 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:10:18,900 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-11 01:10:18,901 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2028058340] [2020-07-11 01:10:18,907 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2020-07-11 01:10:18,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:18,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-11 01:10:18,967 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-11 01:10:18,967 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-11 01:10:18,968 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:18,976 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-11 01:10:18,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-11 01:10:18,979 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 4 states. [2020-07-11 01:10:20,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:20,001 INFO L93 Difference]: Finished difference Result 230 states and 265 transitions. [2020-07-11 01:10:20,001 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-11 01:10:20,002 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2020-07-11 01:10:20,002 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:20,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-11 01:10:20,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 265 transitions. [2020-07-11 01:10:20,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-11 01:10:20,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 265 transitions. [2020-07-11 01:10:20,030 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 265 transitions. [2020-07-11 01:10:20,352 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-11 01:10:20,384 INFO L225 Difference]: With dead ends: 230 [2020-07-11 01:10:20,384 INFO L226 Difference]: Without dead ends: 153 [2020-07-11 01:10:20,392 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-11 01:10:20,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2020-07-11 01:10:20,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 92. [2020-07-11 01:10:20,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:20,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 92 states. [2020-07-11 01:10:20,488 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 92 states. [2020-07-11 01:10:20,489 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 92 states. [2020-07-11 01:10:20,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:20,500 INFO L93 Difference]: Finished difference Result 153 states and 169 transitions. [2020-07-11 01:10:20,500 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 169 transitions. [2020-07-11 01:10:20,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:20,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:20,503 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 153 states. [2020-07-11 01:10:20,503 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 153 states. [2020-07-11 01:10:20,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:20,514 INFO L93 Difference]: Finished difference Result 153 states and 169 transitions. [2020-07-11 01:10:20,514 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 169 transitions. [2020-07-11 01:10:20,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:20,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:20,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:20,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:20,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 92 states. [2020-07-11 01:10:20,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 101 transitions. [2020-07-11 01:10:20,523 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 101 transitions. Word has length 32 [2020-07-11 01:10:20,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:20,523 INFO L479 AbstractCegarLoop]: Abstraction has 92 states and 101 transitions. [2020-07-11 01:10:20,524 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-11 01:10:20,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 92 states and 101 transitions. [2020-07-11 01:10:20,625 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-11 01:10:20,626 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 101 transitions. [2020-07-11 01:10:20,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-11 01:10:20,628 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:20,628 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-11 01:10:20,628 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-11 01:10:20,628 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:20,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:20,629 INFO L82 PathProgramCache]: Analyzing trace with hash 272796752, now seen corresponding path program 1 times [2020-07-11 01:10:20,629 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:20,630 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1424699328] [2020-07-11 01:10:20,630 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:20,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:20,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:20,745 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-11 01:10:20,745 INFO L280 TraceCheckUtils]: 1: Hoare triple {1074#true} #valid := #valid[0 := 0]; {1074#true} is VALID [2020-07-11 01:10:20,745 INFO L280 TraceCheckUtils]: 2: Hoare triple {1074#true} assume 0 < #StackHeapBarrier; {1074#true} is VALID [2020-07-11 01:10:20,746 INFO L280 TraceCheckUtils]: 3: Hoare triple {1074#true} assume true; {1074#true} is VALID [2020-07-11 01:10:20,746 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1074#true} {1074#true} #188#return; {1074#true} is VALID [2020-07-11 01:10:20,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:20,818 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-11 01:10:20,819 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-11 01:10:20,820 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-11 01:10:20,821 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-11 01:10:20,821 INFO L280 TraceCheckUtils]: 4: Hoare triple {1091#(<= |dll_create_#in~len| 0)} assume true; {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-11 01:10:20,823 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-11 01:10:20,824 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-11 01:10:20,825 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-11 01:10:20,825 INFO L280 TraceCheckUtils]: 2: Hoare triple {1074#true} #valid := #valid[0 := 0]; {1074#true} is VALID [2020-07-11 01:10:20,825 INFO L280 TraceCheckUtils]: 3: Hoare triple {1074#true} assume 0 < #StackHeapBarrier; {1074#true} is VALID [2020-07-11 01:10:20,826 INFO L280 TraceCheckUtils]: 4: Hoare triple {1074#true} assume true; {1074#true} is VALID [2020-07-11 01:10:20,826 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1074#true} {1074#true} #188#return; {1074#true} is VALID [2020-07-11 01:10:20,827 INFO L263 TraceCheckUtils]: 6: Hoare triple {1074#true} call #t~ret20 := main(); {1074#true} is VALID [2020-07-11 01:10:20,827 INFO L280 TraceCheckUtils]: 7: Hoare triple {1074#true} ~len~0 := 5; {1081#(<= 5 main_~len~0)} is VALID [2020-07-11 01:10:20,850 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-11 01:10:20,851 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-11 01:10:20,855 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-11 01:10:20,855 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-11 01:10:20,856 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-11 01:10:20,857 INFO L280 TraceCheckUtils]: 13: Hoare triple {1091#(<= |dll_create_#in~len| 0)} assume true; {1091#(<= |dll_create_#in~len| 0)} is VALID [2020-07-11 01:10:20,858 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-11 01:10:20,858 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-11 01:10:20,858 INFO L280 TraceCheckUtils]: 16: Hoare triple {1075#false} havoc #t~ret6.base, #t~ret6.offset; {1075#false} is VALID [2020-07-11 01:10:20,859 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-11 01:10:20,859 INFO L280 TraceCheckUtils]: 18: Hoare triple {1075#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {1075#false} is VALID [2020-07-11 01:10:20,859 INFO L280 TraceCheckUtils]: 19: Hoare triple {1075#false} havoc #t~mem13.base, #t~mem13.offset; {1075#false} is VALID [2020-07-11 01:10:20,860 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-11 01:10:20,860 INFO L280 TraceCheckUtils]: 21: Hoare triple {1075#false} #t~short9 := 0 != #t~mem7; {1075#false} is VALID [2020-07-11 01:10:20,860 INFO L280 TraceCheckUtils]: 22: Hoare triple {1075#false} assume #t~short9; {1075#false} is VALID [2020-07-11 01:10:20,860 INFO L280 TraceCheckUtils]: 23: Hoare triple {1075#false} #t~short11 := #t~short9; {1075#false} is VALID [2020-07-11 01:10:20,861 INFO L280 TraceCheckUtils]: 24: Hoare triple {1075#false} assume #t~short11; {1075#false} is VALID [2020-07-11 01:10:20,861 INFO L280 TraceCheckUtils]: 25: Hoare triple {1075#false} assume #t~short11; {1075#false} is VALID [2020-07-11 01:10:20,861 INFO L280 TraceCheckUtils]: 26: Hoare triple {1075#false} havoc #t~mem8; {1075#false} is VALID [2020-07-11 01:10:20,862 INFO L280 TraceCheckUtils]: 27: Hoare triple {1075#false} havoc #t~mem10; {1075#false} is VALID [2020-07-11 01:10:20,862 INFO L280 TraceCheckUtils]: 28: Hoare triple {1075#false} havoc #t~short11; {1075#false} is VALID [2020-07-11 01:10:20,863 INFO L280 TraceCheckUtils]: 29: Hoare triple {1075#false} havoc #t~mem7; {1075#false} is VALID [2020-07-11 01:10:20,863 INFO L280 TraceCheckUtils]: 30: Hoare triple {1075#false} havoc #t~short9; {1075#false} is VALID [2020-07-11 01:10:20,863 INFO L280 TraceCheckUtils]: 31: Hoare triple {1075#false} assume !false; {1075#false} is VALID [2020-07-11 01:10:20,865 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-11 01:10:20,866 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1424699328] [2020-07-11 01:10:20,866 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:10:20,866 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-11 01:10:20,866 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [481408941] [2020-07-11 01:10:20,869 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 32 [2020-07-11 01:10:20,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:20,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:10:20,901 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-11 01:10:20,902 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:10:20,902 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:20,902 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:10:20,902 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:10:20,903 INFO L87 Difference]: Start difference. First operand 92 states and 101 transitions. Second operand 7 states. [2020-07-11 01:10:21,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:21,851 INFO L93 Difference]: Finished difference Result 172 states and 190 transitions. [2020-07-11 01:10:21,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-11 01:10:21,851 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 32 [2020-07-11 01:10:21,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:21,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:10:21,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 190 transitions. [2020-07-11 01:10:21,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:10:21,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 190 transitions. [2020-07-11 01:10:21,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 190 transitions. [2020-07-11 01:10:22,070 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-11 01:10:22,077 INFO L225 Difference]: With dead ends: 172 [2020-07-11 01:10:22,078 INFO L226 Difference]: Without dead ends: 112 [2020-07-11 01:10:22,080 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-11 01:10:22,081 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2020-07-11 01:10:22,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 93. [2020-07-11 01:10:22,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:22,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 93 states. [2020-07-11 01:10:22,160 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 93 states. [2020-07-11 01:10:22,160 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 93 states. [2020-07-11 01:10:22,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:22,169 INFO L93 Difference]: Finished difference Result 112 states and 123 transitions. [2020-07-11 01:10:22,169 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-11 01:10:22,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:22,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:22,170 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 112 states. [2020-07-11 01:10:22,171 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 112 states. [2020-07-11 01:10:22,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:22,178 INFO L93 Difference]: Finished difference Result 112 states and 123 transitions. [2020-07-11 01:10:22,178 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-11 01:10:22,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:22,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:22,179 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:22,179 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:22,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2020-07-11 01:10:22,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 102 transitions. [2020-07-11 01:10:22,185 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 102 transitions. Word has length 32 [2020-07-11 01:10:22,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:22,185 INFO L479 AbstractCegarLoop]: Abstraction has 93 states and 102 transitions. [2020-07-11 01:10:22,185 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:10:22,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 93 states and 102 transitions. [2020-07-11 01:10:22,309 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-11 01:10:22,310 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 102 transitions. [2020-07-11 01:10:22,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2020-07-11 01:10:22,311 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:22,312 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-11 01:10:22,312 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-11 01:10:22,312 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:22,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:22,313 INFO L82 PathProgramCache]: Analyzing trace with hash -54471897, now seen corresponding path program 1 times [2020-07-11 01:10:22,313 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:22,313 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1920806246] [2020-07-11 01:10:22,313 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:22,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:22,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:22,431 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-11 01:10:22,431 INFO L280 TraceCheckUtils]: 1: Hoare triple {1857#true} #valid := #valid[0 := 0]; {1857#true} is VALID [2020-07-11 01:10:22,432 INFO L280 TraceCheckUtils]: 2: Hoare triple {1857#true} assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-11 01:10:22,432 INFO L280 TraceCheckUtils]: 3: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-11 01:10:22,432 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1857#true} {1857#true} #188#return; {1857#true} is VALID [2020-07-11 01:10:22,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:22,546 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-11 01:10:22,547 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-11 01:10:22,547 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-11 01:10:22,548 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-11 01:10:22,549 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-11 01:10:22,549 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-11 01:10:22,550 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-11 01:10:22,552 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-11 01:10:22,553 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-11 01:10:22,554 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-11 01:10:22,554 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-11 01:10:22,555 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-11 01:10:22,557 INFO L280 TraceCheckUtils]: 12: 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-11 01:10:22,558 INFO L280 TraceCheckUtils]: 13: 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-11 01:10:22,559 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-11 01:10:22,561 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-11 01:10:22,564 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-11 01:10:22,564 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-11 01:10:22,565 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-11 01:10:22,566 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-11 01:10:22,566 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-11 01:10:22,567 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-11 01:10:22,568 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-11 01:10:22,568 INFO L280 TraceCheckUtils]: 23: Hoare triple {1895#(<= |dll_create_#in~len| 1)} assume true; {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-11 01:10:22,569 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-11 01:10:22,577 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-11 01:10:22,578 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-11 01:10:22,578 INFO L280 TraceCheckUtils]: 2: Hoare triple {1857#true} #valid := #valid[0 := 0]; {1857#true} is VALID [2020-07-11 01:10:22,578 INFO L280 TraceCheckUtils]: 3: Hoare triple {1857#true} assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-11 01:10:22,579 INFO L280 TraceCheckUtils]: 4: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-11 01:10:22,579 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1857#true} {1857#true} #188#return; {1857#true} is VALID [2020-07-11 01:10:22,579 INFO L263 TraceCheckUtils]: 6: Hoare triple {1857#true} call #t~ret20 := main(); {1857#true} is VALID [2020-07-11 01:10:22,586 INFO L280 TraceCheckUtils]: 7: Hoare triple {1857#true} ~len~0 := 5; {1864#(<= 5 main_~len~0)} is VALID [2020-07-11 01:10:22,587 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-11 01:10:22,588 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-11 01:10:22,589 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-11 01:10:22,589 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-11 01:10:22,590 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-11 01:10:22,590 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-11 01:10:22,591 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-11 01:10:22,592 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-11 01:10:22,592 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-11 01:10:22,593 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-11 01:10:22,593 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-11 01:10:22,594 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-11 01:10:22,594 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-11 01:10:22,595 INFO L280 TraceCheckUtils]: 21: 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-11 01:10:22,595 INFO L280 TraceCheckUtils]: 22: 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-11 01:10:22,596 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-11 01:10:22,596 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-11 01:10:22,596 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-11 01:10:22,597 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-11 01:10:22,597 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-11 01:10:22,598 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-11 01:10:22,598 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-11 01:10:22,599 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-11 01:10:22,599 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-11 01:10:22,600 INFO L280 TraceCheckUtils]: 32: Hoare triple {1895#(<= |dll_create_#in~len| 1)} assume true; {1895#(<= |dll_create_#in~len| 1)} is VALID [2020-07-11 01:10:22,601 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-11 01:10:22,601 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-11 01:10:22,601 INFO L280 TraceCheckUtils]: 35: Hoare triple {1858#false} havoc #t~ret6.base, #t~ret6.offset; {1858#false} is VALID [2020-07-11 01:10:22,601 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-11 01:10:22,602 INFO L280 TraceCheckUtils]: 37: Hoare triple {1858#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {1858#false} is VALID [2020-07-11 01:10:22,602 INFO L280 TraceCheckUtils]: 38: Hoare triple {1858#false} havoc #t~mem13.base, #t~mem13.offset; {1858#false} is VALID [2020-07-11 01:10:22,602 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-11 01:10:22,602 INFO L280 TraceCheckUtils]: 40: Hoare triple {1858#false} #t~short9 := 0 != #t~mem7; {1858#false} is VALID [2020-07-11 01:10:22,603 INFO L280 TraceCheckUtils]: 41: Hoare triple {1858#false} assume #t~short9; {1858#false} is VALID [2020-07-11 01:10:22,603 INFO L280 TraceCheckUtils]: 42: Hoare triple {1858#false} #t~short11 := #t~short9; {1858#false} is VALID [2020-07-11 01:10:22,603 INFO L280 TraceCheckUtils]: 43: Hoare triple {1858#false} assume #t~short11; {1858#false} is VALID [2020-07-11 01:10:22,603 INFO L280 TraceCheckUtils]: 44: Hoare triple {1858#false} assume #t~short11; {1858#false} is VALID [2020-07-11 01:10:22,603 INFO L280 TraceCheckUtils]: 45: Hoare triple {1858#false} havoc #t~mem8; {1858#false} is VALID [2020-07-11 01:10:22,604 INFO L280 TraceCheckUtils]: 46: Hoare triple {1858#false} havoc #t~mem10; {1858#false} is VALID [2020-07-11 01:10:22,604 INFO L280 TraceCheckUtils]: 47: Hoare triple {1858#false} havoc #t~short11; {1858#false} is VALID [2020-07-11 01:10:22,604 INFO L280 TraceCheckUtils]: 48: Hoare triple {1858#false} havoc #t~mem7; {1858#false} is VALID [2020-07-11 01:10:22,604 INFO L280 TraceCheckUtils]: 49: Hoare triple {1858#false} havoc #t~short9; {1858#false} is VALID [2020-07-11 01:10:22,605 INFO L280 TraceCheckUtils]: 50: Hoare triple {1858#false} assume !false; {1858#false} is VALID [2020-07-11 01:10:22,609 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:10:22,610 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1920806246] [2020-07-11 01:10:22,610 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:22,610 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-11 01:10:22,611 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [898162275] [2020-07-11 01:10:22,611 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 51 [2020-07-11 01:10:22,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:22,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-11 01:10:22,680 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-11 01:10:22,680 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-11 01:10:22,681 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:22,681 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-11 01:10:22,681 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:10:22,681 INFO L87 Difference]: Start difference. First operand 93 states and 102 transitions. Second operand 9 states. [2020-07-11 01:10:23,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:23,897 INFO L93 Difference]: Finished difference Result 193 states and 213 transitions. [2020-07-11 01:10:23,897 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-11 01:10:23,897 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 51 [2020-07-11 01:10:23,897 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:23,898 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:10:23,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 213 transitions. [2020-07-11 01:10:23,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:10:23,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 213 transitions. [2020-07-11 01:10:23,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 213 transitions. [2020-07-11 01:10:24,134 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-11 01:10:24,137 INFO L225 Difference]: With dead ends: 193 [2020-07-11 01:10:24,137 INFO L226 Difference]: Without dead ends: 133 [2020-07-11 01:10:24,138 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2020-07-11 01:10:24,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2020-07-11 01:10:24,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 114. [2020-07-11 01:10:24,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:24,250 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 114 states. [2020-07-11 01:10:24,250 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 114 states. [2020-07-11 01:10:24,250 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 114 states. [2020-07-11 01:10:24,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:24,255 INFO L93 Difference]: Finished difference Result 133 states and 146 transitions. [2020-07-11 01:10:24,255 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 146 transitions. [2020-07-11 01:10:24,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:24,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:24,256 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 133 states. [2020-07-11 01:10:24,256 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 133 states. [2020-07-11 01:10:24,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:24,261 INFO L93 Difference]: Finished difference Result 133 states and 146 transitions. [2020-07-11 01:10:24,262 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 146 transitions. [2020-07-11 01:10:24,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:24,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:24,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:24,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:24,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2020-07-11 01:10:24,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 125 transitions. [2020-07-11 01:10:24,267 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 125 transitions. Word has length 51 [2020-07-11 01:10:24,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:24,267 INFO L479 AbstractCegarLoop]: Abstraction has 114 states and 125 transitions. [2020-07-11 01:10:24,267 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-11 01:10:24,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 114 states and 125 transitions. [2020-07-11 01:10:24,391 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-11 01:10:24,391 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 125 transitions. [2020-07-11 01:10:24,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-11 01:10:24,393 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:24,393 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-11 01:10:24,393 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-11 01:10:24,394 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:24,394 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:24,394 INFO L82 PathProgramCache]: Analyzing trace with hash -586426640, now seen corresponding path program 2 times [2020-07-11 01:10:24,394 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:24,395 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1854930805] [2020-07-11 01:10:24,395 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:24,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:24,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:24,479 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-11 01:10:24,480 INFO L280 TraceCheckUtils]: 1: Hoare triple {2791#true} #valid := #valid[0 := 0]; {2791#true} is VALID [2020-07-11 01:10:24,480 INFO L280 TraceCheckUtils]: 2: Hoare triple {2791#true} assume 0 < #StackHeapBarrier; {2791#true} is VALID [2020-07-11 01:10:24,481 INFO L280 TraceCheckUtils]: 3: Hoare triple {2791#true} assume true; {2791#true} is VALID [2020-07-11 01:10:24,481 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2791#true} {2791#true} #188#return; {2791#true} is VALID [2020-07-11 01:10:24,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:24,649 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-11 01:10:24,650 INFO L280 TraceCheckUtils]: 1: Hoare triple {2791#true} ~head~0.base, ~head~0.offset := 0, 0; {2791#true} is VALID [2020-07-11 01:10:24,650 INFO L280 TraceCheckUtils]: 2: Hoare triple {2791#true} assume !!(~len > 0); {2791#true} is VALID [2020-07-11 01:10:24,650 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-11 01:10:24,651 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-11 01:10:24,652 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-11 01:10:24,653 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-11 01:10:24,653 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-11 01:10:24,654 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-11 01:10:24,654 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-11 01:10:24,655 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-11 01:10:24,656 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-11 01:10:24,657 INFO L280 TraceCheckUtils]: 12: 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-11 01:10:24,657 INFO L280 TraceCheckUtils]: 13: 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-11 01:10:24,658 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-11 01:10:24,659 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-11 01:10:24,660 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-11 01:10:24,660 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-11 01:10:24,661 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-11 01:10:24,662 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-11 01:10:24,666 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-11 01:10:24,667 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-11 01:10:24,668 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-11 01:10:24,669 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-11 01:10:24,669 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-11 01:10:24,670 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-11 01:10:24,670 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-11 01:10:24,671 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-11 01:10:24,672 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-11 01:10:24,672 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-11 01:10:24,673 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-11 01:10:24,679 INFO L280 TraceCheckUtils]: 31: 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-11 01:10:24,679 INFO L280 TraceCheckUtils]: 32: 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-11 01:10:24,681 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-11 01:10:24,683 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-11 01:10:24,683 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-11 01:10:24,684 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-11 01:10:24,684 INFO L280 TraceCheckUtils]: 37: Hoare triple {2792#false} #t~post5 := ~len; {2792#false} is VALID [2020-07-11 01:10:24,684 INFO L280 TraceCheckUtils]: 38: Hoare triple {2792#false} ~len := #t~post5 - 1; {2792#false} is VALID [2020-07-11 01:10:24,685 INFO L280 TraceCheckUtils]: 39: Hoare triple {2792#false} havoc #t~post5; {2792#false} is VALID [2020-07-11 01:10:24,685 INFO L280 TraceCheckUtils]: 40: Hoare triple {2792#false} assume !(~len > 0); {2792#false} is VALID [2020-07-11 01:10:24,685 INFO L280 TraceCheckUtils]: 41: Hoare triple {2792#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2792#false} is VALID [2020-07-11 01:10:24,686 INFO L280 TraceCheckUtils]: 42: Hoare triple {2792#false} assume true; {2792#false} is VALID [2020-07-11 01:10:24,686 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {2792#false} {2791#true} #184#return; {2792#false} is VALID [2020-07-11 01:10:24,690 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-11 01:10:24,691 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-11 01:10:24,691 INFO L280 TraceCheckUtils]: 2: Hoare triple {2791#true} #valid := #valid[0 := 0]; {2791#true} is VALID [2020-07-11 01:10:24,691 INFO L280 TraceCheckUtils]: 3: Hoare triple {2791#true} assume 0 < #StackHeapBarrier; {2791#true} is VALID [2020-07-11 01:10:24,692 INFO L280 TraceCheckUtils]: 4: Hoare triple {2791#true} assume true; {2791#true} is VALID [2020-07-11 01:10:24,692 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2791#true} {2791#true} #188#return; {2791#true} is VALID [2020-07-11 01:10:24,692 INFO L263 TraceCheckUtils]: 6: Hoare triple {2791#true} call #t~ret20 := main(); {2791#true} is VALID [2020-07-11 01:10:24,692 INFO L280 TraceCheckUtils]: 7: Hoare triple {2791#true} ~len~0 := 5; {2791#true} is VALID [2020-07-11 01:10:24,694 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-11 01:10:24,694 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-11 01:10:24,694 INFO L280 TraceCheckUtils]: 10: Hoare triple {2791#true} ~head~0.base, ~head~0.offset := 0, 0; {2791#true} is VALID [2020-07-11 01:10:24,695 INFO L280 TraceCheckUtils]: 11: Hoare triple {2791#true} assume !!(~len > 0); {2791#true} is VALID [2020-07-11 01:10:24,695 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-11 01:10:24,696 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-11 01:10:24,697 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-11 01:10:24,698 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-11 01:10:24,699 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-11 01:10:24,700 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-11 01:10:24,700 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-11 01:10:24,701 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-11 01:10:24,701 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-11 01:10:24,702 INFO L280 TraceCheckUtils]: 21: 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-11 01:10:24,703 INFO L280 TraceCheckUtils]: 22: 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-11 01:10:24,704 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-11 01:10:24,704 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-11 01:10:24,705 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-11 01:10:24,706 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-11 01:10:24,706 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-11 01:10:24,707 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-11 01:10:24,708 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-11 01:10:24,708 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-11 01:10:24,709 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-11 01:10:24,709 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-11 01:10:24,710 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-11 01:10:24,711 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-11 01:10:24,712 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-11 01:10:24,713 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-11 01:10:24,715 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-11 01:10:24,717 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-11 01:10:24,721 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-11 01:10:24,723 INFO L280 TraceCheckUtils]: 40: 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-11 01:10:24,724 INFO L280 TraceCheckUtils]: 41: 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-11 01:10:24,724 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-11 01:10:24,725 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-11 01:10:24,725 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-11 01:10:24,725 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-11 01:10:24,726 INFO L280 TraceCheckUtils]: 46: Hoare triple {2792#false} #t~post5 := ~len; {2792#false} is VALID [2020-07-11 01:10:24,726 INFO L280 TraceCheckUtils]: 47: Hoare triple {2792#false} ~len := #t~post5 - 1; {2792#false} is VALID [2020-07-11 01:10:24,726 INFO L280 TraceCheckUtils]: 48: Hoare triple {2792#false} havoc #t~post5; {2792#false} is VALID [2020-07-11 01:10:24,726 INFO L280 TraceCheckUtils]: 49: Hoare triple {2792#false} assume !(~len > 0); {2792#false} is VALID [2020-07-11 01:10:24,726 INFO L280 TraceCheckUtils]: 50: Hoare triple {2792#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2792#false} is VALID [2020-07-11 01:10:24,727 INFO L280 TraceCheckUtils]: 51: Hoare triple {2792#false} assume true; {2792#false} is VALID [2020-07-11 01:10:24,727 INFO L275 TraceCheckUtils]: 52: Hoare quadruple {2792#false} {2791#true} #184#return; {2792#false} is VALID [2020-07-11 01:10:24,727 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-11 01:10:24,727 INFO L280 TraceCheckUtils]: 54: Hoare triple {2792#false} havoc #t~ret6.base, #t~ret6.offset; {2792#false} is VALID [2020-07-11 01:10:24,728 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-11 01:10:24,728 INFO L280 TraceCheckUtils]: 56: Hoare triple {2792#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {2792#false} is VALID [2020-07-11 01:10:24,728 INFO L280 TraceCheckUtils]: 57: Hoare triple {2792#false} havoc #t~mem13.base, #t~mem13.offset; {2792#false} is VALID [2020-07-11 01:10:24,728 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-11 01:10:24,728 INFO L280 TraceCheckUtils]: 59: Hoare triple {2792#false} #t~short9 := 0 != #t~mem7; {2792#false} is VALID [2020-07-11 01:10:24,729 INFO L280 TraceCheckUtils]: 60: Hoare triple {2792#false} assume #t~short9; {2792#false} is VALID [2020-07-11 01:10:24,729 INFO L280 TraceCheckUtils]: 61: Hoare triple {2792#false} #t~short11 := #t~short9; {2792#false} is VALID [2020-07-11 01:10:24,729 INFO L280 TraceCheckUtils]: 62: Hoare triple {2792#false} assume #t~short11; {2792#false} is VALID [2020-07-11 01:10:24,729 INFO L280 TraceCheckUtils]: 63: Hoare triple {2792#false} assume #t~short11; {2792#false} is VALID [2020-07-11 01:10:24,730 INFO L280 TraceCheckUtils]: 64: Hoare triple {2792#false} havoc #t~mem8; {2792#false} is VALID [2020-07-11 01:10:24,730 INFO L280 TraceCheckUtils]: 65: Hoare triple {2792#false} havoc #t~mem10; {2792#false} is VALID [2020-07-11 01:10:24,730 INFO L280 TraceCheckUtils]: 66: Hoare triple {2792#false} havoc #t~short11; {2792#false} is VALID [2020-07-11 01:10:24,730 INFO L280 TraceCheckUtils]: 67: Hoare triple {2792#false} havoc #t~mem7; {2792#false} is VALID [2020-07-11 01:10:24,730 INFO L280 TraceCheckUtils]: 68: Hoare triple {2792#false} havoc #t~short9; {2792#false} is VALID [2020-07-11 01:10:24,731 INFO L280 TraceCheckUtils]: 69: Hoare triple {2792#false} assume !false; {2792#false} is VALID [2020-07-11 01:10:24,738 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 8 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:10:24,739 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1854930805] [2020-07-11 01:10:24,739 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:24,739 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2020-07-11 01:10:24,740 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [392329485] [2020-07-11 01:10:24,740 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 70 [2020-07-11 01:10:24,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:24,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:10:24,813 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-11 01:10:24,813 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:10:24,813 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:24,814 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:10:24,814 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:10:24,814 INFO L87 Difference]: Start difference. First operand 114 states and 125 transitions. Second operand 7 states. [2020-07-11 01:10:25,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:25,745 INFO L93 Difference]: Finished difference Result 195 states and 215 transitions. [2020-07-11 01:10:25,746 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-11 01:10:25,746 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 70 [2020-07-11 01:10:25,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:25,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:10:25,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 211 transitions. [2020-07-11 01:10:25,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:10:25,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 211 transitions. [2020-07-11 01:10:25,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 211 transitions. [2020-07-11 01:10:26,004 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-11 01:10:26,008 INFO L225 Difference]: With dead ends: 195 [2020-07-11 01:10:26,008 INFO L226 Difference]: Without dead ends: 114 [2020-07-11 01:10:26,010 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=65, Unknown=0, NotChecked=0, Total=90 [2020-07-11 01:10:26,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2020-07-11 01:10:26,220 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 114. [2020-07-11 01:10:26,220 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:26,220 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand 114 states. [2020-07-11 01:10:26,220 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 114 states. [2020-07-11 01:10:26,221 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 114 states. [2020-07-11 01:10:26,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:26,230 INFO L93 Difference]: Finished difference Result 114 states and 124 transitions. [2020-07-11 01:10:26,230 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2020-07-11 01:10:26,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:26,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:26,231 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 114 states. [2020-07-11 01:10:26,231 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 114 states. [2020-07-11 01:10:26,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:26,236 INFO L93 Difference]: Finished difference Result 114 states and 124 transitions. [2020-07-11 01:10:26,236 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2020-07-11 01:10:26,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:26,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:26,237 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:26,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:26,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2020-07-11 01:10:26,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 124 transitions. [2020-07-11 01:10:26,241 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 124 transitions. Word has length 70 [2020-07-11 01:10:26,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:26,241 INFO L479 AbstractCegarLoop]: Abstraction has 114 states and 124 transitions. [2020-07-11 01:10:26,241 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:10:26,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 114 states and 124 transitions. [2020-07-11 01:10:26,403 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-11 01:10:26,403 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 124 transitions. [2020-07-11 01:10:26,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-11 01:10:26,406 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:26,406 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-11 01:10:26,406 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-11 01:10:26,406 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:26,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:26,407 INFO L82 PathProgramCache]: Analyzing trace with hash -1356086606, now seen corresponding path program 1 times [2020-07-11 01:10:26,408 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:26,409 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [857665605] [2020-07-11 01:10:26,409 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:26,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:26,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:26,547 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-11 01:10:26,547 INFO L280 TraceCheckUtils]: 1: Hoare triple {3703#true} #valid := #valid[0 := 0]; {3703#true} is VALID [2020-07-11 01:10:26,547 INFO L280 TraceCheckUtils]: 2: Hoare triple {3703#true} assume 0 < #StackHeapBarrier; {3703#true} is VALID [2020-07-11 01:10:26,547 INFO L280 TraceCheckUtils]: 3: Hoare triple {3703#true} assume true; {3703#true} is VALID [2020-07-11 01:10:26,548 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3703#true} {3703#true} #188#return; {3703#true} is VALID [2020-07-11 01:10:26,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:26,725 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-11 01:10:26,726 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-11 01:10:26,727 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-11 01:10:26,728 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-11 01:10:26,728 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-11 01:10:26,728 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-11 01:10:26,729 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-11 01:10:26,729 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-11 01:10:26,730 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-11 01:10:26,730 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-11 01:10:26,730 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-11 01:10:26,731 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-11 01:10:26,731 INFO L280 TraceCheckUtils]: 12: 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-11 01:10:26,732 INFO L280 TraceCheckUtils]: 13: 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-11 01:10:26,732 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-11 01:10:26,732 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-11 01:10:26,735 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-11 01:10:26,735 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-11 01:10:26,736 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-11 01:10:26,737 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-11 01:10:26,738 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-11 01:10:26,739 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-11 01:10:26,741 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-11 01:10:26,743 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-11 01:10:26,746 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-11 01:10:26,747 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-11 01:10:26,747 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-11 01:10:26,748 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-11 01:10:26,748 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-11 01:10:26,749 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-11 01:10:26,749 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-11 01:10:26,750 INFO L280 TraceCheckUtils]: 31: 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-11 01:10:26,751 INFO L280 TraceCheckUtils]: 32: 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-11 01:10:26,751 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-11 01:10:26,752 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-11 01:10:26,752 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-11 01:10:26,753 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-11 01:10:26,753 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-11 01:10:26,754 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-11 01:10:26,755 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-11 01:10:26,756 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-11 01:10:26,757 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-11 01:10:26,757 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-11 01:10:26,758 INFO L280 TraceCheckUtils]: 43: Hoare triple {3763#(<= |dll_create_#in~len| 2)} assume true; {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-11 01:10:26,759 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-11 01:10:26,763 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-11 01:10:26,763 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-11 01:10:26,763 INFO L280 TraceCheckUtils]: 2: Hoare triple {3703#true} #valid := #valid[0 := 0]; {3703#true} is VALID [2020-07-11 01:10:26,764 INFO L280 TraceCheckUtils]: 3: Hoare triple {3703#true} assume 0 < #StackHeapBarrier; {3703#true} is VALID [2020-07-11 01:10:26,764 INFO L280 TraceCheckUtils]: 4: Hoare triple {3703#true} assume true; {3703#true} is VALID [2020-07-11 01:10:26,764 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3703#true} {3703#true} #188#return; {3703#true} is VALID [2020-07-11 01:10:26,764 INFO L263 TraceCheckUtils]: 6: Hoare triple {3703#true} call #t~ret20 := main(); {3703#true} is VALID [2020-07-11 01:10:26,765 INFO L280 TraceCheckUtils]: 7: Hoare triple {3703#true} ~len~0 := 5; {3710#(<= 5 main_~len~0)} is VALID [2020-07-11 01:10:26,766 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-11 01:10:26,767 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-11 01:10:26,767 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-11 01:10:26,768 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-11 01:10:26,768 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-11 01:10:26,769 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-11 01:10:26,769 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-11 01:10:26,770 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-11 01:10:26,770 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-11 01:10:26,771 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-11 01:10:26,771 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-11 01:10:26,772 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-11 01:10:26,773 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-11 01:10:26,774 INFO L280 TraceCheckUtils]: 21: 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-11 01:10:26,774 INFO L280 TraceCheckUtils]: 22: 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-11 01:10:26,775 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-11 01:10:26,775 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-11 01:10:26,776 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-11 01:10:26,776 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-11 01:10:26,777 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-11 01:10:26,778 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-11 01:10:26,778 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-11 01:10:26,779 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-11 01:10:26,779 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-11 01:10:26,780 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-11 01:10:26,780 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-11 01:10:26,781 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-11 01:10:26,782 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-11 01:10:26,782 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-11 01:10:26,783 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-11 01:10:26,783 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-11 01:10:26,784 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-11 01:10:26,784 INFO L280 TraceCheckUtils]: 40: 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-11 01:10:26,785 INFO L280 TraceCheckUtils]: 41: 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-11 01:10:26,785 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-11 01:10:26,786 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-11 01:10:26,786 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-11 01:10:26,787 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-11 01:10:26,787 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-11 01:10:26,788 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-11 01:10:26,789 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-11 01:10:26,790 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-11 01:10:26,790 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-11 01:10:26,791 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-11 01:10:26,792 INFO L280 TraceCheckUtils]: 52: Hoare triple {3763#(<= |dll_create_#in~len| 2)} assume true; {3763#(<= |dll_create_#in~len| 2)} is VALID [2020-07-11 01:10:26,793 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-11 01:10:26,793 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-11 01:10:26,793 INFO L280 TraceCheckUtils]: 55: Hoare triple {3704#false} havoc #t~ret6.base, #t~ret6.offset; {3704#false} is VALID [2020-07-11 01:10:26,793 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-11 01:10:26,793 INFO L280 TraceCheckUtils]: 57: Hoare triple {3704#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {3704#false} is VALID [2020-07-11 01:10:26,794 INFO L280 TraceCheckUtils]: 58: Hoare triple {3704#false} havoc #t~mem13.base, #t~mem13.offset; {3704#false} is VALID [2020-07-11 01:10:26,794 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-11 01:10:26,794 INFO L280 TraceCheckUtils]: 60: Hoare triple {3704#false} #t~short9 := 0 != #t~mem7; {3704#false} is VALID [2020-07-11 01:10:26,794 INFO L280 TraceCheckUtils]: 61: Hoare triple {3704#false} assume #t~short9; {3704#false} is VALID [2020-07-11 01:10:26,794 INFO L280 TraceCheckUtils]: 62: Hoare triple {3704#false} #t~short11 := #t~short9; {3704#false} is VALID [2020-07-11 01:10:26,795 INFO L280 TraceCheckUtils]: 63: Hoare triple {3704#false} assume #t~short11; {3704#false} is VALID [2020-07-11 01:10:26,795 INFO L280 TraceCheckUtils]: 64: Hoare triple {3704#false} assume #t~short11; {3704#false} is VALID [2020-07-11 01:10:26,795 INFO L280 TraceCheckUtils]: 65: Hoare triple {3704#false} havoc #t~mem8; {3704#false} is VALID [2020-07-11 01:10:26,795 INFO L280 TraceCheckUtils]: 66: Hoare triple {3704#false} havoc #t~mem10; {3704#false} is VALID [2020-07-11 01:10:26,795 INFO L280 TraceCheckUtils]: 67: Hoare triple {3704#false} havoc #t~short11; {3704#false} is VALID [2020-07-11 01:10:26,795 INFO L280 TraceCheckUtils]: 68: Hoare triple {3704#false} havoc #t~mem7; {3704#false} is VALID [2020-07-11 01:10:26,796 INFO L280 TraceCheckUtils]: 69: Hoare triple {3704#false} havoc #t~short9; {3704#false} is VALID [2020-07-11 01:10:26,796 INFO L280 TraceCheckUtils]: 70: Hoare triple {3704#false} assume !false; {3704#false} is VALID [2020-07-11 01:10:26,802 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:10:26,802 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [857665605] [2020-07-11 01:10:26,802 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:26,802 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2020-07-11 01:10:26,803 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [40736766] [2020-07-11 01:10:26,803 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 71 [2020-07-11 01:10:26,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:26,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-11 01:10:26,886 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-11 01:10:26,886 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-11 01:10:26,886 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:26,887 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-11 01:10:26,887 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2020-07-11 01:10:26,887 INFO L87 Difference]: Start difference. First operand 114 states and 124 transitions. Second operand 11 states. [2020-07-11 01:10:28,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:28,162 INFO L93 Difference]: Finished difference Result 214 states and 233 transitions. [2020-07-11 01:10:28,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-11 01:10:28,162 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 71 [2020-07-11 01:10:28,162 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:28,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-11 01:10:28,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 233 transitions. [2020-07-11 01:10:28,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-11 01:10:28,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 233 transitions. [2020-07-11 01:10:28,171 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 233 transitions. [2020-07-11 01:10:28,432 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-11 01:10:28,436 INFO L225 Difference]: With dead ends: 214 [2020-07-11 01:10:28,436 INFO L226 Difference]: Without dead ends: 154 [2020-07-11 01:10:28,437 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-11 01:10:28,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2020-07-11 01:10:28,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 135. [2020-07-11 01:10:28,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:28,675 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand 135 states. [2020-07-11 01:10:28,675 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand 135 states. [2020-07-11 01:10:28,675 INFO L87 Difference]: Start difference. First operand 154 states. Second operand 135 states. [2020-07-11 01:10:28,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:28,680 INFO L93 Difference]: Finished difference Result 154 states and 166 transitions. [2020-07-11 01:10:28,680 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 166 transitions. [2020-07-11 01:10:28,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:28,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:28,681 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 154 states. [2020-07-11 01:10:28,681 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 154 states. [2020-07-11 01:10:28,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:28,686 INFO L93 Difference]: Finished difference Result 154 states and 166 transitions. [2020-07-11 01:10:28,686 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 166 transitions. [2020-07-11 01:10:28,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:28,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:28,687 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:28,687 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:28,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 135 states. [2020-07-11 01:10:28,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 146 transitions. [2020-07-11 01:10:28,691 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 146 transitions. Word has length 71 [2020-07-11 01:10:28,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:28,692 INFO L479 AbstractCegarLoop]: Abstraction has 135 states and 146 transitions. [2020-07-11 01:10:28,692 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-11 01:10:28,692 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 135 states and 146 transitions. [2020-07-11 01:10:28,885 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-11 01:10:28,885 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 146 transitions. [2020-07-11 01:10:28,886 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2020-07-11 01:10:28,886 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:28,887 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-11 01:10:28,887 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-11 01:10:28,887 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:28,887 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:28,888 INFO L82 PathProgramCache]: Analyzing trace with hash -1395228995, now seen corresponding path program 2 times [2020-07-11 01:10:28,888 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:28,888 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [892032021] [2020-07-11 01:10:28,889 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:28,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:29,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:29,023 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-11 01:10:29,023 INFO L280 TraceCheckUtils]: 1: Hoare triple {4789#true} #valid := #valid[0 := 0]; {4789#true} is VALID [2020-07-11 01:10:29,024 INFO L280 TraceCheckUtils]: 2: Hoare triple {4789#true} assume 0 < #StackHeapBarrier; {4789#true} is VALID [2020-07-11 01:10:29,024 INFO L280 TraceCheckUtils]: 3: Hoare triple {4789#true} assume true; {4789#true} is VALID [2020-07-11 01:10:29,024 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4789#true} {4789#true} #188#return; {4789#true} is VALID [2020-07-11 01:10:29,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:29,262 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-11 01:10:29,263 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-11 01:10:29,264 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-11 01:10:29,265 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-11 01:10:29,265 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-11 01:10:29,266 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-11 01:10:29,267 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-11 01:10:29,268 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-11 01:10:29,268 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-11 01:10:29,269 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-11 01:10:29,270 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-11 01:10:29,270 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-11 01:10:29,271 INFO L280 TraceCheckUtils]: 12: 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-11 01:10:29,272 INFO L280 TraceCheckUtils]: 13: 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-11 01:10:29,272 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-11 01:10:29,273 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-11 01:10:29,274 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-11 01:10:29,274 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-11 01:10:29,275 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-11 01:10:29,276 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-11 01:10:29,277 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-11 01:10:29,277 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-11 01:10:29,278 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-11 01:10:29,279 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-11 01:10:29,280 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-11 01:10:29,280 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-11 01:10:29,281 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-11 01:10:29,281 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-11 01:10:29,282 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-11 01:10:29,283 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-11 01:10:29,283 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-11 01:10:29,284 INFO L280 TraceCheckUtils]: 31: 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-11 01:10:29,285 INFO L280 TraceCheckUtils]: 32: 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-11 01:10:29,285 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-11 01:10:29,286 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-11 01:10:29,286 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-11 01:10:29,287 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-11 01:10:29,288 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-11 01:10:29,288 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-11 01:10:29,289 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-11 01:10:29,290 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-11 01:10:29,291 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-11 01:10:29,291 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-11 01:10:29,292 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-11 01:10:29,293 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-11 01:10:29,294 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-11 01:10:29,294 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-11 01:10:29,295 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-11 01:10:29,296 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-11 01:10:29,296 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-11 01:10:29,297 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-11 01:10:29,298 INFO L280 TraceCheckUtils]: 51: 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-11 01:10:29,298 INFO L280 TraceCheckUtils]: 52: 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-11 01:10:29,299 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-11 01:10:29,300 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-11 01:10:29,300 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-11 01:10:29,301 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-11 01:10:29,302 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-11 01:10:29,303 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-11 01:10:29,304 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-11 01:10:29,304 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-11 01:10:29,305 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-11 01:10:29,306 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-11 01:10:29,306 INFO L280 TraceCheckUtils]: 63: Hoare triple {4871#(<= |dll_create_#in~len| 3)} assume true; {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-11 01:10:29,308 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-11 01:10:29,348 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-11 01:10:29,349 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-11 01:10:29,349 INFO L280 TraceCheckUtils]: 2: Hoare triple {4789#true} #valid := #valid[0 := 0]; {4789#true} is VALID [2020-07-11 01:10:29,349 INFO L280 TraceCheckUtils]: 3: Hoare triple {4789#true} assume 0 < #StackHeapBarrier; {4789#true} is VALID [2020-07-11 01:10:29,349 INFO L280 TraceCheckUtils]: 4: Hoare triple {4789#true} assume true; {4789#true} is VALID [2020-07-11 01:10:29,350 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4789#true} {4789#true} #188#return; {4789#true} is VALID [2020-07-11 01:10:29,350 INFO L263 TraceCheckUtils]: 6: Hoare triple {4789#true} call #t~ret20 := main(); {4789#true} is VALID [2020-07-11 01:10:29,351 INFO L280 TraceCheckUtils]: 7: Hoare triple {4789#true} ~len~0 := 5; {4796#(<= 5 main_~len~0)} is VALID [2020-07-11 01:10:29,352 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-11 01:10:29,352 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-11 01:10:29,353 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-11 01:10:29,353 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-11 01:10:29,354 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-11 01:10:29,354 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-11 01:10:29,355 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-11 01:10:29,355 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-11 01:10:29,356 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-11 01:10:29,356 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-11 01:10:29,357 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-11 01:10:29,357 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-11 01:10:29,358 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-11 01:10:29,358 INFO L280 TraceCheckUtils]: 21: 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-11 01:10:29,359 INFO L280 TraceCheckUtils]: 22: 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-11 01:10:29,359 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-11 01:10:29,360 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-11 01:10:29,360 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-11 01:10:29,361 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-11 01:10:29,362 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-11 01:10:29,363 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-11 01:10:29,363 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-11 01:10:29,364 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-11 01:10:29,364 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-11 01:10:29,365 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-11 01:10:29,365 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-11 01:10:29,366 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-11 01:10:29,380 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-11 01:10:29,381 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-11 01:10:29,381 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-11 01:10:29,382 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-11 01:10:29,382 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-11 01:10:29,383 INFO L280 TraceCheckUtils]: 40: 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-11 01:10:29,384 INFO L280 TraceCheckUtils]: 41: 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-11 01:10:29,384 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-11 01:10:29,385 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-11 01:10:29,385 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-11 01:10:29,386 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-11 01:10:29,386 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-11 01:10:29,387 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-11 01:10:29,388 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-11 01:10:29,388 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-11 01:10:29,389 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-11 01:10:29,389 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-11 01:10:29,390 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-11 01:10:29,391 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-11 01:10:29,391 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-11 01:10:29,392 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-11 01:10:29,392 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-11 01:10:29,393 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-11 01:10:29,393 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-11 01:10:29,394 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-11 01:10:29,394 INFO L280 TraceCheckUtils]: 60: 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-11 01:10:29,395 INFO L280 TraceCheckUtils]: 61: 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-11 01:10:29,395 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-11 01:10:29,396 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-11 01:10:29,397 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-11 01:10:29,397 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-11 01:10:29,398 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-11 01:10:29,398 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-11 01:10:29,399 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-11 01:10:29,400 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-11 01:10:29,400 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-11 01:10:29,401 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-11 01:10:29,402 INFO L280 TraceCheckUtils]: 72: Hoare triple {4871#(<= |dll_create_#in~len| 3)} assume true; {4871#(<= |dll_create_#in~len| 3)} is VALID [2020-07-11 01:10:29,403 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-11 01:10:29,403 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-11 01:10:29,403 INFO L280 TraceCheckUtils]: 75: Hoare triple {4790#false} havoc #t~ret6.base, #t~ret6.offset; {4790#false} is VALID [2020-07-11 01:10:29,403 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-11 01:10:29,404 INFO L280 TraceCheckUtils]: 77: Hoare triple {4790#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {4790#false} is VALID [2020-07-11 01:10:29,404 INFO L280 TraceCheckUtils]: 78: Hoare triple {4790#false} havoc #t~mem13.base, #t~mem13.offset; {4790#false} is VALID [2020-07-11 01:10:29,404 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-11 01:10:29,404 INFO L280 TraceCheckUtils]: 80: Hoare triple {4790#false} #t~short9 := 0 != #t~mem7; {4790#false} is VALID [2020-07-11 01:10:29,405 INFO L280 TraceCheckUtils]: 81: Hoare triple {4790#false} assume #t~short9; {4790#false} is VALID [2020-07-11 01:10:29,405 INFO L280 TraceCheckUtils]: 82: Hoare triple {4790#false} #t~short11 := #t~short9; {4790#false} is VALID [2020-07-11 01:10:29,405 INFO L280 TraceCheckUtils]: 83: Hoare triple {4790#false} assume #t~short11; {4790#false} is VALID [2020-07-11 01:10:29,405 INFO L280 TraceCheckUtils]: 84: Hoare triple {4790#false} assume #t~short11; {4790#false} is VALID [2020-07-11 01:10:29,405 INFO L280 TraceCheckUtils]: 85: Hoare triple {4790#false} havoc #t~mem8; {4790#false} is VALID [2020-07-11 01:10:29,405 INFO L280 TraceCheckUtils]: 86: Hoare triple {4790#false} havoc #t~mem10; {4790#false} is VALID [2020-07-11 01:10:29,406 INFO L280 TraceCheckUtils]: 87: Hoare triple {4790#false} havoc #t~short11; {4790#false} is VALID [2020-07-11 01:10:29,406 INFO L280 TraceCheckUtils]: 88: Hoare triple {4790#false} havoc #t~mem7; {4790#false} is VALID [2020-07-11 01:10:29,406 INFO L280 TraceCheckUtils]: 89: Hoare triple {4790#false} havoc #t~short9; {4790#false} is VALID [2020-07-11 01:10:29,406 INFO L280 TraceCheckUtils]: 90: Hoare triple {4790#false} assume !false; {4790#false} is VALID [2020-07-11 01:10:29,416 INFO L134 CoverageAnalysis]: Checked inductivity of 61 backedges. 0 proven. 61 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:10:29,416 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [892032021] [2020-07-11 01:10:29,417 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:29,418 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2020-07-11 01:10:29,418 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1910221640] [2020-07-11 01:10:29,419 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 91 [2020-07-11 01:10:29,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:29,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-11 01:10:29,518 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-11 01:10:29,519 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-11 01:10:29,519 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:29,519 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-11 01:10:29,519 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2020-07-11 01:10:29,520 INFO L87 Difference]: Start difference. First operand 135 states and 146 transitions. Second operand 13 states. [2020-07-11 01:10:31,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:31,315 INFO L93 Difference]: Finished difference Result 235 states and 255 transitions. [2020-07-11 01:10:31,315 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-11 01:10:31,315 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 91 [2020-07-11 01:10:31,316 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:31,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-11 01:10:31,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 255 transitions. [2020-07-11 01:10:31,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-11 01:10:31,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 255 transitions. [2020-07-11 01:10:31,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 255 transitions. [2020-07-11 01:10:31,595 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-11 01:10:31,599 INFO L225 Difference]: With dead ends: 235 [2020-07-11 01:10:31,599 INFO L226 Difference]: Without dead ends: 175 [2020-07-11 01:10:31,602 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-11 01:10:31,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 175 states. [2020-07-11 01:10:31,862 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 175 to 156. [2020-07-11 01:10:31,863 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:31,863 INFO L82 GeneralOperation]: Start isEquivalent. First operand 175 states. Second operand 156 states. [2020-07-11 01:10:31,863 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand 156 states. [2020-07-11 01:10:31,863 INFO L87 Difference]: Start difference. First operand 175 states. Second operand 156 states. [2020-07-11 01:10:31,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:31,869 INFO L93 Difference]: Finished difference Result 175 states and 188 transitions. [2020-07-11 01:10:31,869 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 188 transitions. [2020-07-11 01:10:31,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:31,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:31,870 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 175 states. [2020-07-11 01:10:31,870 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 175 states. [2020-07-11 01:10:31,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:31,876 INFO L93 Difference]: Finished difference Result 175 states and 188 transitions. [2020-07-11 01:10:31,876 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 188 transitions. [2020-07-11 01:10:31,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:31,877 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:31,877 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:31,877 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:31,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 156 states. [2020-07-11 01:10:31,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 168 transitions. [2020-07-11 01:10:31,882 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 168 transitions. Word has length 91 [2020-07-11 01:10:31,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:31,882 INFO L479 AbstractCegarLoop]: Abstraction has 156 states and 168 transitions. [2020-07-11 01:10:31,883 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-11 01:10:31,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 156 states and 168 transitions. [2020-07-11 01:10:32,108 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-11 01:10:32,108 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 168 transitions. [2020-07-11 01:10:32,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2020-07-11 01:10:32,110 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:32,110 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-11 01:10:32,111 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-11 01:10:32,111 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:32,111 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:32,111 INFO L82 PathProgramCache]: Analyzing trace with hash 274581320, now seen corresponding path program 3 times [2020-07-11 01:10:32,112 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:32,112 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1594189594] [2020-07-11 01:10:32,112 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:32,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:32,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:32,245 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-11 01:10:32,245 INFO L280 TraceCheckUtils]: 1: Hoare triple {6027#true} #valid := #valid[0 := 0]; {6027#true} is VALID [2020-07-11 01:10:32,245 INFO L280 TraceCheckUtils]: 2: Hoare triple {6027#true} assume 0 < #StackHeapBarrier; {6027#true} is VALID [2020-07-11 01:10:32,245 INFO L280 TraceCheckUtils]: 3: Hoare triple {6027#true} assume true; {6027#true} is VALID [2020-07-11 01:10:32,246 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6027#true} {6027#true} #188#return; {6027#true} is VALID [2020-07-11 01:10:32,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:32,579 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-11 01:10:32,580 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-11 01:10:32,581 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-11 01:10:32,582 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-11 01:10:32,583 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-11 01:10:32,584 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-11 01:10:32,585 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-11 01:10:32,585 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-11 01:10:32,586 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-11 01:10:32,587 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-11 01:10:32,587 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-11 01:10:32,588 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-11 01:10:32,589 INFO L280 TraceCheckUtils]: 12: 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-11 01:10:32,590 INFO L280 TraceCheckUtils]: 13: 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-11 01:10:32,591 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-11 01:10:32,591 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-11 01:10:32,592 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-11 01:10:32,593 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-11 01:10:32,593 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-11 01:10:32,595 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-11 01:10:32,595 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-11 01:10:32,596 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-11 01:10:32,597 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-11 01:10:32,598 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-11 01:10:32,598 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-11 01:10:32,599 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-11 01:10:32,600 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-11 01:10:32,601 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-11 01:10:32,601 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-11 01:10:32,602 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-11 01:10:32,602 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-11 01:10:32,603 INFO L280 TraceCheckUtils]: 31: 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-11 01:10:32,604 INFO L280 TraceCheckUtils]: 32: 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-11 01:10:32,604 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-11 01:10:32,605 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-11 01:10:32,606 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-11 01:10:32,606 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-11 01:10:32,607 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-11 01:10:32,607 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-11 01:10:32,608 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-11 01:10:32,609 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-11 01:10:32,609 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-11 01:10:32,610 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-11 01:10:32,610 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-11 01:10:32,611 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-11 01:10:32,611 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-11 01:10:32,612 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-11 01:10:32,612 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-11 01:10:32,613 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-11 01:10:32,613 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-11 01:10:32,614 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-11 01:10:32,614 INFO L280 TraceCheckUtils]: 51: 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-11 01:10:32,615 INFO L280 TraceCheckUtils]: 52: 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-11 01:10:32,615 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-11 01:10:32,616 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-11 01:10:32,616 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-11 01:10:32,617 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-11 01:10:32,617 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-11 01:10:32,618 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-11 01:10:32,619 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-11 01:10:32,620 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-11 01:10:32,621 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-11 01:10:32,622 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-11 01:10:32,622 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-11 01:10:32,623 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-11 01:10:32,624 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-11 01:10:32,625 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-11 01:10:32,625 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-11 01:10:32,626 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-11 01:10:32,627 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-11 01:10:32,628 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-11 01:10:32,629 INFO L280 TraceCheckUtils]: 71: 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-11 01:10:32,629 INFO L280 TraceCheckUtils]: 72: 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-11 01:10:32,630 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-11 01:10:32,631 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-11 01:10:32,632 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-11 01:10:32,632 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-11 01:10:32,633 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-11 01:10:32,634 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-11 01:10:32,635 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-11 01:10:32,637 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-11 01:10:32,638 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-11 01:10:32,638 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-11 01:10:32,639 INFO L280 TraceCheckUtils]: 83: Hoare triple {6131#(<= |dll_create_#in~len| 4)} assume true; {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-11 01:10:32,641 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-11 01:10:32,664 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-11 01:10:32,665 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-11 01:10:32,665 INFO L280 TraceCheckUtils]: 2: Hoare triple {6027#true} #valid := #valid[0 := 0]; {6027#true} is VALID [2020-07-11 01:10:32,665 INFO L280 TraceCheckUtils]: 3: Hoare triple {6027#true} assume 0 < #StackHeapBarrier; {6027#true} is VALID [2020-07-11 01:10:32,666 INFO L280 TraceCheckUtils]: 4: Hoare triple {6027#true} assume true; {6027#true} is VALID [2020-07-11 01:10:32,666 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {6027#true} {6027#true} #188#return; {6027#true} is VALID [2020-07-11 01:10:32,666 INFO L263 TraceCheckUtils]: 6: Hoare triple {6027#true} call #t~ret20 := main(); {6027#true} is VALID [2020-07-11 01:10:32,667 INFO L280 TraceCheckUtils]: 7: Hoare triple {6027#true} ~len~0 := 5; {6034#(<= 5 main_~len~0)} is VALID [2020-07-11 01:10:32,669 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-11 01:10:32,670 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-11 01:10:32,670 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-11 01:10:32,671 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-11 01:10:32,672 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-11 01:10:32,672 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-11 01:10:32,673 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-11 01:10:32,674 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-11 01:10:32,674 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-11 01:10:32,675 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-11 01:10:32,676 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-11 01:10:32,677 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-11 01:10:32,677 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-11 01:10:32,678 INFO L280 TraceCheckUtils]: 21: 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-11 01:10:32,679 INFO L280 TraceCheckUtils]: 22: 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-11 01:10:32,680 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-11 01:10:32,680 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-11 01:10:32,681 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-11 01:10:32,682 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-11 01:10:32,683 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-11 01:10:32,684 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-11 01:10:32,685 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-11 01:10:32,685 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-11 01:10:32,686 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-11 01:10:32,687 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-11 01:10:32,687 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-11 01:10:32,688 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-11 01:10:32,689 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-11 01:10:32,690 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-11 01:10:32,690 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-11 01:10:32,691 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-11 01:10:32,692 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-11 01:10:32,692 INFO L280 TraceCheckUtils]: 40: 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-11 01:10:32,693 INFO L280 TraceCheckUtils]: 41: 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-11 01:10:32,694 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-11 01:10:32,695 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-11 01:10:32,695 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-11 01:10:32,696 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-11 01:10:32,697 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-11 01:10:32,698 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-11 01:10:32,699 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-11 01:10:32,701 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-11 01:10:32,701 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-11 01:10:32,703 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-11 01:10:32,703 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-11 01:10:32,704 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-11 01:10:32,705 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-11 01:10:32,705 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-11 01:10:32,707 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-11 01:10:32,707 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-11 01:10:32,708 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-11 01:10:32,709 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-11 01:10:32,709 INFO L280 TraceCheckUtils]: 60: 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-11 01:10:32,710 INFO L280 TraceCheckUtils]: 61: 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-11 01:10:32,711 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-11 01:10:32,712 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-11 01:10:32,712 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-11 01:10:32,713 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-11 01:10:32,714 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-11 01:10:32,715 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-11 01:10:32,717 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-11 01:10:32,718 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-11 01:10:32,718 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-11 01:10:32,719 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-11 01:10:32,720 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-11 01:10:32,721 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-11 01:10:32,721 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-11 01:10:32,722 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-11 01:10:32,723 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-11 01:10:32,723 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-11 01:10:32,724 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-11 01:10:32,725 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-11 01:10:32,725 INFO L280 TraceCheckUtils]: 80: 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-11 01:10:32,726 INFO L280 TraceCheckUtils]: 81: 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-11 01:10:32,727 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-11 01:10:32,728 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-11 01:10:32,729 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-11 01:10:32,730 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-11 01:10:32,731 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-11 01:10:32,732 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-11 01:10:32,733 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-11 01:10:32,733 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-11 01:10:32,734 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-11 01:10:32,735 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-11 01:10:32,736 INFO L280 TraceCheckUtils]: 92: Hoare triple {6131#(<= |dll_create_#in~len| 4)} assume true; {6131#(<= |dll_create_#in~len| 4)} is VALID [2020-07-11 01:10:32,739 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-11 01:10:32,739 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-11 01:10:32,739 INFO L280 TraceCheckUtils]: 95: Hoare triple {6028#false} havoc #t~ret6.base, #t~ret6.offset; {6028#false} is VALID [2020-07-11 01:10:32,740 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-11 01:10:32,740 INFO L280 TraceCheckUtils]: 97: Hoare triple {6028#false} assume !!(#t~mem13.base != 0 || #t~mem13.offset != 0); {6028#false} is VALID [2020-07-11 01:10:32,740 INFO L280 TraceCheckUtils]: 98: Hoare triple {6028#false} havoc #t~mem13.base, #t~mem13.offset; {6028#false} is VALID [2020-07-11 01:10:32,741 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-11 01:10:32,741 INFO L280 TraceCheckUtils]: 100: Hoare triple {6028#false} #t~short9 := 0 != #t~mem7; {6028#false} is VALID [2020-07-11 01:10:32,741 INFO L280 TraceCheckUtils]: 101: Hoare triple {6028#false} assume #t~short9; {6028#false} is VALID [2020-07-11 01:10:32,742 INFO L280 TraceCheckUtils]: 102: Hoare triple {6028#false} #t~short11 := #t~short9; {6028#false} is VALID [2020-07-11 01:10:32,742 INFO L280 TraceCheckUtils]: 103: Hoare triple {6028#false} assume #t~short11; {6028#false} is VALID [2020-07-11 01:10:32,742 INFO L280 TraceCheckUtils]: 104: Hoare triple {6028#false} assume #t~short11; {6028#false} is VALID [2020-07-11 01:10:32,743 INFO L280 TraceCheckUtils]: 105: Hoare triple {6028#false} havoc #t~mem8; {6028#false} is VALID [2020-07-11 01:10:32,743 INFO L280 TraceCheckUtils]: 106: Hoare triple {6028#false} havoc #t~mem10; {6028#false} is VALID [2020-07-11 01:10:32,744 INFO L280 TraceCheckUtils]: 107: Hoare triple {6028#false} havoc #t~short11; {6028#false} is VALID [2020-07-11 01:10:32,744 INFO L280 TraceCheckUtils]: 108: Hoare triple {6028#false} havoc #t~mem7; {6028#false} is VALID [2020-07-11 01:10:32,744 INFO L280 TraceCheckUtils]: 109: Hoare triple {6028#false} havoc #t~short9; {6028#false} is VALID [2020-07-11 01:10:32,745 INFO L280 TraceCheckUtils]: 110: Hoare triple {6028#false} assume !false; {6028#false} is VALID [2020-07-11 01:10:32,785 INFO L134 CoverageAnalysis]: Checked inductivity of 121 backedges. 0 proven. 121 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:10:32,786 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1594189594] [2020-07-11 01:10:32,786 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:32,786 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-11 01:10:32,787 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1183781326] [2020-07-11 01:10:32,789 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 111 [2020-07-11 01:10:32,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:32,789 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-11 01:10:33,024 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-11 01:10:33,025 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-11 01:10:33,025 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:33,026 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-11 01:10:33,026 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2020-07-11 01:10:33,026 INFO L87 Difference]: Start difference. First operand 156 states and 168 transitions. Second operand 15 states. [2020-07-11 01:10:35,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:35,028 INFO L93 Difference]: Finished difference Result 256 states and 277 transitions. [2020-07-11 01:10:35,028 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-11 01:10:35,028 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 111 [2020-07-11 01:10:35,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:35,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:10:35,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 277 transitions. [2020-07-11 01:10:35,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-11 01:10:35,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 277 transitions. [2020-07-11 01:10:35,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 277 transitions. [2020-07-11 01:10:35,365 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-11 01:10:35,369 INFO L225 Difference]: With dead ends: 256 [2020-07-11 01:10:35,369 INFO L226 Difference]: Without dead ends: 196 [2020-07-11 01:10:35,370 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-11 01:10:35,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2020-07-11 01:10:35,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 177. [2020-07-11 01:10:35,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:35,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 177 states. [2020-07-11 01:10:35,713 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 177 states. [2020-07-11 01:10:35,713 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 177 states. [2020-07-11 01:10:35,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:35,719 INFO L93 Difference]: Finished difference Result 196 states and 210 transitions. [2020-07-11 01:10:35,719 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 210 transitions. [2020-07-11 01:10:35,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:35,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:35,720 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 196 states. [2020-07-11 01:10:35,720 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 196 states. [2020-07-11 01:10:35,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:35,727 INFO L93 Difference]: Finished difference Result 196 states and 210 transitions. [2020-07-11 01:10:35,727 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 210 transitions. [2020-07-11 01:10:35,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:35,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:35,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:35,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:35,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 177 states. [2020-07-11 01:10:35,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 177 states to 177 states and 190 transitions. [2020-07-11 01:10:35,734 INFO L78 Accepts]: Start accepts. Automaton has 177 states and 190 transitions. Word has length 111 [2020-07-11 01:10:35,734 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:35,734 INFO L479 AbstractCegarLoop]: Abstraction has 177 states and 190 transitions. [2020-07-11 01:10:35,734 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-11 01:10:35,734 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 177 states and 190 transitions. [2020-07-11 01:10:36,050 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-11 01:10:36,050 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 190 transitions. [2020-07-11 01:10:36,052 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2020-07-11 01:10:36,052 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:36,052 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-11 01:10:36,052 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-11 01:10:36,052 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:36,053 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:36,053 INFO L82 PathProgramCache]: Analyzing trace with hash 1182686291, now seen corresponding path program 4 times [2020-07-11 01:10:36,053 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:36,053 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [347487170] [2020-07-11 01:10:36,053 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:36,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:36,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:36,252 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-11 01:10:36,253 INFO L280 TraceCheckUtils]: 1: Hoare triple {7417#true} #valid := #valid[0 := 0]; {7417#true} is VALID [2020-07-11 01:10:36,253 INFO L280 TraceCheckUtils]: 2: Hoare triple {7417#true} assume 0 < #StackHeapBarrier; {7417#true} is VALID [2020-07-11 01:10:36,253 INFO L280 TraceCheckUtils]: 3: Hoare triple {7417#true} assume true; {7417#true} is VALID [2020-07-11 01:10:36,253 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7417#true} {7417#true} #188#return; {7417#true} is VALID [2020-07-11 01:10:36,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:36,621 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-11 01:10:36,622 INFO L280 TraceCheckUtils]: 1: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := 0, 0; {7417#true} is VALID [2020-07-11 01:10:36,622 INFO L280 TraceCheckUtils]: 2: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,622 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-11 01:10:36,623 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-11 01:10:36,623 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-11 01:10:36,623 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-11 01:10:36,624 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-11 01:10:36,624 INFO L280 TraceCheckUtils]: 8: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-11 01:10:36,624 INFO L280 TraceCheckUtils]: 9: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-11 01:10:36,624 INFO L280 TraceCheckUtils]: 10: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-11 01:10:36,625 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-11 01:10:36,625 INFO L280 TraceCheckUtils]: 12: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-11 01:10:36,625 INFO L280 TraceCheckUtils]: 13: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-11 01:10:36,626 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-11 01:10:36,626 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-11 01:10:36,626 INFO L280 TraceCheckUtils]: 16: Hoare triple {7417#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {7417#true} is VALID [2020-07-11 01:10:36,627 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-11 01:10:36,627 INFO L280 TraceCheckUtils]: 18: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-11 01:10:36,627 INFO L280 TraceCheckUtils]: 19: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-11 01:10:36,627 INFO L280 TraceCheckUtils]: 20: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-11 01:10:36,628 INFO L280 TraceCheckUtils]: 21: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,628 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-11 01:10:36,628 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-11 01:10:36,628 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-11 01:10:36,628 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-11 01:10:36,629 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-11 01:10:36,629 INFO L280 TraceCheckUtils]: 27: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-11 01:10:36,629 INFO L280 TraceCheckUtils]: 28: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-11 01:10:36,629 INFO L280 TraceCheckUtils]: 29: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-11 01:10:36,629 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-11 01:10:36,630 INFO L280 TraceCheckUtils]: 31: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-11 01:10:36,630 INFO L280 TraceCheckUtils]: 32: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-11 01:10:36,630 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-11 01:10:36,630 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-11 01:10:36,630 INFO L280 TraceCheckUtils]: 35: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-11 01:10:36,631 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-11 01:10:36,631 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-11 01:10:36,631 INFO L280 TraceCheckUtils]: 38: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-11 01:10:36,631 INFO L280 TraceCheckUtils]: 39: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-11 01:10:36,631 INFO L280 TraceCheckUtils]: 40: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-11 01:10:36,632 INFO L280 TraceCheckUtils]: 41: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,632 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-11 01:10:36,632 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-11 01:10:36,632 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-11 01:10:36,632 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-11 01:10:36,633 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-11 01:10:36,633 INFO L280 TraceCheckUtils]: 47: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-11 01:10:36,633 INFO L280 TraceCheckUtils]: 48: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-11 01:10:36,633 INFO L280 TraceCheckUtils]: 49: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-11 01:10:36,633 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-11 01:10:36,634 INFO L280 TraceCheckUtils]: 51: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-11 01:10:36,634 INFO L280 TraceCheckUtils]: 52: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-11 01:10:36,634 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-11 01:10:36,634 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-11 01:10:36,634 INFO L280 TraceCheckUtils]: 55: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-11 01:10:36,634 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-11 01:10:36,635 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-11 01:10:36,635 INFO L280 TraceCheckUtils]: 58: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-11 01:10:36,635 INFO L280 TraceCheckUtils]: 59: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-11 01:10:36,635 INFO L280 TraceCheckUtils]: 60: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-11 01:10:36,635 INFO L280 TraceCheckUtils]: 61: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,637 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-11 01:10:36,638 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-11 01:10:36,638 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-11 01:10:36,639 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-11 01:10:36,640 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-11 01:10:36,641 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-11 01:10:36,641 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-11 01:10:36,642 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-11 01:10:36,643 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-11 01:10:36,643 INFO L280 TraceCheckUtils]: 71: 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-11 01:10:36,644 INFO L280 TraceCheckUtils]: 72: 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-11 01:10:36,645 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-11 01:10:36,646 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-11 01:10:36,647 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-11 01:10:36,647 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-11 01:10:36,648 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-11 01:10:36,649 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-11 01:10:36,650 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-11 01:10:36,650 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-11 01:10:36,651 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-11 01:10:36,652 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-11 01:10:36,652 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-11 01:10:36,653 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-11 01:10:36,654 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-11 01:10:36,656 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-11 01:10:36,657 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-11 01:10:36,657 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-11 01:10:36,658 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-11 01:10:36,660 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-11 01:10:36,661 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~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-11 01:10:36,662 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~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-11 01:10:36,664 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-11 01:10:36,665 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-11 01:10:36,666 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-11 01:10:36,668 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-11 01:10:36,669 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-11 01:10:36,670 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-11 01:10:36,671 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-11 01:10:36,672 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-11 01:10:36,673 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-11 01:10:36,673 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-11 01:10:36,674 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-11 01:10:36,675 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-11 01:10:36,694 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-11 01:10:36,694 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-11 01:10:36,694 INFO L280 TraceCheckUtils]: 2: Hoare triple {7417#true} #valid := #valid[0 := 0]; {7417#true} is VALID [2020-07-11 01:10:36,695 INFO L280 TraceCheckUtils]: 3: Hoare triple {7417#true} assume 0 < #StackHeapBarrier; {7417#true} is VALID [2020-07-11 01:10:36,695 INFO L280 TraceCheckUtils]: 4: Hoare triple {7417#true} assume true; {7417#true} is VALID [2020-07-11 01:10:36,695 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7417#true} {7417#true} #188#return; {7417#true} is VALID [2020-07-11 01:10:36,695 INFO L263 TraceCheckUtils]: 6: Hoare triple {7417#true} call #t~ret20 := main(); {7417#true} is VALID [2020-07-11 01:10:36,695 INFO L280 TraceCheckUtils]: 7: Hoare triple {7417#true} ~len~0 := 5; {7417#true} is VALID [2020-07-11 01:10:36,696 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-11 01:10:36,697 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-11 01:10:36,697 INFO L280 TraceCheckUtils]: 10: Hoare triple {7417#true} ~head~0.base, ~head~0.offset := 0, 0; {7417#true} is VALID [2020-07-11 01:10:36,697 INFO L280 TraceCheckUtils]: 11: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,697 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-11 01:10:36,697 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-11 01:10:36,698 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-11 01:10:36,698 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-11 01:10:36,698 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-11 01:10:36,698 INFO L280 TraceCheckUtils]: 17: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-11 01:10:36,698 INFO L280 TraceCheckUtils]: 18: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-11 01:10:36,698 INFO L280 TraceCheckUtils]: 19: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-11 01:10:36,699 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-11 01:10:36,699 INFO L280 TraceCheckUtils]: 21: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-11 01:10:36,699 INFO L280 TraceCheckUtils]: 22: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-11 01:10:36,699 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-11 01:10:36,699 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-11 01:10:36,700 INFO L280 TraceCheckUtils]: 25: Hoare triple {7417#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {7417#true} is VALID [2020-07-11 01:10:36,700 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-11 01:10:36,700 INFO L280 TraceCheckUtils]: 27: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-11 01:10:36,700 INFO L280 TraceCheckUtils]: 28: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-11 01:10:36,700 INFO L280 TraceCheckUtils]: 29: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-11 01:10:36,701 INFO L280 TraceCheckUtils]: 30: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,701 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-11 01:10:36,701 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-11 01:10:36,701 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-11 01:10:36,701 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-11 01:10:36,702 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-11 01:10:36,702 INFO L280 TraceCheckUtils]: 36: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-11 01:10:36,702 INFO L280 TraceCheckUtils]: 37: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-11 01:10:36,702 INFO L280 TraceCheckUtils]: 38: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-11 01:10:36,702 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-11 01:10:36,703 INFO L280 TraceCheckUtils]: 40: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-11 01:10:36,703 INFO L280 TraceCheckUtils]: 41: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-11 01:10:36,703 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-11 01:10:36,703 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-11 01:10:36,704 INFO L280 TraceCheckUtils]: 44: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-11 01:10:36,704 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-11 01:10:36,704 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-11 01:10:36,704 INFO L280 TraceCheckUtils]: 47: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-11 01:10:36,704 INFO L280 TraceCheckUtils]: 48: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-11 01:10:36,705 INFO L280 TraceCheckUtils]: 49: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-11 01:10:36,705 INFO L280 TraceCheckUtils]: 50: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,705 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-11 01:10:36,705 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-11 01:10:36,705 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-11 01:10:36,706 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-11 01:10:36,706 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-11 01:10:36,706 INFO L280 TraceCheckUtils]: 56: Hoare triple {7417#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7417#true} is VALID [2020-07-11 01:10:36,706 INFO L280 TraceCheckUtils]: 57: Hoare triple {7417#true} assume #t~nondet3 == ~len; {7417#true} is VALID [2020-07-11 01:10:36,707 INFO L280 TraceCheckUtils]: 58: Hoare triple {7417#true} #t~ite4 := 1; {7417#true} is VALID [2020-07-11 01:10:36,707 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-11 01:10:36,707 INFO L280 TraceCheckUtils]: 60: Hoare triple {7417#true} havoc #t~ite4; {7417#true} is VALID [2020-07-11 01:10:36,707 INFO L280 TraceCheckUtils]: 61: Hoare triple {7417#true} havoc #t~nondet3; {7417#true} is VALID [2020-07-11 01:10:36,707 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-11 01:10:36,708 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-11 01:10:36,708 INFO L280 TraceCheckUtils]: 64: Hoare triple {7417#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {7417#true} is VALID [2020-07-11 01:10:36,708 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-11 01:10:36,708 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-11 01:10:36,709 INFO L280 TraceCheckUtils]: 67: Hoare triple {7417#true} #t~post5 := ~len; {7417#true} is VALID [2020-07-11 01:10:36,709 INFO L280 TraceCheckUtils]: 68: Hoare triple {7417#true} ~len := #t~post5 - 1; {7417#true} is VALID [2020-07-11 01:10:36,709 INFO L280 TraceCheckUtils]: 69: Hoare triple {7417#true} havoc #t~post5; {7417#true} is VALID [2020-07-11 01:10:36,709 INFO L280 TraceCheckUtils]: 70: Hoare triple {7417#true} assume !!(~len > 0); {7417#true} is VALID [2020-07-11 01:10:36,711 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-11 01:10:36,711 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-11 01:10:36,712 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-11 01:10:36,713 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-11 01:10:36,714 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-11 01:10:36,714 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-11 01:10:36,715 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-11 01:10:36,716 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-11 01:10:36,716 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-11 01:10:36,717 INFO L280 TraceCheckUtils]: 80: 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-11 01:10:36,718 INFO L280 TraceCheckUtils]: 81: 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-11 01:10:36,718 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-11 01:10:36,719 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-11 01:10:36,720 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-11 01:10:36,720 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-11 01:10:36,721 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-11 01:10:36,722 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-11 01:10:36,723 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-11 01:10:36,723 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-11 01:10:36,724 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-11 01:10:36,725 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-11 01:10:36,726 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-11 01:10:36,727 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-11 01:10:36,728 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-11 01:10:36,730 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-11 01:10:36,731 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-11 01:10:36,732 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-11 01:10:36,733 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-11 01:10:36,735 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-11 01:10:36,736 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~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-11 01:10:36,737 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~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-11 01:10:36,738 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-11 01:10:36,740 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-11 01:10:36,741 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-11 01:10:36,742 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-11 01:10:36,743 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-11 01:10:36,743 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-11 01:10:36,744 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-11 01:10:36,744 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-11 01:10:36,745 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-11 01:10:36,746 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-11 01:10:36,746 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-11 01:10:36,747 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-11 01:10:36,748 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-11 01:10:36,749 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-11 01:10:36,749 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-11 01:10:36,750 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-11 01:10:36,751 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-11 01:10:36,751 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-11 01:10:36,752 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-11 01:10:36,753 INFO L280 TraceCheckUtils]: 121: Hoare triple {7532#(not |main_#t~short9|)} assume #t~short9; {7418#false} is VALID [2020-07-11 01:10:36,753 INFO L280 TraceCheckUtils]: 122: Hoare triple {7418#false} #t~short11 := #t~short9; {7418#false} is VALID [2020-07-11 01:10:36,753 INFO L280 TraceCheckUtils]: 123: Hoare triple {7418#false} assume #t~short11; {7418#false} is VALID [2020-07-11 01:10:36,753 INFO L280 TraceCheckUtils]: 124: Hoare triple {7418#false} assume #t~short11; {7418#false} is VALID [2020-07-11 01:10:36,753 INFO L280 TraceCheckUtils]: 125: Hoare triple {7418#false} havoc #t~mem8; {7418#false} is VALID [2020-07-11 01:10:36,754 INFO L280 TraceCheckUtils]: 126: Hoare triple {7418#false} havoc #t~mem10; {7418#false} is VALID [2020-07-11 01:10:36,754 INFO L280 TraceCheckUtils]: 127: Hoare triple {7418#false} havoc #t~short11; {7418#false} is VALID [2020-07-11 01:10:36,754 INFO L280 TraceCheckUtils]: 128: Hoare triple {7418#false} havoc #t~mem7; {7418#false} is VALID [2020-07-11 01:10:36,754 INFO L280 TraceCheckUtils]: 129: Hoare triple {7418#false} havoc #t~short9; {7418#false} is VALID [2020-07-11 01:10:36,754 INFO L280 TraceCheckUtils]: 130: Hoare triple {7418#false} assume !false; {7418#false} is VALID [2020-07-11 01:10:36,800 INFO L134 CoverageAnalysis]: Checked inductivity of 201 backedges. 118 proven. 19 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2020-07-11 01:10:36,801 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [347487170] [2020-07-11 01:10:36,802 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:36,802 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:10:36,802 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1567912472] [2020-07-11 01:10:36,803 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 131 [2020-07-11 01:10:36,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:36,804 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:10:36,944 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-11 01:10:36,944 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:10:36,944 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:36,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:10:36,945 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=239, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:10:36,945 INFO L87 Difference]: Start difference. First operand 177 states and 190 transitions. Second operand 17 states. [2020-07-11 01:10:40,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:40,389 INFO L93 Difference]: Finished difference Result 308 states and 334 transitions. [2020-07-11 01:10:40,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-11 01:10:40,389 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 131 [2020-07-11 01:10:40,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:40,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:40,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 264 transitions. [2020-07-11 01:10:40,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:40,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 264 transitions. [2020-07-11 01:10:40,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 264 transitions. [2020-07-11 01:10:40,684 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-11 01:10:40,692 INFO L225 Difference]: With dead ends: 308 [2020-07-11 01:10:40,692 INFO L226 Difference]: Without dead ends: 253 [2020-07-11 01:10:40,693 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-11 01:10:40,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2020-07-11 01:10:41,315 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 183. [2020-07-11 01:10:41,315 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:41,316 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand 183 states. [2020-07-11 01:10:41,316 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand 183 states. [2020-07-11 01:10:41,316 INFO L87 Difference]: Start difference. First operand 253 states. Second operand 183 states. [2020-07-11 01:10:41,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:41,325 INFO L93 Difference]: Finished difference Result 253 states and 272 transitions. [2020-07-11 01:10:41,325 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 272 transitions. [2020-07-11 01:10:41,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:41,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:41,326 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand 253 states. [2020-07-11 01:10:41,326 INFO L87 Difference]: Start difference. First operand 183 states. Second operand 253 states. [2020-07-11 01:10:41,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:41,342 INFO L93 Difference]: Finished difference Result 253 states and 272 transitions. [2020-07-11 01:10:41,344 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 272 transitions. [2020-07-11 01:10:41,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:41,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:41,345 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:41,345 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:41,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 183 states. [2020-07-11 01:10:41,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 183 states to 183 states and 197 transitions. [2020-07-11 01:10:41,351 INFO L78 Accepts]: Start accepts. Automaton has 183 states and 197 transitions. Word has length 131 [2020-07-11 01:10:41,352 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:41,352 INFO L479 AbstractCegarLoop]: Abstraction has 183 states and 197 transitions. [2020-07-11 01:10:41,352 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:10:41,353 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 183 states and 197 transitions. [2020-07-11 01:10:41,731 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-11 01:10:41,731 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 197 transitions. [2020-07-11 01:10:41,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 134 [2020-07-11 01:10:41,733 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:41,733 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-11 01:10:41,734 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-11 01:10:41,734 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:41,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:41,734 INFO L82 PathProgramCache]: Analyzing trace with hash -1200683152, now seen corresponding path program 1 times [2020-07-11 01:10:41,734 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:41,735 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1999219312] [2020-07-11 01:10:41,735 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:41,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:41,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:41,983 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-11 01:10:41,984 INFO L280 TraceCheckUtils]: 1: Hoare triple {9069#true} #valid := #valid[0 := 0]; {9069#true} is VALID [2020-07-11 01:10:41,984 INFO L280 TraceCheckUtils]: 2: Hoare triple {9069#true} assume 0 < #StackHeapBarrier; {9069#true} is VALID [2020-07-11 01:10:41,984 INFO L280 TraceCheckUtils]: 3: Hoare triple {9069#true} assume true; {9069#true} is VALID [2020-07-11 01:10:41,984 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9069#true} {9069#true} #188#return; {9069#true} is VALID [2020-07-11 01:10:42,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:42,304 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-11 01:10:42,305 INFO L280 TraceCheckUtils]: 1: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := 0, 0; {9069#true} is VALID [2020-07-11 01:10:42,305 INFO L280 TraceCheckUtils]: 2: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,305 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-11 01:10:42,306 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-11 01:10:42,306 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-11 01:10:42,306 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-11 01:10:42,306 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-11 01:10:42,306 INFO L280 TraceCheckUtils]: 8: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-11 01:10:42,307 INFO L280 TraceCheckUtils]: 9: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-11 01:10:42,307 INFO L280 TraceCheckUtils]: 10: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-11 01:10:42,307 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-11 01:10:42,307 INFO L280 TraceCheckUtils]: 12: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-11 01:10:42,307 INFO L280 TraceCheckUtils]: 13: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-11 01:10:42,308 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-11 01:10:42,308 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-11 01:10:42,308 INFO L280 TraceCheckUtils]: 16: Hoare triple {9069#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {9069#true} is VALID [2020-07-11 01:10:42,308 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-11 01:10:42,308 INFO L280 TraceCheckUtils]: 18: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-11 01:10:42,308 INFO L280 TraceCheckUtils]: 19: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-11 01:10:42,309 INFO L280 TraceCheckUtils]: 20: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-11 01:10:42,309 INFO L280 TraceCheckUtils]: 21: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,309 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-11 01:10:42,309 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-11 01:10:42,309 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-11 01:10:42,309 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-11 01:10:42,310 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-11 01:10:42,310 INFO L280 TraceCheckUtils]: 27: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-11 01:10:42,310 INFO L280 TraceCheckUtils]: 28: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-11 01:10:42,310 INFO L280 TraceCheckUtils]: 29: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-11 01:10:42,310 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-11 01:10:42,311 INFO L280 TraceCheckUtils]: 31: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-11 01:10:42,311 INFO L280 TraceCheckUtils]: 32: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-11 01:10:42,311 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-11 01:10:42,311 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-11 01:10:42,311 INFO L280 TraceCheckUtils]: 35: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-11 01:10:42,312 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-11 01:10:42,312 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-11 01:10:42,312 INFO L280 TraceCheckUtils]: 38: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-11 01:10:42,312 INFO L280 TraceCheckUtils]: 39: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-11 01:10:42,312 INFO L280 TraceCheckUtils]: 40: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-11 01:10:42,312 INFO L280 TraceCheckUtils]: 41: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,313 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-11 01:10:42,313 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-11 01:10:42,313 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-11 01:10:42,313 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-11 01:10:42,313 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-11 01:10:42,314 INFO L280 TraceCheckUtils]: 47: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-11 01:10:42,314 INFO L280 TraceCheckUtils]: 48: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-11 01:10:42,314 INFO L280 TraceCheckUtils]: 49: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-11 01:10:42,314 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-11 01:10:42,314 INFO L280 TraceCheckUtils]: 51: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-11 01:10:42,315 INFO L280 TraceCheckUtils]: 52: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-11 01:10:42,315 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-11 01:10:42,315 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-11 01:10:42,315 INFO L280 TraceCheckUtils]: 55: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-11 01:10:42,315 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-11 01:10:42,316 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-11 01:10:42,316 INFO L280 TraceCheckUtils]: 58: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-11 01:10:42,316 INFO L280 TraceCheckUtils]: 59: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-11 01:10:42,316 INFO L280 TraceCheckUtils]: 60: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-11 01:10:42,316 INFO L280 TraceCheckUtils]: 61: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,317 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-11 01:10:42,318 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-11 01:10:42,319 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-11 01:10:42,319 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-11 01:10:42,320 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-11 01:10:42,320 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-11 01:10:42,320 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-11 01:10:42,321 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-11 01:10:42,321 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-11 01:10:42,322 INFO L280 TraceCheckUtils]: 71: 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-11 01:10:42,322 INFO L280 TraceCheckUtils]: 72: 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-11 01:10:42,323 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-11 01:10:42,323 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-11 01:10:42,324 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-11 01:10:42,324 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-11 01:10:42,325 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-11 01:10:42,326 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-11 01:10:42,326 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-11 01:10:42,327 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-11 01:10:42,327 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-11 01:10:42,328 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-11 01:10:42,329 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-11 01:10:42,329 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-11 01:10:42,330 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-11 01:10:42,331 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-11 01:10:42,332 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-11 01:10:42,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-11 01:10:42,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-11 01:10:42,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-11 01:10:42,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~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-11 01:10:42,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~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-11 01:10:42,338 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-11 01:10:42,339 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-11 01:10:42,340 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-11 01:10:42,341 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-11 01:10:42,341 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-11 01:10:42,342 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-11 01:10:42,343 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-11 01:10:42,343 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-11 01:10:42,346 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-11 01:10:42,347 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-11 01:10:42,348 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-11 01:10:42,349 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-11 01:10:42,370 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-11 01:10:42,370 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-11 01:10:42,370 INFO L280 TraceCheckUtils]: 2: Hoare triple {9069#true} #valid := #valid[0 := 0]; {9069#true} is VALID [2020-07-11 01:10:42,370 INFO L280 TraceCheckUtils]: 3: Hoare triple {9069#true} assume 0 < #StackHeapBarrier; {9069#true} is VALID [2020-07-11 01:10:42,371 INFO L280 TraceCheckUtils]: 4: Hoare triple {9069#true} assume true; {9069#true} is VALID [2020-07-11 01:10:42,371 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {9069#true} {9069#true} #188#return; {9069#true} is VALID [2020-07-11 01:10:42,371 INFO L263 TraceCheckUtils]: 6: Hoare triple {9069#true} call #t~ret20 := main(); {9069#true} is VALID [2020-07-11 01:10:42,371 INFO L280 TraceCheckUtils]: 7: Hoare triple {9069#true} ~len~0 := 5; {9069#true} is VALID [2020-07-11 01:10:42,373 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-11 01:10:42,373 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-11 01:10:42,373 INFO L280 TraceCheckUtils]: 10: Hoare triple {9069#true} ~head~0.base, ~head~0.offset := 0, 0; {9069#true} is VALID [2020-07-11 01:10:42,373 INFO L280 TraceCheckUtils]: 11: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,374 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-11 01:10:42,374 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-11 01:10:42,374 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-11 01:10:42,374 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-11 01:10:42,374 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-11 01:10:42,375 INFO L280 TraceCheckUtils]: 17: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-11 01:10:42,375 INFO L280 TraceCheckUtils]: 18: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-11 01:10:42,375 INFO L280 TraceCheckUtils]: 19: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-11 01:10:42,375 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-11 01:10:42,375 INFO L280 TraceCheckUtils]: 21: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-11 01:10:42,375 INFO L280 TraceCheckUtils]: 22: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-11 01:10:42,376 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-11 01:10:42,376 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-11 01:10:42,376 INFO L280 TraceCheckUtils]: 25: Hoare triple {9069#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {9069#true} is VALID [2020-07-11 01:10:42,376 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-11 01:10:42,376 INFO L280 TraceCheckUtils]: 27: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-11 01:10:42,376 INFO L280 TraceCheckUtils]: 28: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-11 01:10:42,377 INFO L280 TraceCheckUtils]: 29: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-11 01:10:42,377 INFO L280 TraceCheckUtils]: 30: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,377 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-11 01:10:42,377 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-11 01:10:42,377 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-11 01:10:42,377 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-11 01:10:42,377 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-11 01:10:42,378 INFO L280 TraceCheckUtils]: 36: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-11 01:10:42,378 INFO L280 TraceCheckUtils]: 37: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-11 01:10:42,378 INFO L280 TraceCheckUtils]: 38: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-11 01:10:42,378 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-11 01:10:42,378 INFO L280 TraceCheckUtils]: 40: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-11 01:10:42,378 INFO L280 TraceCheckUtils]: 41: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-11 01:10:42,379 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-11 01:10:42,379 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-11 01:10:42,379 INFO L280 TraceCheckUtils]: 44: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-11 01:10:42,379 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-11 01:10:42,379 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-11 01:10:42,379 INFO L280 TraceCheckUtils]: 47: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-11 01:10:42,380 INFO L280 TraceCheckUtils]: 48: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-11 01:10:42,380 INFO L280 TraceCheckUtils]: 49: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-11 01:10:42,380 INFO L280 TraceCheckUtils]: 50: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,380 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-11 01:10:42,380 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-11 01:10:42,380 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-11 01:10:42,381 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-11 01:10:42,381 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-11 01:10:42,381 INFO L280 TraceCheckUtils]: 56: Hoare triple {9069#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {9069#true} is VALID [2020-07-11 01:10:42,381 INFO L280 TraceCheckUtils]: 57: Hoare triple {9069#true} assume #t~nondet3 == ~len; {9069#true} is VALID [2020-07-11 01:10:42,381 INFO L280 TraceCheckUtils]: 58: Hoare triple {9069#true} #t~ite4 := 1; {9069#true} is VALID [2020-07-11 01:10:42,381 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-11 01:10:42,382 INFO L280 TraceCheckUtils]: 60: Hoare triple {9069#true} havoc #t~ite4; {9069#true} is VALID [2020-07-11 01:10:42,382 INFO L280 TraceCheckUtils]: 61: Hoare triple {9069#true} havoc #t~nondet3; {9069#true} is VALID [2020-07-11 01:10:42,382 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-11 01:10:42,382 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-11 01:10:42,382 INFO L280 TraceCheckUtils]: 64: Hoare triple {9069#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {9069#true} is VALID [2020-07-11 01:10:42,383 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-11 01:10:42,383 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-11 01:10:42,383 INFO L280 TraceCheckUtils]: 67: Hoare triple {9069#true} #t~post5 := ~len; {9069#true} is VALID [2020-07-11 01:10:42,383 INFO L280 TraceCheckUtils]: 68: Hoare triple {9069#true} ~len := #t~post5 - 1; {9069#true} is VALID [2020-07-11 01:10:42,383 INFO L280 TraceCheckUtils]: 69: Hoare triple {9069#true} havoc #t~post5; {9069#true} is VALID [2020-07-11 01:10:42,383 INFO L280 TraceCheckUtils]: 70: Hoare triple {9069#true} assume !!(~len > 0); {9069#true} is VALID [2020-07-11 01:10:42,385 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-11 01:10:42,386 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-11 01:10:42,386 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-11 01:10:42,387 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-11 01:10:42,387 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-11 01:10:42,387 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-11 01:10:42,388 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-11 01:10:42,389 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-11 01:10:42,390 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-11 01:10:42,390 INFO L280 TraceCheckUtils]: 80: 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-11 01:10:42,391 INFO L280 TraceCheckUtils]: 81: 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-11 01:10:42,391 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-11 01:10:42,392 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-11 01:10:42,392 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-11 01:10:42,393 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-11 01:10:42,393 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-11 01:10:42,394 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-11 01:10:42,394 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-11 01:10:42,395 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-11 01:10:42,395 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-11 01:10:42,396 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-11 01:10:42,396 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-11 01:10:42,397 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-11 01:10:42,398 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-11 01:10:42,399 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-11 01:10:42,400 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-11 01:10:42,401 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-11 01:10:42,401 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-11 01:10:42,402 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-11 01:10:42,403 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~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-11 01:10:42,404 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~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-11 01:10:42,405 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-11 01:10:42,406 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-11 01:10:42,407 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-11 01:10:42,408 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-11 01:10:42,408 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-11 01:10:42,409 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-11 01:10:42,410 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-11 01:10:42,410 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-11 01:10:42,411 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-11 01:10:42,412 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-11 01:10:42,412 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-11 01:10:42,413 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-11 01:10:42,414 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-11 01:10:42,415 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-11 01:10:42,415 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-11 01:10:42,416 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-11 01:10:42,416 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-11 01:10:42,417 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-11 01:10:42,418 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-11 01:10:42,418 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-11 01:10:42,419 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-11 01:10:42,420 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-11 01:10:42,420 INFO L280 TraceCheckUtils]: 124: Hoare triple {9184#(not |main_#t~short9|)} #t~short11 := #t~short9; {9185#(not |main_#t~short11|)} is VALID [2020-07-11 01:10:42,421 INFO L280 TraceCheckUtils]: 125: Hoare triple {9185#(not |main_#t~short11|)} assume #t~short11; {9070#false} is VALID [2020-07-11 01:10:42,421 INFO L280 TraceCheckUtils]: 126: Hoare triple {9070#false} assume #t~short11; {9070#false} is VALID [2020-07-11 01:10:42,421 INFO L280 TraceCheckUtils]: 127: Hoare triple {9070#false} havoc #t~mem8; {9070#false} is VALID [2020-07-11 01:10:42,421 INFO L280 TraceCheckUtils]: 128: Hoare triple {9070#false} havoc #t~mem10; {9070#false} is VALID [2020-07-11 01:10:42,422 INFO L280 TraceCheckUtils]: 129: Hoare triple {9070#false} havoc #t~short11; {9070#false} is VALID [2020-07-11 01:10:42,422 INFO L280 TraceCheckUtils]: 130: Hoare triple {9070#false} havoc #t~mem7; {9070#false} is VALID [2020-07-11 01:10:42,422 INFO L280 TraceCheckUtils]: 131: Hoare triple {9070#false} havoc #t~short9; {9070#false} is VALID [2020-07-11 01:10:42,422 INFO L280 TraceCheckUtils]: 132: Hoare triple {9070#false} assume !false; {9070#false} is VALID [2020-07-11 01:10:42,448 INFO L134 CoverageAnalysis]: Checked inductivity of 201 backedges. 118 proven. 19 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2020-07-11 01:10:42,448 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1999219312] [2020-07-11 01:10:42,449 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:42,449 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-11 01:10:42,449 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [269989894] [2020-07-11 01:10:42,449 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 133 [2020-07-11 01:10:42,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:42,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-11 01:10:42,563 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-11 01:10:42,563 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-11 01:10:42,563 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:42,563 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-11 01:10:42,564 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=271, Unknown=0, NotChecked=0, Total=306 [2020-07-11 01:10:42,564 INFO L87 Difference]: Start difference. First operand 183 states and 197 transitions. Second operand 18 states. [2020-07-11 01:10:46,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:46,968 INFO L93 Difference]: Finished difference Result 286 states and 310 transitions. [2020-07-11 01:10:46,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2020-07-11 01:10:46,968 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 133 [2020-07-11 01:10:46,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:46,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-11 01:10:46,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 262 transitions. [2020-07-11 01:10:46,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-11 01:10:46,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 262 transitions. [2020-07-11 01:10:46,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 262 transitions. [2020-07-11 01:10:47,272 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-11 01:10:47,278 INFO L225 Difference]: With dead ends: 286 [2020-07-11 01:10:47,278 INFO L226 Difference]: Without dead ends: 231 [2020-07-11 01:10:47,279 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=171, Invalid=951, Unknown=0, NotChecked=0, Total=1122 [2020-07-11 01:10:47,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 231 states. [2020-07-11 01:10:48,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 231 to 187. [2020-07-11 01:10:48,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:48,031 INFO L82 GeneralOperation]: Start isEquivalent. First operand 231 states. Second operand 187 states. [2020-07-11 01:10:48,032 INFO L74 IsIncluded]: Start isIncluded. First operand 231 states. Second operand 187 states. [2020-07-11 01:10:48,032 INFO L87 Difference]: Start difference. First operand 231 states. Second operand 187 states. [2020-07-11 01:10:48,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:48,037 INFO L93 Difference]: Finished difference Result 231 states and 248 transitions. [2020-07-11 01:10:48,037 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 248 transitions. [2020-07-11 01:10:48,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:48,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:48,038 INFO L74 IsIncluded]: Start isIncluded. First operand 187 states. Second operand 231 states. [2020-07-11 01:10:48,038 INFO L87 Difference]: Start difference. First operand 187 states. Second operand 231 states. [2020-07-11 01:10:48,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:48,044 INFO L93 Difference]: Finished difference Result 231 states and 248 transitions. [2020-07-11 01:10:48,044 INFO L276 IsEmpty]: Start isEmpty. Operand 231 states and 248 transitions. [2020-07-11 01:10:48,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:48,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:48,045 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:48,045 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:48,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 187 states. [2020-07-11 01:10:48,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 187 states to 187 states and 201 transitions. [2020-07-11 01:10:48,050 INFO L78 Accepts]: Start accepts. Automaton has 187 states and 201 transitions. Word has length 133 [2020-07-11 01:10:48,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:48,050 INFO L479 AbstractCegarLoop]: Abstraction has 187 states and 201 transitions. [2020-07-11 01:10:48,050 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-11 01:10:48,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 187 states and 201 transitions. [2020-07-11 01:10:48,444 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-11 01:10:48,444 INFO L276 IsEmpty]: Start isEmpty. Operand 187 states and 201 transitions. [2020-07-11 01:10:48,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2020-07-11 01:10:48,445 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:48,445 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-11 01:10:48,446 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-11 01:10:48,446 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:48,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:48,446 INFO L82 PathProgramCache]: Analyzing trace with hash 2062394754, now seen corresponding path program 1 times [2020-07-11 01:10:48,446 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:48,447 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [135101576] [2020-07-11 01:10:48,447 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:48,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:48,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:48,604 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-11 01:10:48,604 INFO L280 TraceCheckUtils]: 1: Hoare triple {10644#true} #valid := #valid[0 := 0]; {10644#true} is VALID [2020-07-11 01:10:48,604 INFO L280 TraceCheckUtils]: 2: Hoare triple {10644#true} assume 0 < #StackHeapBarrier; {10644#true} is VALID [2020-07-11 01:10:48,604 INFO L280 TraceCheckUtils]: 3: Hoare triple {10644#true} assume true; {10644#true} is VALID [2020-07-11 01:10:48,605 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10644#true} {10644#true} #188#return; {10644#true} is VALID [2020-07-11 01:10:48,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:10:49,035 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-11 01:10:49,035 INFO L280 TraceCheckUtils]: 1: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := 0, 0; {10644#true} is VALID [2020-07-11 01:10:49,036 INFO L280 TraceCheckUtils]: 2: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,036 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-11 01:10:49,036 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-11 01:10:49,037 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-11 01:10:49,037 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-11 01:10:49,037 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-11 01:10:49,037 INFO L280 TraceCheckUtils]: 8: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-11 01:10:49,037 INFO L280 TraceCheckUtils]: 9: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-11 01:10:49,038 INFO L280 TraceCheckUtils]: 10: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-11 01:10:49,038 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-11 01:10:49,038 INFO L280 TraceCheckUtils]: 12: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-11 01:10:49,038 INFO L280 TraceCheckUtils]: 13: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-11 01:10:49,039 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-11 01:10:49,039 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-11 01:10:49,039 INFO L280 TraceCheckUtils]: 16: Hoare triple {10644#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {10644#true} is VALID [2020-07-11 01:10:49,040 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-11 01:10:49,040 INFO L280 TraceCheckUtils]: 18: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-11 01:10:49,040 INFO L280 TraceCheckUtils]: 19: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-11 01:10:49,041 INFO L280 TraceCheckUtils]: 20: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-11 01:10:49,041 INFO L280 TraceCheckUtils]: 21: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,041 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-11 01:10:49,042 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-11 01:10:49,042 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-11 01:10:49,042 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-11 01:10:49,042 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-11 01:10:49,043 INFO L280 TraceCheckUtils]: 27: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-11 01:10:49,043 INFO L280 TraceCheckUtils]: 28: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-11 01:10:49,043 INFO L280 TraceCheckUtils]: 29: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-11 01:10:49,044 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-11 01:10:49,044 INFO L280 TraceCheckUtils]: 31: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-11 01:10:49,044 INFO L280 TraceCheckUtils]: 32: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-11 01:10:49,045 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-11 01:10:49,045 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-11 01:10:49,045 INFO L280 TraceCheckUtils]: 35: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-11 01:10:49,045 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-11 01:10:49,046 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-11 01:10:49,046 INFO L280 TraceCheckUtils]: 38: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-11 01:10:49,046 INFO L280 TraceCheckUtils]: 39: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-11 01:10:49,047 INFO L280 TraceCheckUtils]: 40: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-11 01:10:49,047 INFO L280 TraceCheckUtils]: 41: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,047 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-11 01:10:49,048 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-11 01:10:49,048 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-11 01:10:49,048 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-11 01:10:49,048 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-11 01:10:49,048 INFO L280 TraceCheckUtils]: 47: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-11 01:10:49,049 INFO L280 TraceCheckUtils]: 48: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-11 01:10:49,049 INFO L280 TraceCheckUtils]: 49: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-11 01:10:49,049 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-11 01:10:49,049 INFO L280 TraceCheckUtils]: 51: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-11 01:10:49,049 INFO L280 TraceCheckUtils]: 52: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-11 01:10:49,050 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-11 01:10:49,050 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-11 01:10:49,050 INFO L280 TraceCheckUtils]: 55: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-11 01:10:49,050 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-11 01:10:49,050 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-11 01:10:49,050 INFO L280 TraceCheckUtils]: 58: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-11 01:10:49,051 INFO L280 TraceCheckUtils]: 59: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-11 01:10:49,051 INFO L280 TraceCheckUtils]: 60: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-11 01:10:49,051 INFO L280 TraceCheckUtils]: 61: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,054 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-11 01:10:49,055 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-11 01:10:49,056 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-11 01:10:49,057 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-11 01:10:49,058 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-11 01:10:49,058 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-11 01:10:49,059 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-11 01:10:49,060 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-11 01:10:49,061 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-11 01:10:49,061 INFO L280 TraceCheckUtils]: 71: 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-11 01:10:49,062 INFO L280 TraceCheckUtils]: 72: 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-11 01:10:49,063 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-11 01:10:49,064 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-11 01:10:49,065 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-11 01:10:49,066 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-11 01:10:49,067 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-11 01:10:49,068 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-11 01:10:49,069 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-11 01:10:49,070 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-11 01:10:49,070 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-11 01:10:49,072 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-11 01:10:49,072 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-11 01:10:49,073 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-11 01:10:49,075 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-11 01:10:49,077 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-11 01:10:49,078 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-11 01:10:49,079 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-11 01:10:49,080 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-11 01:10:49,082 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-11 01:10:49,083 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~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-11 01:10:49,085 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~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-11 01:10:49,087 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-11 01:10:49,088 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-11 01:10:49,090 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-11 01:10:49,091 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-11 01:10:49,092 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-11 01:10:49,093 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-11 01:10:49,094 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-11 01:10:49,094 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-11 01:10:49,095 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-11 01:10:49,096 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-11 01:10:49,097 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-11 01:10:49,099 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-11 01:10:49,131 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-11 01:10:49,132 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-11 01:10:49,132 INFO L280 TraceCheckUtils]: 2: Hoare triple {10644#true} #valid := #valid[0 := 0]; {10644#true} is VALID [2020-07-11 01:10:49,132 INFO L280 TraceCheckUtils]: 3: Hoare triple {10644#true} assume 0 < #StackHeapBarrier; {10644#true} is VALID [2020-07-11 01:10:49,133 INFO L280 TraceCheckUtils]: 4: Hoare triple {10644#true} assume true; {10644#true} is VALID [2020-07-11 01:10:49,133 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10644#true} {10644#true} #188#return; {10644#true} is VALID [2020-07-11 01:10:49,133 INFO L263 TraceCheckUtils]: 6: Hoare triple {10644#true} call #t~ret20 := main(); {10644#true} is VALID [2020-07-11 01:10:49,134 INFO L280 TraceCheckUtils]: 7: Hoare triple {10644#true} ~len~0 := 5; {10644#true} is VALID [2020-07-11 01:10:49,135 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-11 01:10:49,135 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-11 01:10:49,136 INFO L280 TraceCheckUtils]: 10: Hoare triple {10644#true} ~head~0.base, ~head~0.offset := 0, 0; {10644#true} is VALID [2020-07-11 01:10:49,136 INFO L280 TraceCheckUtils]: 11: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,136 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-11 01:10:49,137 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-11 01:10:49,137 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-11 01:10:49,137 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-11 01:10:49,137 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-11 01:10:49,138 INFO L280 TraceCheckUtils]: 17: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-11 01:10:49,138 INFO L280 TraceCheckUtils]: 18: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-11 01:10:49,138 INFO L280 TraceCheckUtils]: 19: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-11 01:10:49,139 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-11 01:10:49,139 INFO L280 TraceCheckUtils]: 21: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-11 01:10:49,139 INFO L280 TraceCheckUtils]: 22: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-11 01:10:49,139 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-11 01:10:49,140 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-11 01:10:49,140 INFO L280 TraceCheckUtils]: 25: Hoare triple {10644#true} assume !(~head~0.base != 0 || ~head~0.offset != 0); {10644#true} is VALID [2020-07-11 01:10:49,140 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-11 01:10:49,141 INFO L280 TraceCheckUtils]: 27: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-11 01:10:49,141 INFO L280 TraceCheckUtils]: 28: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-11 01:10:49,141 INFO L280 TraceCheckUtils]: 29: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-11 01:10:49,141 INFO L280 TraceCheckUtils]: 30: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,142 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-11 01:10:49,142 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-11 01:10:49,142 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-11 01:10:49,143 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-11 01:10:49,143 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-11 01:10:49,143 INFO L280 TraceCheckUtils]: 36: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-11 01:10:49,143 INFO L280 TraceCheckUtils]: 37: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-11 01:10:49,144 INFO L280 TraceCheckUtils]: 38: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-11 01:10:49,144 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-11 01:10:49,144 INFO L280 TraceCheckUtils]: 40: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-11 01:10:49,145 INFO L280 TraceCheckUtils]: 41: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-11 01:10:49,145 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-11 01:10:49,145 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-11 01:10:49,145 INFO L280 TraceCheckUtils]: 44: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-11 01:10:49,147 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-11 01:10:49,147 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-11 01:10:49,147 INFO L280 TraceCheckUtils]: 47: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-11 01:10:49,148 INFO L280 TraceCheckUtils]: 48: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-11 01:10:49,148 INFO L280 TraceCheckUtils]: 49: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-11 01:10:49,148 INFO L280 TraceCheckUtils]: 50: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,148 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-11 01:10:49,149 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-11 01:10:49,149 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-11 01:10:49,149 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-11 01:10:49,150 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-11 01:10:49,150 INFO L280 TraceCheckUtils]: 56: Hoare triple {10644#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10644#true} is VALID [2020-07-11 01:10:49,150 INFO L280 TraceCheckUtils]: 57: Hoare triple {10644#true} assume #t~nondet3 == ~len; {10644#true} is VALID [2020-07-11 01:10:49,150 INFO L280 TraceCheckUtils]: 58: Hoare triple {10644#true} #t~ite4 := 1; {10644#true} is VALID [2020-07-11 01:10:49,151 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-11 01:10:49,151 INFO L280 TraceCheckUtils]: 60: Hoare triple {10644#true} havoc #t~ite4; {10644#true} is VALID [2020-07-11 01:10:49,151 INFO L280 TraceCheckUtils]: 61: Hoare triple {10644#true} havoc #t~nondet3; {10644#true} is VALID [2020-07-11 01:10:49,152 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-11 01:10:49,152 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-11 01:10:49,152 INFO L280 TraceCheckUtils]: 64: Hoare triple {10644#true} assume ~head~0.base != 0 || ~head~0.offset != 0; {10644#true} is VALID [2020-07-11 01:10:49,152 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-11 01:10:49,153 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-11 01:10:49,153 INFO L280 TraceCheckUtils]: 67: Hoare triple {10644#true} #t~post5 := ~len; {10644#true} is VALID [2020-07-11 01:10:49,153 INFO L280 TraceCheckUtils]: 68: Hoare triple {10644#true} ~len := #t~post5 - 1; {10644#true} is VALID [2020-07-11 01:10:49,154 INFO L280 TraceCheckUtils]: 69: Hoare triple {10644#true} havoc #t~post5; {10644#true} is VALID [2020-07-11 01:10:49,154 INFO L280 TraceCheckUtils]: 70: Hoare triple {10644#true} assume !!(~len > 0); {10644#true} is VALID [2020-07-11 01:10:49,158 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-11 01:10:49,159 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-11 01:10:49,160 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-11 01:10:49,161 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-11 01:10:49,162 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-11 01:10:49,162 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-11 01:10:49,163 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-11 01:10:49,164 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-11 01:10:49,164 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-11 01:10:49,165 INFO L280 TraceCheckUtils]: 80: 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-11 01:10:49,166 INFO L280 TraceCheckUtils]: 81: 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-11 01:10:49,167 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-11 01:10:49,167 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-11 01:10:49,168 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-11 01:10:49,169 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-11 01:10:49,170 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-11 01:10:49,170 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-11 01:10:49,171 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-11 01:10:49,172 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-11 01:10:49,173 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-11 01:10:49,174 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-11 01:10:49,175 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-11 01:10:49,175 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-11 01:10:49,177 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-11 01:10:49,179 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-11 01:10:49,180 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-11 01:10:49,181 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-11 01:10:49,182 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-11 01:10:49,184 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-11 01:10:49,185 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~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-11 01:10:49,186 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~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-11 01:10:49,188 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-11 01:10:49,189 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-11 01:10:49,190 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-11 01:10:49,192 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-11 01:10:49,193 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-11 01:10:49,193 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-11 01:10:49,194 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-11 01:10:49,195 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-11 01:10:49,196 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-11 01:10:49,198 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-11 01:10:49,198 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-11 01:10:49,199 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-11 01:10:49,200 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-11 01:10:49,201 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-11 01:10:49,202 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-11 01:10:49,203 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-11 01:10:49,203 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-11 01:10:49,204 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-11 01:10:49,205 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-11 01:10:49,206 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-11 01:10:49,206 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-11 01:10:49,207 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-11 01:10:49,208 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-11 01:10:49,209 INFO L280 TraceCheckUtils]: 125: Hoare triple {10759#(not |main_#t~short17|)} assume #t~short17; {10645#false} is VALID [2020-07-11 01:10:49,209 INFO L280 TraceCheckUtils]: 126: Hoare triple {10645#false} #t~short19 := #t~short17; {10645#false} is VALID [2020-07-11 01:10:49,210 INFO L280 TraceCheckUtils]: 127: Hoare triple {10645#false} assume #t~short19; {10645#false} is VALID [2020-07-11 01:10:49,210 INFO L280 TraceCheckUtils]: 128: Hoare triple {10645#false} assume #t~short19; {10645#false} is VALID [2020-07-11 01:10:49,210 INFO L280 TraceCheckUtils]: 129: Hoare triple {10645#false} havoc #t~short17; {10645#false} is VALID [2020-07-11 01:10:49,210 INFO L280 TraceCheckUtils]: 130: Hoare triple {10645#false} havoc #t~short19; {10645#false} is VALID [2020-07-11 01:10:49,211 INFO L280 TraceCheckUtils]: 131: Hoare triple {10645#false} havoc #t~mem18; {10645#false} is VALID [2020-07-11 01:10:49,211 INFO L280 TraceCheckUtils]: 132: Hoare triple {10645#false} havoc #t~mem15; {10645#false} is VALID [2020-07-11 01:10:49,211 INFO L280 TraceCheckUtils]: 133: Hoare triple {10645#false} havoc #t~mem16; {10645#false} is VALID [2020-07-11 01:10:49,211 INFO L280 TraceCheckUtils]: 134: Hoare triple {10645#false} assume !false; {10645#false} is VALID [2020-07-11 01:10:49,249 INFO L134 CoverageAnalysis]: Checked inductivity of 201 backedges. 118 proven. 19 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2020-07-11 01:10:49,249 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [135101576] [2020-07-11 01:10:49,250 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:10:49,250 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:10:49,250 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1325379253] [2020-07-11 01:10:49,251 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 135 [2020-07-11 01:10:49,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:10:49,252 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:10:49,392 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-11 01:10:49,392 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:10:49,393 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:10:49,393 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:10:49,393 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=239, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:10:49,394 INFO L87 Difference]: Start difference. First operand 187 states and 201 transitions. Second operand 17 states. [2020-07-11 01:10:53,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:53,295 INFO L93 Difference]: Finished difference Result 281 states and 301 transitions. [2020-07-11 01:10:53,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-11 01:10:53,295 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 135 [2020-07-11 01:10:53,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:10:53,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:53,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 231 transitions. [2020-07-11 01:10:53,299 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:10:53,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 231 transitions. [2020-07-11 01:10:53,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 231 transitions. [2020-07-11 01:10:53,574 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-11 01:10:53,581 INFO L225 Difference]: With dead ends: 281 [2020-07-11 01:10:53,581 INFO L226 Difference]: Without dead ends: 253 [2020-07-11 01:10:53,582 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 9 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=165, Invalid=827, Unknown=0, NotChecked=0, Total=992 [2020-07-11 01:10:53,583 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2020-07-11 01:10:54,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 195. [2020-07-11 01:10:54,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:10:54,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand 195 states. [2020-07-11 01:10:54,402 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand 195 states. [2020-07-11 01:10:54,402 INFO L87 Difference]: Start difference. First operand 253 states. Second operand 195 states. [2020-07-11 01:10:54,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:54,410 INFO L93 Difference]: Finished difference Result 253 states and 270 transitions. [2020-07-11 01:10:54,410 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 270 transitions. [2020-07-11 01:10:54,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:54,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:54,412 INFO L74 IsIncluded]: Start isIncluded. First operand 195 states. Second operand 253 states. [2020-07-11 01:10:54,412 INFO L87 Difference]: Start difference. First operand 195 states. Second operand 253 states. [2020-07-11 01:10:54,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:10:54,418 INFO L93 Difference]: Finished difference Result 253 states and 270 transitions. [2020-07-11 01:10:54,418 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 270 transitions. [2020-07-11 01:10:54,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:10:54,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:10:54,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:10:54,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:10:54,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 195 states. [2020-07-11 01:10:54,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 195 states to 195 states and 209 transitions. [2020-07-11 01:10:54,423 INFO L78 Accepts]: Start accepts. Automaton has 195 states and 209 transitions. Word has length 135 [2020-07-11 01:10:54,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:10:54,424 INFO L479 AbstractCegarLoop]: Abstraction has 195 states and 209 transitions. [2020-07-11 01:10:54,424 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:10:54,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 195 states and 209 transitions. [2020-07-11 01:10:54,842 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-11 01:10:54,842 INFO L276 IsEmpty]: Start isEmpty. Operand 195 states and 209 transitions. [2020-07-11 01:10:54,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2020-07-11 01:10:54,843 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:10:54,843 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-11 01:10:54,843 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-11 01:10:54,844 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:10:54,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:10:54,844 INFO L82 PathProgramCache]: Analyzing trace with hash -414346707, now seen corresponding path program 1 times [2020-07-11 01:10:54,844 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:10:54,844 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1547371847] [2020-07-11 01:10:54,845 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:10:54,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 01:10:54,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 01:10:55,040 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-11 01:10:55,041 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-11 01:10:55,041 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: dll_createENTRY has no Hoare annotation [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 01:10:55,175 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L565 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L568 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L67 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L72 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-11 01:10:55,176 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L569-2 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L67-1 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L72-1 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L589-1 has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-11 01:10:55,177 WARN L170 areAnnotationChecker]: L569-3 has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: L570 has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: L589-2 has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: dll_createFINAL has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: L590-5 has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: L590-5 has no Hoare annotation [2020-07-11 01:10:55,178 WARN L170 areAnnotationChecker]: dll_createEXIT has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L590-1 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L590-1 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L572 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L572 has no Hoare annotation [2020-07-11 01:10:55,179 WARN L170 areAnnotationChecker]: L571-1 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L596-2 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L597 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L590-2 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L590-4 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L574 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L597-1 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: L575 has no Hoare annotation [2020-07-11 01:10:55,180 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L597-2 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L591-2 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L591-2 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L576-3 has no Hoare annotation [2020-07-11 01:10:55,181 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L591-6 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L591-4 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L576-4 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L598-2 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L598-2 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L591-7 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L591-7 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L591-5 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L576-5 has no Hoare annotation [2020-07-11 01:10:55,182 WARN L170 areAnnotationChecker]: L598-6 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L598-4 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L591-11 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L591-11 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L591-9 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L576-6 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L598-7 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L598-7 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L598-5 has no Hoare annotation [2020-07-11 01:10:55,183 WARN L170 areAnnotationChecker]: L591-12 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L591-17 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L591-10 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L577 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L598-11 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L598-11 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L598-9 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L591-13 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L591-18 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L577-1 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L598-12 has no Hoare annotation [2020-07-11 01:10:55,184 WARN L170 areAnnotationChecker]: L598-17 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L598-10 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L591-14 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L591-19 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L578 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L578 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L598-13 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L598-18 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L591-15 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L591-20 has no Hoare annotation [2020-07-11 01:10:55,185 WARN L170 areAnnotationChecker]: L580 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L598-14 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L598-19 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L591-16 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L591-21 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L583 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L598-15 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L598-20 has no Hoare annotation [2020-07-11 01:10:55,186 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L594 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L583-1 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L598-16 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L598-21 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L594-1 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L583-2 has no Hoare annotation [2020-07-11 01:10:55,187 WARN L170 areAnnotationChecker]: L601 has no Hoare annotation [2020-07-11 01:10:55,188 WARN L170 areAnnotationChecker]: L594-2 has no Hoare annotation [2020-07-11 01:10:55,188 WARN L170 areAnnotationChecker]: L601-1 has no Hoare annotation [2020-07-11 01:10:55,188 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-11 01:10:55,195 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 11.07 01:10:55 BoogieIcfgContainer [2020-07-11 01:10:55,196 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-11 01:10:55,200 INFO L168 Benchmark]: Toolchain (without parser) took 38346.38 ms. Allocated memory was 133.7 MB in the beginning and 617.6 MB in the end (delta: 483.9 MB). Free memory was 96.2 MB in the beginning and 420.5 MB in the end (delta: -324.3 MB). Peak memory consumption was 159.6 MB. Max. memory is 7.1 GB. [2020-07-11 01:10:55,200 INFO L168 Benchmark]: CDTParser took 0.25 ms. Allocated memory is still 133.7 MB. Free memory was 115.9 MB in the beginning and 115.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-11 01:10:55,205 INFO L168 Benchmark]: CACSL2BoogieTranslator took 720.49 ms. Allocated memory was 133.7 MB in the beginning and 198.7 MB in the end (delta: 65.0 MB). Free memory was 96.0 MB in the beginning and 164.1 MB in the end (delta: -68.1 MB). Peak memory consumption was 26.3 MB. Max. memory is 7.1 GB. [2020-07-11 01:10:55,205 INFO L168 Benchmark]: Boogie Preprocessor took 80.70 ms. Allocated memory is still 198.7 MB. Free memory was 164.1 MB in the beginning and 160.4 MB in the end (delta: 3.7 MB). Peak memory consumption was 3.7 MB. Max. memory is 7.1 GB. [2020-07-11 01:10:55,206 INFO L168 Benchmark]: RCFGBuilder took 823.77 ms. Allocated memory is still 198.7 MB. Free memory was 160.4 MB in the beginning and 93.8 MB in the end (delta: 66.6 MB). Peak memory consumption was 66.6 MB. Max. memory is 7.1 GB. [2020-07-11 01:10:55,207 INFO L168 Benchmark]: TraceAbstraction took 36713.90 ms. Allocated memory was 198.7 MB in the beginning and 617.6 MB in the end (delta: 418.9 MB). Free memory was 93.8 MB in the beginning and 420.5 MB in the end (delta: -326.7 MB). Peak memory consumption was 92.2 MB. Max. memory is 7.1 GB. [2020-07-11 01:10:55,215 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.25 ms. Allocated memory is still 133.7 MB. Free memory was 115.9 MB in the beginning and 115.6 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 720.49 ms. Allocated memory was 133.7 MB in the beginning and 198.7 MB in the end (delta: 65.0 MB). Free memory was 96.0 MB in the beginning and 164.1 MB in the end (delta: -68.1 MB). Peak memory consumption was 26.3 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 80.70 ms. Allocated memory is still 198.7 MB. Free memory was 164.1 MB in the beginning and 160.4 MB in the end (delta: 3.7 MB). Peak memory consumption was 3.7 MB. Max. memory is 7.1 GB. * RCFGBuilder took 823.77 ms. Allocated memory is still 198.7 MB. Free memory was 160.4 MB in the beginning and 93.8 MB in the end (delta: 66.6 MB). Peak memory consumption was 66.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 36713.90 ms. Allocated memory was 198.7 MB in the beginning and 617.6 MB in the end (delta: 418.9 MB). Free memory was 93.8 MB in the beginning and 420.5 MB in the end (delta: -326.7 MB). Peak memory consumption was 92.2 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; VAL [len=5] [L589] CALL, EXPR dll_create(len) VAL [\old(len)=5] [L568] DLL head = ((void *)0); VAL [\old(len)=5, head={0:0}, len=5] [L569] COND TRUE len > 0 VAL [\old(len)=5, head={0:0}, len=5] [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L571] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L574] new_head->data_0 = 0 VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L575] new_head->data_1 = 0 VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=5, __VERIFIER_nondet_int() == len? 1 : 0=1, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=5, __VERIFIER_nondet_int() == len? 1 : 0=1, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L577] new_head->next = head VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L578] new_head->prev = ((void *)0) VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L579] COND FALSE !(\read(head)) VAL [\old(len)=5, head={0:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L582] head = new_head VAL [\old(len)=5, head={-1:0}, len=5, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L583] len-- VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L569] COND TRUE len > 0 VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-1:0}, new_head={-1:0}] [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L571] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L574] new_head->data_0 = 0 VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L575] new_head->data_1 = 0 VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=4, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=4, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L577] new_head->next = head VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L578] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L579] COND TRUE \read(head) VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L580] head->prev = new_head VAL [\old(len)=5, head={-1:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L582] head = new_head VAL [\old(len)=5, head={-2:0}, len=4, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L583] len-- VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L569] COND TRUE len > 0 VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-2:0}, new_head={-2:0}] [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L571] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L574] new_head->data_0 = 0 VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L575] new_head->data_1 = 0 VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=3, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=3, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L577] new_head->next = head VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L578] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L579] COND TRUE \read(head) VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L580] head->prev = new_head VAL [\old(len)=5, head={-2:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L582] head = new_head VAL [\old(len)=5, head={-3:0}, len=3, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L583] len-- VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L569] COND TRUE len > 0 VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-3:0}, new_head={-3:0}] [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L571] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L574] new_head->data_0 = 0 VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L575] new_head->data_1 = 0 VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=2, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=2, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L577] new_head->next = head VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L578] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L579] COND TRUE \read(head) VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L580] head->prev = new_head VAL [\old(len)=5, head={-3:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L582] head = new_head VAL [\old(len)=5, head={-4:0}, len=2, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L583] len-- VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L569] COND TRUE len > 0 VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-4:0}, new_head={-4:0}] [L570] DLL new_head = (DLL) malloc(sizeof(struct node)); VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L571] COND FALSE !(((void *)0) == new_head) VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L574] new_head->data_0 = 0 VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L575] new_head->data_1 = 0 VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L576] EXPR __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=1, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L576] new_head->data_2 = __VERIFIER_nondet_int() == len? 1 : 0 VAL [\old(len)=5, __VERIFIER_nondet_int()=1, __VERIFIER_nondet_int() == len? 1 : 0=1, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L577] new_head->next = head VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L578] new_head->prev = ((void *)0) VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L579] COND TRUE \read(head) VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L580] head->prev = new_head VAL [\old(len)=5, head={-4:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L582] head = new_head VAL [\old(len)=5, head={-5:0}, len=1, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L583] len-- VAL [\old(len)=5, head={-5:0}, len=0, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L569] COND FALSE !(len > 0) VAL [\old(len)=5, head={-5:0}, len=0, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L585] return head; VAL [\old(len)=5, \result={-5:0}, head={-5:0}, len=0, malloc(sizeof(struct node))={-5:0}, new_head={-5:0}] [L589] RET, EXPR dll_create(len) VAL [dll_create(len)={-5:0}, len=5] [L589] DLL head = dll_create(len); VAL [dll_create(len)={-5:0}, head={-5:0}, len=5] [L590] head->next VAL [head={-5:0}, head->next={-4:0}, len=5] [L590] COND TRUE head->next VAL [head={-5:0}, head->next={-4:0}, len=5] [L591] EXPR head->data_0 VAL [head={-5:0}, head->data_0=0, len=5] [L591] EXPR 0 != head->data_0 || 0 != head->data_1 VAL [0 != head->data_0 || 0 != head->data_1=0, head={-5:0}, head->data_0=0, len=5] [L591] EXPR head->data_1 VAL [0 != head->data_0 || 0 != head->data_1=0, head={-5:0}, head->data_0=0, head->data_1=0, len=5] [L591] EXPR 0 != head->data_0 || 0 != head->data_1 VAL [0 != head->data_0 || 0 != head->data_1=0, head={-5:0}, head->data_0=0, head->data_1=0, len=5] [L591] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 VAL [0 != head->data_0 || 0 != head->data_1=0, 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2=0, head={-5:0}, head->data_0=0, head->data_1=0, len=5] [L591] EXPR head->data_2 VAL [0 != head->data_0 || 0 != head->data_1=0, 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2=0, head={-5:0}, head->data_0=0, head->data_1=0, head->data_2=1, len=5] [L591] 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 VAL [0 != head->data_0 || 0 != head->data_1=0, 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2=1, head={-5:0}, head->data_0=0, head->data_1=0, head->data_2=1, len=5] [L591] COND TRUE 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2 VAL [0 != head->data_0 || 0 != head->data_1=0, 0 != head->data_0 || 0 != head->data_1 || 0 != head->data_2=1, head={-5:0}, head->data_0=0, head->data_1=0, head->data_2=1, len=5] [L605] __VERIFIER_error() VAL [head={-5:0}, len=5] - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 112 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 36.4s, OverallIterations: 11, TraceHistogramMax: 5, AutomataDifference: 23.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 920 SDtfs, 1503 SDslu, 6156 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.7s AutomataMinimizationTime, 10 MinimizatonAttempts, 328 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 4.3s InterpolantComputationTime, 992 NumberOfCodeBlocks, 992 NumberOfCodeBlocksAsserted, 11 NumberOfCheckSat, 847 ConstructedInterpolants, 0 QuantifiedInterpolants, 334431 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 10 InterpolantComputations, 2 PerfectInterpolantSequences, 554/828 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...