/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/forester-heap/dll-rb-sentinel-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 12:27:02,499 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 12:27:02,501 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 12:27:02,520 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 12:27:02,520 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 12:27:02,522 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 12:27:02,524 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 12:27:02,537 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 12:27:02,540 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 12:27:02,540 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 12:27:02,543 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 12:27:02,545 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 12:27:02,545 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 12:27:02,547 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 12:27:02,550 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 12:27:02,551 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 12:27:02,554 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 12:27:02,555 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 12:27:02,558 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 12:27:02,563 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 12:27:02,567 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 12:27:02,568 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 12:27:02,569 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 12:27:02,571 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 12:27:02,573 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 12:27:02,573 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 12:27:02,573 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 12:27:02,577 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 12:27:02,577 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 12:27:02,579 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 12:27:02,579 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 12:27:02,580 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 12:27:02,582 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 12:27:02,582 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 12:27:02,585 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 12:27:02,585 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 12:27:02,588 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 12:27:02,588 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 12:27:02,588 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 12:27:02,589 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 12:27:02,590 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 12:27:02,591 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-08 12:27:02,612 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 12:27:02,612 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 12:27:02,614 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-08 12:27:02,615 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-08 12:27:02,615 INFO L138 SettingsManager]: * Use SBE=true [2020-07-08 12:27:02,615 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 12:27:02,615 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 12:27:02,615 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 12:27:02,616 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 12:27:02,616 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 12:27:02,617 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 12:27:02,617 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 12:27:02,617 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 12:27:02,618 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 12:27:02,618 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 12:27:02,618 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 12:27:02,618 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 12:27:02,619 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 12:27:02,619 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-08 12:27:02,619 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 12:27:02,619 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 12:27:02,619 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 12:27:02,620 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 12:27:02,620 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-08 12:27:02,620 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-08 12:27:02,620 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-08 12:27:02,620 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-08 12:27:02,621 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 12:27:02,621 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-08 12:27:02,621 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-08 12:27:02,883 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 12:27:02,903 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 12:27:02,907 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 12:27:02,908 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 12:27:02,908 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 12:27:02,910 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/forester-heap/dll-rb-sentinel-1.i [2020-07-08 12:27:02,991 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/21fd5e003/65cd330ee38148a6b606f8954ba415f6/FLAG73aa14bf2 [2020-07-08 12:27:03,581 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 12:27:03,582 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/forester-heap/dll-rb-sentinel-1.i [2020-07-08 12:27:03,604 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/21fd5e003/65cd330ee38148a6b606f8954ba415f6/FLAG73aa14bf2 [2020-07-08 12:27:03,836 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/21fd5e003/65cd330ee38148a6b606f8954ba415f6 [2020-07-08 12:27:03,845 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 12:27:03,846 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 12:27:03,847 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 12:27:03,848 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 12:27:03,851 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 12:27:03,853 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 12:27:03" (1/1) ... [2020-07-08 12:27:03,855 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ebe7972 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:03, skipping insertion in model container [2020-07-08 12:27:03,856 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 12:27:03" (1/1) ... [2020-07-08 12:27:03,862 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 12:27:03,919 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 12:27:04,386 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 12:27:04,406 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 12:27:04,456 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 12:27:04,521 INFO L208 MainTranslator]: Completed translation [2020-07-08 12:27:04,522 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04 WrapperNode [2020-07-08 12:27:04,522 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 12:27:04,523 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 12:27:04,523 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 12:27:04,523 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 12:27:04,537 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,537 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,554 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,555 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,582 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,592 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,595 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (1/1) ... [2020-07-08 12:27:04,602 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 12:27:04,603 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 12:27:04,603 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 12:27:04,603 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 12:27:04,605 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (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-08 12:27:04,663 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 12:27:04,664 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 12:27:04,664 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 12:27:04,664 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-08 12:27:04,664 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-08 12:27:04,664 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-08 12:27:04,664 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-08 12:27:04,665 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-08 12:27:04,665 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-08 12:27:04,665 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-08 12:27:04,665 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-08 12:27:04,665 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-08 12:27:04,666 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-08 12:27:04,667 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-08 12:27:04,667 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-08 12:27:04,667 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-08 12:27:04,667 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-08 12:27:04,667 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-08 12:27:04,667 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-08 12:27:04,668 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-08 12:27:04,668 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-08 12:27:04,668 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-08 12:27:04,668 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-08 12:27:04,668 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-08 12:27:04,668 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-08 12:27:04,669 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-08 12:27:04,670 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-08 12:27:04,670 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-08 12:27:04,670 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-08 12:27:04,670 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-08 12:27:04,670 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-08 12:27:04,670 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-08 12:27:04,671 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-08 12:27:04,672 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-08 12:27:04,672 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-08 12:27:04,672 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 12:27:04,672 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 12:27:04,672 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 12:27:04,672 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-08 12:27:04,673 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-08 12:27:04,674 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-08 12:27:04,674 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-08 12:27:04,674 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-08 12:27:04,674 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-08 12:27:04,674 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-08 12:27:04,674 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-08 12:27:04,675 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-08 12:27:04,675 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-08 12:27:04,675 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-08 12:27:04,675 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-08 12:27:04,675 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-08 12:27:04,675 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-08 12:27:04,676 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-08 12:27:04,676 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-08 12:27:04,676 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-08 12:27:04,676 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-08 12:27:04,676 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-08 12:27:04,680 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-08 12:27:04,681 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-08 12:27:04,682 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-08 12:27:04,682 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-08 12:27:04,682 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-08 12:27:04,682 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-08 12:27:04,682 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-08 12:27:04,682 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-08 12:27:04,683 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 12:27:04,684 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 12:27:04,685 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 12:27:04,686 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 12:27:05,489 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 12:27:05,490 INFO L295 CfgBuilder]: Removed 17 assume(true) statements. [2020-07-08 12:27:05,496 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 12:27:05 BoogieIcfgContainer [2020-07-08 12:27:05,496 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 12:27:05,499 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 12:27:05,500 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 12:27:05,503 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 12:27:05,504 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 12:27:03" (1/3) ... [2020-07-08 12:27:05,505 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2914f66d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 12:27:05, skipping insertion in model container [2020-07-08 12:27:05,505 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:27:04" (2/3) ... [2020-07-08 12:27:05,506 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2914f66d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 12:27:05, skipping insertion in model container [2020-07-08 12:27:05,506 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 12:27:05" (3/3) ... [2020-07-08 12:27:05,509 INFO L109 eAbstractionObserver]: Analyzing ICFG dll-rb-sentinel-1.i [2020-07-08 12:27:05,521 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-08 12:27:05,530 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 7 error locations. [2020-07-08 12:27:05,560 INFO L251 AbstractCegarLoop]: Starting to check reachability of 7 error locations. [2020-07-08 12:27:05,591 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 12:27:05,591 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 12:27:05,591 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-08 12:27:05,592 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 12:27:05,592 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 12:27:05,593 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 12:27:05,596 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 12:27:05,597 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 12:27:05,615 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states. [2020-07-08 12:27:05,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-08 12:27:05,621 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:05,622 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:05,623 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:05,628 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:05,628 INFO L82 PathProgramCache]: Analyzing trace with hash -1255802584, now seen corresponding path program 1 times [2020-07-08 12:27:05,636 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:05,637 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1976855898] [2020-07-08 12:27:05,637 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:05,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:05,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:05,852 INFO L280 TraceCheckUtils]: 0: Hoare triple {60#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {55#true} is VALID [2020-07-08 12:27:05,853 INFO L280 TraceCheckUtils]: 1: Hoare triple {55#true} assume true; {55#true} is VALID [2020-07-08 12:27:05,853 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {55#true} {55#true} #189#return; {55#true} is VALID [2020-07-08 12:27:05,857 INFO L263 TraceCheckUtils]: 0: Hoare triple {55#true} call ULTIMATE.init(); {60#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:05,858 INFO L280 TraceCheckUtils]: 1: Hoare triple {60#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {55#true} is VALID [2020-07-08 12:27:05,858 INFO L280 TraceCheckUtils]: 2: Hoare triple {55#true} assume true; {55#true} is VALID [2020-07-08 12:27:05,858 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {55#true} {55#true} #189#return; {55#true} is VALID [2020-07-08 12:27:05,859 INFO L263 TraceCheckUtils]: 4: Hoare triple {55#true} call #t~ret21 := main(); {55#true} is VALID [2020-07-08 12:27:05,859 INFO L280 TraceCheckUtils]: 5: Hoare triple {55#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {55#true} is VALID [2020-07-08 12:27:05,860 INFO L280 TraceCheckUtils]: 6: Hoare triple {55#true} assume !true; {56#false} is VALID [2020-07-08 12:27:05,861 INFO L280 TraceCheckUtils]: 7: Hoare triple {56#false} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {56#false} is VALID [2020-07-08 12:27:05,861 INFO L280 TraceCheckUtils]: 8: Hoare triple {56#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {56#false} is VALID [2020-07-08 12:27:05,861 INFO L280 TraceCheckUtils]: 9: Hoare triple {56#false} assume !false; {56#false} is VALID [2020-07-08 12:27:05,863 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-08 12:27:05,863 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1976855898] [2020-07-08 12:27:05,864 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:05,864 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-08 12:27:05,865 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [162574193] [2020-07-08 12:27:05,871 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 10 [2020-07-08 12:27:05,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:05,878 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-08 12:27:05,903 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:05,903 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-08 12:27:05,904 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:05,913 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-08 12:27:05,913 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 12:27:05,916 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 3 states. [2020-07-08 12:27:06,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:06,220 INFO L93 Difference]: Finished difference Result 98 states and 156 transitions. [2020-07-08 12:27:06,220 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-08 12:27:06,220 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 10 [2020-07-08 12:27:06,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:06,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 12:27:06,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 156 transitions. [2020-07-08 12:27:06,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 12:27:06,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 156 transitions. [2020-07-08 12:27:06,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 156 transitions. [2020-07-08 12:27:06,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:06,482 INFO L225 Difference]: With dead ends: 98 [2020-07-08 12:27:06,482 INFO L226 Difference]: Without dead ends: 45 [2020-07-08 12:27:06,490 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 12:27:06,512 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2020-07-08 12:27:06,548 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2020-07-08 12:27:06,548 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:06,549 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 45 states. [2020-07-08 12:27:06,549 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2020-07-08 12:27:06,550 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2020-07-08 12:27:06,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:06,557 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2020-07-08 12:27:06,557 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2020-07-08 12:27:06,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:06,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:06,558 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2020-07-08 12:27:06,558 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2020-07-08 12:27:06,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:06,567 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2020-07-08 12:27:06,569 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2020-07-08 12:27:06,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:06,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:06,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:06,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:06,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2020-07-08 12:27:06,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 48 transitions. [2020-07-08 12:27:06,579 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 48 transitions. Word has length 10 [2020-07-08 12:27:06,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:06,579 INFO L479 AbstractCegarLoop]: Abstraction has 45 states and 48 transitions. [2020-07-08 12:27:06,579 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-08 12:27:06,579 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2020-07-08 12:27:06,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2020-07-08 12:27:06,581 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:06,581 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:06,581 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 12:27:06,582 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:06,583 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:06,583 INFO L82 PathProgramCache]: Analyzing trace with hash -338068956, now seen corresponding path program 1 times [2020-07-08 12:27:06,583 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:06,584 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1879351817] [2020-07-08 12:27:06,584 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:06,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:06,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:06,719 INFO L280 TraceCheckUtils]: 0: Hoare triple {320#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {313#true} is VALID [2020-07-08 12:27:06,719 INFO L280 TraceCheckUtils]: 1: Hoare triple {313#true} assume true; {313#true} is VALID [2020-07-08 12:27:06,720 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {313#true} {313#true} #189#return; {313#true} is VALID [2020-07-08 12:27:06,722 INFO L263 TraceCheckUtils]: 0: Hoare triple {313#true} call ULTIMATE.init(); {320#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:06,722 INFO L280 TraceCheckUtils]: 1: Hoare triple {320#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {313#true} is VALID [2020-07-08 12:27:06,723 INFO L280 TraceCheckUtils]: 2: Hoare triple {313#true} assume true; {313#true} is VALID [2020-07-08 12:27:06,723 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {313#true} {313#true} #189#return; {313#true} is VALID [2020-07-08 12:27:06,724 INFO L263 TraceCheckUtils]: 4: Hoare triple {313#true} call #t~ret21 := main(); {313#true} is VALID [2020-07-08 12:27:06,726 INFO L280 TraceCheckUtils]: 5: Hoare triple {313#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {318#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 12:27:06,728 INFO L280 TraceCheckUtils]: 6: Hoare triple {318#(not (= main_~list~0.base main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {318#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 12:27:06,730 INFO L280 TraceCheckUtils]: 7: Hoare triple {318#(not (= main_~list~0.base main_~null~0.base))} assume !(0 != #t~nondet2);havoc #t~nondet2; {318#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 12:27:06,733 INFO L280 TraceCheckUtils]: 8: Hoare triple {318#(not (= main_~list~0.base main_~null~0.base))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {319#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:06,734 INFO L280 TraceCheckUtils]: 9: Hoare triple {319#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {314#false} is VALID [2020-07-08 12:27:06,734 INFO L280 TraceCheckUtils]: 10: Hoare triple {314#false} assume !false; {314#false} is VALID [2020-07-08 12:27:06,735 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-08 12:27:06,736 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1879351817] [2020-07-08 12:27:06,736 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:06,736 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 12:27:06,737 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1384313359] [2020-07-08 12:27:06,738 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2020-07-08 12:27:06,739 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:06,739 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 12:27:06,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:06,758 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 12:27:06,759 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:06,759 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 12:27:06,760 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 12:27:06,760 INFO L87 Difference]: Start difference. First operand 45 states and 48 transitions. Second operand 5 states. [2020-07-08 12:27:07,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:07,195 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2020-07-08 12:27:07,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-08 12:27:07,196 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2020-07-08 12:27:07,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:07,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:07,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2020-07-08 12:27:07,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:07,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2020-07-08 12:27:07,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2020-07-08 12:27:07,284 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:07,286 INFO L225 Difference]: With dead ends: 51 [2020-07-08 12:27:07,286 INFO L226 Difference]: Without dead ends: 49 [2020-07-08 12:27:07,288 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-08 12:27:07,288 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2020-07-08 12:27:07,303 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 43. [2020-07-08 12:27:07,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:07,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 43 states. [2020-07-08 12:27:07,304 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 43 states. [2020-07-08 12:27:07,304 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 43 states. [2020-07-08 12:27:07,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:07,308 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2020-07-08 12:27:07,308 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2020-07-08 12:27:07,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:07,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:07,309 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 49 states. [2020-07-08 12:27:07,309 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 49 states. [2020-07-08 12:27:07,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:07,313 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2020-07-08 12:27:07,313 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2020-07-08 12:27:07,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:07,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:07,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:07,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:07,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2020-07-08 12:27:07,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2020-07-08 12:27:07,317 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 11 [2020-07-08 12:27:07,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:07,317 INFO L479 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2020-07-08 12:27:07,318 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 12:27:07,318 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2020-07-08 12:27:07,318 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2020-07-08 12:27:07,318 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:07,319 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:07,319 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 12:27:07,319 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:07,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:07,320 INFO L82 PathProgramCache]: Analyzing trace with hash -1890143313, now seen corresponding path program 1 times [2020-07-08 12:27:07,320 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:07,320 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [658104570] [2020-07-08 12:27:07,320 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:07,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:07,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:07,476 INFO L280 TraceCheckUtils]: 0: Hoare triple {539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {532#true} is VALID [2020-07-08 12:27:07,477 INFO L280 TraceCheckUtils]: 1: Hoare triple {532#true} assume true; {532#true} is VALID [2020-07-08 12:27:07,477 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {532#true} {532#true} #189#return; {532#true} is VALID [2020-07-08 12:27:07,479 INFO L263 TraceCheckUtils]: 0: Hoare triple {532#true} call ULTIMATE.init(); {539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:07,479 INFO L280 TraceCheckUtils]: 1: Hoare triple {539#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {532#true} is VALID [2020-07-08 12:27:07,480 INFO L280 TraceCheckUtils]: 2: Hoare triple {532#true} assume true; {532#true} is VALID [2020-07-08 12:27:07,480 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {532#true} {532#true} #189#return; {532#true} is VALID [2020-07-08 12:27:07,481 INFO L263 TraceCheckUtils]: 4: Hoare triple {532#true} call #t~ret21 := main(); {532#true} is VALID [2020-07-08 12:27:07,481 INFO L280 TraceCheckUtils]: 5: Hoare triple {532#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {532#true} is VALID [2020-07-08 12:27:07,481 INFO L280 TraceCheckUtils]: 6: Hoare triple {532#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {532#true} is VALID [2020-07-08 12:27:07,482 INFO L280 TraceCheckUtils]: 7: Hoare triple {532#true} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {532#true} is VALID [2020-07-08 12:27:07,486 INFO L280 TraceCheckUtils]: 8: Hoare triple {532#true} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {537#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:07,488 INFO L280 TraceCheckUtils]: 9: Hoare triple {537#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {538#(= ~unnamed1~0~BLACK |main_#t~mem10|)} is VALID [2020-07-08 12:27:07,489 INFO L280 TraceCheckUtils]: 10: Hoare triple {538#(= ~unnamed1~0~BLACK |main_#t~mem10|)} assume !(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {533#false} is VALID [2020-07-08 12:27:07,489 INFO L280 TraceCheckUtils]: 11: Hoare triple {533#false} assume !false; {533#false} is VALID [2020-07-08 12:27:07,490 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-08 12:27:07,490 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [658104570] [2020-07-08 12:27:07,491 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:07,491 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 12:27:07,491 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [54937066] [2020-07-08 12:27:07,492 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 12 [2020-07-08 12:27:07,492 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:07,492 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 12:27:07,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:07,516 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 12:27:07,516 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:07,516 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 12:27:07,516 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 12:27:07,517 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand 5 states. [2020-07-08 12:27:07,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:07,895 INFO L93 Difference]: Finished difference Result 43 states and 46 transitions. [2020-07-08 12:27:07,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-08 12:27:07,895 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 12 [2020-07-08 12:27:07,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:07,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:07,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2020-07-08 12:27:07,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:07,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2020-07-08 12:27:07,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2020-07-08 12:27:07,954 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:07,956 INFO L225 Difference]: With dead ends: 43 [2020-07-08 12:27:07,956 INFO L226 Difference]: Without dead ends: 41 [2020-07-08 12:27:07,957 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-08 12:27:07,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-08 12:27:07,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2020-07-08 12:27:07,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:07,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 41 states. [2020-07-08 12:27:07,971 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2020-07-08 12:27:07,971 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2020-07-08 12:27:07,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:07,974 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-08 12:27:07,974 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-08 12:27:07,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:07,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:07,975 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2020-07-08 12:27:07,975 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2020-07-08 12:27:07,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:07,978 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-08 12:27:07,978 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-08 12:27:07,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:07,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:07,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:07,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:07,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2020-07-08 12:27:07,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 44 transitions. [2020-07-08 12:27:07,982 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 44 transitions. Word has length 12 [2020-07-08 12:27:07,982 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:07,982 INFO L479 AbstractCegarLoop]: Abstraction has 41 states and 44 transitions. [2020-07-08 12:27:07,982 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 12:27:07,983 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-08 12:27:07,983 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-08 12:27:07,983 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:07,983 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:07,984 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 12:27:07,984 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:07,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:07,985 INFO L82 PathProgramCache]: Analyzing trace with hash 290038970, now seen corresponding path program 1 times [2020-07-08 12:27:07,985 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:07,985 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [774300509] [2020-07-08 12:27:07,985 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:08,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:08,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:08,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {733#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {724#true} is VALID [2020-07-08 12:27:08,258 INFO L280 TraceCheckUtils]: 1: Hoare triple {724#true} assume true; {724#true} is VALID [2020-07-08 12:27:08,258 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {724#true} {724#true} #189#return; {724#true} is VALID [2020-07-08 12:27:08,260 INFO L263 TraceCheckUtils]: 0: Hoare triple {724#true} call ULTIMATE.init(); {733#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:08,260 INFO L280 TraceCheckUtils]: 1: Hoare triple {733#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {724#true} is VALID [2020-07-08 12:27:08,260 INFO L280 TraceCheckUtils]: 2: Hoare triple {724#true} assume true; {724#true} is VALID [2020-07-08 12:27:08,260 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {724#true} {724#true} #189#return; {724#true} is VALID [2020-07-08 12:27:08,261 INFO L263 TraceCheckUtils]: 4: Hoare triple {724#true} call #t~ret21 := main(); {724#true} is VALID [2020-07-08 12:27:08,264 INFO L280 TraceCheckUtils]: 5: Hoare triple {724#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {729#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:08,266 INFO L280 TraceCheckUtils]: 6: Hoare triple {729#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {729#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:08,267 INFO L280 TraceCheckUtils]: 7: Hoare triple {729#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume !(0 != #t~nondet2);havoc #t~nondet2; {729#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:08,268 INFO L280 TraceCheckUtils]: 8: Hoare triple {729#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {730#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:08,269 INFO L280 TraceCheckUtils]: 9: Hoare triple {730#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {731#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:08,270 INFO L280 TraceCheckUtils]: 10: Hoare triple {731#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} goto; {731#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:08,271 INFO L280 TraceCheckUtils]: 11: Hoare triple {731#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {732#(= ~unnamed1~0~BLACK |main_#t~mem12|)} is VALID [2020-07-08 12:27:08,272 INFO L280 TraceCheckUtils]: 12: Hoare triple {732#(= ~unnamed1~0~BLACK |main_#t~mem12|)} assume !(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {725#false} is VALID [2020-07-08 12:27:08,272 INFO L280 TraceCheckUtils]: 13: Hoare triple {725#false} assume !false; {725#false} is VALID [2020-07-08 12:27:08,273 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-08 12:27:08,274 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [774300509] [2020-07-08 12:27:08,274 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:08,274 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 12:27:08,274 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1142127099] [2020-07-08 12:27:08,275 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 14 [2020-07-08 12:27:08,275 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:08,275 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 12:27:08,296 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:08,296 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 12:27:08,296 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:08,297 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 12:27:08,297 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2020-07-08 12:27:08,297 INFO L87 Difference]: Start difference. First operand 41 states and 44 transitions. Second operand 7 states. [2020-07-08 12:27:09,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:09,184 INFO L93 Difference]: Finished difference Result 82 states and 90 transitions. [2020-07-08 12:27:09,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-08 12:27:09,185 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 14 [2020-07-08 12:27:09,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:09,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 12:27:09,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2020-07-08 12:27:09,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 12:27:09,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2020-07-08 12:27:09,192 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2020-07-08 12:27:09,337 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:09,340 INFO L225 Difference]: With dead ends: 82 [2020-07-08 12:27:09,340 INFO L226 Difference]: Without dead ends: 80 [2020-07-08 12:27:09,341 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2020-07-08 12:27:09,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-08 12:27:09,385 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 59. [2020-07-08 12:27:09,385 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:09,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 59 states. [2020-07-08 12:27:09,385 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 59 states. [2020-07-08 12:27:09,386 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 59 states. [2020-07-08 12:27:09,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:09,394 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-08 12:27:09,394 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-08 12:27:09,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:09,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:09,395 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 80 states. [2020-07-08 12:27:09,398 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 80 states. [2020-07-08 12:27:09,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:09,401 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-08 12:27:09,402 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-08 12:27:09,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:09,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:09,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:09,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:09,404 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-08 12:27:09,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 67 transitions. [2020-07-08 12:27:09,408 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 67 transitions. Word has length 14 [2020-07-08 12:27:09,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:09,408 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 67 transitions. [2020-07-08 12:27:09,408 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 12:27:09,408 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 67 transitions. [2020-07-08 12:27:09,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-08 12:27:09,413 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:09,413 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:09,413 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 12:27:09,414 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:09,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:09,415 INFO L82 PathProgramCache]: Analyzing trace with hash 2060721718, now seen corresponding path program 1 times [2020-07-08 12:27:09,415 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:09,415 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [291060078] [2020-07-08 12:27:09,416 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:09,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:09,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:09,546 INFO L280 TraceCheckUtils]: 0: Hoare triple {1071#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1064#true} is VALID [2020-07-08 12:27:09,546 INFO L280 TraceCheckUtils]: 1: Hoare triple {1064#true} assume true; {1064#true} is VALID [2020-07-08 12:27:09,547 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1064#true} {1064#true} #189#return; {1064#true} is VALID [2020-07-08 12:27:09,548 INFO L263 TraceCheckUtils]: 0: Hoare triple {1064#true} call ULTIMATE.init(); {1071#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:09,548 INFO L280 TraceCheckUtils]: 1: Hoare triple {1071#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1064#true} is VALID [2020-07-08 12:27:09,548 INFO L280 TraceCheckUtils]: 2: Hoare triple {1064#true} assume true; {1064#true} is VALID [2020-07-08 12:27:09,549 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1064#true} {1064#true} #189#return; {1064#true} is VALID [2020-07-08 12:27:09,549 INFO L263 TraceCheckUtils]: 4: Hoare triple {1064#true} call #t~ret21 := main(); {1064#true} is VALID [2020-07-08 12:27:09,549 INFO L280 TraceCheckUtils]: 5: Hoare triple {1064#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1064#true} is VALID [2020-07-08 12:27:09,549 INFO L280 TraceCheckUtils]: 6: Hoare triple {1064#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1064#true} is VALID [2020-07-08 12:27:09,550 INFO L280 TraceCheckUtils]: 7: Hoare triple {1064#true} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {1064#true} is VALID [2020-07-08 12:27:09,553 INFO L280 TraceCheckUtils]: 8: Hoare triple {1064#true} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 12:27:09,554 INFO L280 TraceCheckUtils]: 9: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 12:27:09,555 INFO L280 TraceCheckUtils]: 10: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 12:27:09,556 INFO L280 TraceCheckUtils]: 11: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} goto; {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 12:27:09,557 INFO L280 TraceCheckUtils]: 12: Hoare triple {1069#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {1070#(and (= |main_#t~mem11.offset| main_~null~0.offset) (= |main_#t~mem11.base| main_~null~0.base))} is VALID [2020-07-08 12:27:09,558 INFO L280 TraceCheckUtils]: 13: Hoare triple {1070#(and (= |main_#t~mem11.offset| main_~null~0.offset) (= |main_#t~mem11.base| main_~null~0.base))} assume !(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {1065#false} is VALID [2020-07-08 12:27:09,558 INFO L280 TraceCheckUtils]: 14: Hoare triple {1065#false} assume !false; {1065#false} is VALID [2020-07-08 12:27:09,559 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-08 12:27:09,559 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [291060078] [2020-07-08 12:27:09,559 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:09,559 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 12:27:09,560 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1319631732] [2020-07-08 12:27:09,560 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2020-07-08 12:27:09,560 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:09,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 12:27:09,583 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:09,583 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 12:27:09,583 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:09,583 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 12:27:09,584 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 12:27:09,584 INFO L87 Difference]: Start difference. First operand 59 states and 67 transitions. Second operand 5 states. [2020-07-08 12:27:10,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:10,020 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2020-07-08 12:27:10,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-08 12:27:10,020 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2020-07-08 12:27:10,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:10,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:10,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2020-07-08 12:27:10,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:10,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2020-07-08 12:27:10,024 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2020-07-08 12:27:10,087 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:10,089 INFO L225 Difference]: With dead ends: 59 [2020-07-08 12:27:10,089 INFO L226 Difference]: Without dead ends: 57 [2020-07-08 12:27:10,089 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-08 12:27:10,090 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-08 12:27:10,119 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2020-07-08 12:27:10,120 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:10,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:10,120 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:10,120 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:10,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:10,122 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2020-07-08 12:27:10,123 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2020-07-08 12:27:10,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:10,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:10,123 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:10,124 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:10,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:10,126 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2020-07-08 12:27:10,126 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2020-07-08 12:27:10,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:10,127 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:10,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:10,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:10,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-08 12:27:10,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 64 transitions. [2020-07-08 12:27:10,129 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 64 transitions. Word has length 15 [2020-07-08 12:27:10,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:10,129 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 64 transitions. [2020-07-08 12:27:10,129 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 12:27:10,130 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 64 transitions. [2020-07-08 12:27:10,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-08 12:27:10,130 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:10,130 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:10,131 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 12:27:10,131 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:10,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:10,131 INFO L82 PathProgramCache]: Analyzing trace with hash 373775322, now seen corresponding path program 1 times [2020-07-08 12:27:10,132 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:10,132 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [723798683] [2020-07-08 12:27:10,132 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:10,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:10,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:10,251 INFO L280 TraceCheckUtils]: 0: Hoare triple {1333#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1326#true} is VALID [2020-07-08 12:27:10,251 INFO L280 TraceCheckUtils]: 1: Hoare triple {1326#true} assume true; {1326#true} is VALID [2020-07-08 12:27:10,251 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1326#true} {1326#true} #189#return; {1326#true} is VALID [2020-07-08 12:27:10,253 INFO L263 TraceCheckUtils]: 0: Hoare triple {1326#true} call ULTIMATE.init(); {1333#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:10,253 INFO L280 TraceCheckUtils]: 1: Hoare triple {1333#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1326#true} is VALID [2020-07-08 12:27:10,253 INFO L280 TraceCheckUtils]: 2: Hoare triple {1326#true} assume true; {1326#true} is VALID [2020-07-08 12:27:10,254 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1326#true} {1326#true} #189#return; {1326#true} is VALID [2020-07-08 12:27:10,254 INFO L263 TraceCheckUtils]: 4: Hoare triple {1326#true} call #t~ret21 := main(); {1326#true} is VALID [2020-07-08 12:27:10,257 INFO L280 TraceCheckUtils]: 5: Hoare triple {1326#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1331#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-08 12:27:10,258 INFO L280 TraceCheckUtils]: 6: Hoare triple {1331#(= 1 (select |#valid| main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1331#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-08 12:27:10,261 INFO L280 TraceCheckUtils]: 7: Hoare triple {1331#(= 1 (select |#valid| main_~null~0.base))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {1331#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-08 12:27:10,264 INFO L280 TraceCheckUtils]: 8: Hoare triple {1331#(= 1 (select |#valid| main_~null~0.base))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,265 INFO L280 TraceCheckUtils]: 9: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,266 INFO L280 TraceCheckUtils]: 10: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,267 INFO L280 TraceCheckUtils]: 11: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} goto; {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,267 INFO L280 TraceCheckUtils]: 12: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,268 INFO L280 TraceCheckUtils]: 13: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,269 INFO L280 TraceCheckUtils]: 14: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} goto; {1332#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:10,270 INFO L280 TraceCheckUtils]: 15: Hoare triple {1332#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1327#false} is VALID [2020-07-08 12:27:10,270 INFO L280 TraceCheckUtils]: 16: Hoare triple {1327#false} assume !false; {1327#false} is VALID [2020-07-08 12:27:10,271 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-08 12:27:10,271 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [723798683] [2020-07-08 12:27:10,271 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:10,271 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 12:27:10,271 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [792792024] [2020-07-08 12:27:10,272 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2020-07-08 12:27:10,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:10,272 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 12:27:10,313 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:10,313 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 12:27:10,314 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:10,314 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 12:27:10,314 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-08 12:27:10,314 INFO L87 Difference]: Start difference. First operand 57 states and 64 transitions. Second operand 5 states. [2020-07-08 12:27:10,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:10,664 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2020-07-08 12:27:10,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-08 12:27:10,664 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2020-07-08 12:27:10,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:10,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:10,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2020-07-08 12:27:10,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 12:27:10,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2020-07-08 12:27:10,667 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2020-07-08 12:27:10,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:10,727 INFO L225 Difference]: With dead ends: 57 [2020-07-08 12:27:10,727 INFO L226 Difference]: Without dead ends: 55 [2020-07-08 12:27:10,728 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-08 12:27:10,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2020-07-08 12:27:10,764 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2020-07-08 12:27:10,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:10,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 55 states. [2020-07-08 12:27:10,765 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 55 states. [2020-07-08 12:27:10,765 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 55 states. [2020-07-08 12:27:10,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:10,768 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2020-07-08 12:27:10,768 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2020-07-08 12:27:10,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:10,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:10,769 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 55 states. [2020-07-08 12:27:10,769 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 55 states. [2020-07-08 12:27:10,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:10,772 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2020-07-08 12:27:10,772 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2020-07-08 12:27:10,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:10,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:10,773 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:10,773 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:10,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2020-07-08 12:27:10,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 61 transitions. [2020-07-08 12:27:10,775 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 61 transitions. Word has length 17 [2020-07-08 12:27:10,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:10,775 INFO L479 AbstractCegarLoop]: Abstraction has 55 states and 61 transitions. [2020-07-08 12:27:10,776 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 12:27:10,776 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2020-07-08 12:27:10,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2020-07-08 12:27:10,776 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:10,776 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:10,777 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-08 12:27:10,777 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:10,777 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:10,778 INFO L82 PathProgramCache]: Analyzing trace with hash 1568846049, now seen corresponding path program 1 times [2020-07-08 12:27:10,778 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:10,778 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1574197934] [2020-07-08 12:27:10,778 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:10,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:10,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:10,927 INFO L280 TraceCheckUtils]: 0: Hoare triple {1588#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1580#true} is VALID [2020-07-08 12:27:10,928 INFO L280 TraceCheckUtils]: 1: Hoare triple {1580#true} assume true; {1580#true} is VALID [2020-07-08 12:27:10,928 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1580#true} {1580#true} #189#return; {1580#true} is VALID [2020-07-08 12:27:10,929 INFO L263 TraceCheckUtils]: 0: Hoare triple {1580#true} call ULTIMATE.init(); {1588#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:10,929 INFO L280 TraceCheckUtils]: 1: Hoare triple {1588#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1580#true} is VALID [2020-07-08 12:27:10,929 INFO L280 TraceCheckUtils]: 2: Hoare triple {1580#true} assume true; {1580#true} is VALID [2020-07-08 12:27:10,930 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1580#true} {1580#true} #189#return; {1580#true} is VALID [2020-07-08 12:27:10,930 INFO L263 TraceCheckUtils]: 4: Hoare triple {1580#true} call #t~ret21 := main(); {1580#true} is VALID [2020-07-08 12:27:10,930 INFO L280 TraceCheckUtils]: 5: Hoare triple {1580#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1580#true} is VALID [2020-07-08 12:27:10,931 INFO L280 TraceCheckUtils]: 6: Hoare triple {1580#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1580#true} is VALID [2020-07-08 12:27:10,931 INFO L280 TraceCheckUtils]: 7: Hoare triple {1580#true} assume !(0 != #t~nondet2);havoc #t~nondet2; {1580#true} is VALID [2020-07-08 12:27:10,931 INFO L280 TraceCheckUtils]: 8: Hoare triple {1580#true} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1580#true} is VALID [2020-07-08 12:27:10,931 INFO L280 TraceCheckUtils]: 9: Hoare triple {1580#true} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1580#true} is VALID [2020-07-08 12:27:10,932 INFO L280 TraceCheckUtils]: 10: Hoare triple {1580#true} goto; {1580#true} is VALID [2020-07-08 12:27:10,933 INFO L280 TraceCheckUtils]: 11: Hoare triple {1580#true} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1585#(= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:10,937 INFO L280 TraceCheckUtils]: 12: Hoare triple {1585#(= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {1586#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:10,938 INFO L280 TraceCheckUtils]: 13: Hoare triple {1586#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} goto; {1586#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:10,938 INFO L280 TraceCheckUtils]: 14: Hoare triple {1586#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1587#(= ~unnamed1~0~BLACK |main_#t~mem13|)} is VALID [2020-07-08 12:27:10,939 INFO L280 TraceCheckUtils]: 15: Hoare triple {1587#(= ~unnamed1~0~BLACK |main_#t~mem13|)} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {1581#false} is VALID [2020-07-08 12:27:10,939 INFO L280 TraceCheckUtils]: 16: Hoare triple {1581#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1581#false} is VALID [2020-07-08 12:27:10,940 INFO L280 TraceCheckUtils]: 17: Hoare triple {1581#false} assume !false; {1581#false} is VALID [2020-07-08 12:27:10,940 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-08 12:27:10,941 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1574197934] [2020-07-08 12:27:10,941 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:27:10,941 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-08 12:27:10,941 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1685246013] [2020-07-08 12:27:10,942 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2020-07-08 12:27:10,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:10,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-08 12:27:10,976 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:10,977 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-08 12:27:10,977 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:10,977 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-08 12:27:10,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-08 12:27:10,978 INFO L87 Difference]: Start difference. First operand 55 states and 61 transitions. Second operand 6 states. [2020-07-08 12:27:11,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:11,489 INFO L93 Difference]: Finished difference Result 70 states and 78 transitions. [2020-07-08 12:27:11,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-08 12:27:11,489 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2020-07-08 12:27:11,490 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:11,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-08 12:27:11,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2020-07-08 12:27:11,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-08 12:27:11,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2020-07-08 12:27:11,494 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 57 transitions. [2020-07-08 12:27:11,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:11,576 INFO L225 Difference]: With dead ends: 70 [2020-07-08 12:27:11,577 INFO L226 Difference]: Without dead ends: 58 [2020-07-08 12:27:11,577 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 1 SyntacticMatches, 2 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2020-07-08 12:27:11,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2020-07-08 12:27:11,613 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2020-07-08 12:27:11,613 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:11,614 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 57 states. [2020-07-08 12:27:11,614 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 57 states. [2020-07-08 12:27:11,614 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 57 states. [2020-07-08 12:27:11,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:11,617 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2020-07-08 12:27:11,617 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2020-07-08 12:27:11,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:11,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:11,618 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 58 states. [2020-07-08 12:27:11,618 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 58 states. [2020-07-08 12:27:11,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:11,620 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2020-07-08 12:27:11,620 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2020-07-08 12:27:11,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:11,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:11,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:11,621 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:11,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-08 12:27:11,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 63 transitions. [2020-07-08 12:27:11,623 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 63 transitions. Word has length 18 [2020-07-08 12:27:11,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:11,623 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 63 transitions. [2020-07-08 12:27:11,623 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-08 12:27:11,623 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 63 transitions. [2020-07-08 12:27:11,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-08 12:27:11,624 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:11,624 INFO L422 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:27:11,624 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-08 12:27:11,625 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:11,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:11,625 INFO L82 PathProgramCache]: Analyzing trace with hash 777661568, now seen corresponding path program 1 times [2020-07-08 12:27:11,625 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:11,626 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [491908356] [2020-07-08 12:27:11,626 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:11,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:11,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:11,790 INFO L280 TraceCheckUtils]: 0: Hoare triple {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-08 12:27:11,790 INFO L280 TraceCheckUtils]: 1: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-08 12:27:11,791 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1857#true} {1857#true} #189#return; {1857#true} is VALID [2020-07-08 12:27:11,806 INFO L263 TraceCheckUtils]: 0: Hoare triple {1857#true} call ULTIMATE.init(); {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:11,807 INFO L280 TraceCheckUtils]: 1: Hoare triple {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-08 12:27:11,807 INFO L280 TraceCheckUtils]: 2: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-08 12:27:11,807 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1857#true} {1857#true} #189#return; {1857#true} is VALID [2020-07-08 12:27:11,808 INFO L263 TraceCheckUtils]: 4: Hoare triple {1857#true} call #t~ret21 := main(); {1857#true} is VALID [2020-07-08 12:27:11,811 INFO L280 TraceCheckUtils]: 5: Hoare triple {1857#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1862#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:11,812 INFO L280 TraceCheckUtils]: 6: Hoare triple {1862#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1862#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:11,817 INFO L280 TraceCheckUtils]: 7: Hoare triple {1862#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} assume !(0 != #t~nondet2);havoc #t~nondet2; {1862#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:11,818 INFO L280 TraceCheckUtils]: 8: Hoare triple {1862#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,818 INFO L280 TraceCheckUtils]: 9: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,819 INFO L280 TraceCheckUtils]: 10: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} goto; {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,820 INFO L280 TraceCheckUtils]: 11: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,821 INFO L280 TraceCheckUtils]: 12: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,821 INFO L280 TraceCheckUtils]: 13: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} goto; {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,823 INFO L280 TraceCheckUtils]: 14: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,824 INFO L280 TraceCheckUtils]: 15: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-08 12:27:11,825 INFO L280 TraceCheckUtils]: 16: Hoare triple {1863#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {1864#(and (= 0 main_~null~0.offset) (= 0 main_~end~0.offset) (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:11,826 INFO L280 TraceCheckUtils]: 17: Hoare triple {1864#(and (= 0 main_~null~0.offset) (= 0 main_~end~0.offset) (= main_~null~0.base main_~end~0.base))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1858#false} is VALID [2020-07-08 12:27:11,826 INFO L280 TraceCheckUtils]: 18: Hoare triple {1858#false} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {1858#false} is VALID [2020-07-08 12:27:11,827 INFO L280 TraceCheckUtils]: 19: Hoare triple {1858#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1858#false} is VALID [2020-07-08 12:27:11,827 INFO L280 TraceCheckUtils]: 20: Hoare triple {1858#false} assume !false; {1858#false} is VALID [2020-07-08 12:27:11,829 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:11,830 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [491908356] [2020-07-08 12:27:11,830 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [723445548] [2020-07-08 12:27:11,830 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:27:11,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:11,931 INFO L264 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 11 conjunts are in the unsatisfiable core [2020-07-08 12:27:11,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:11,949 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:27:12,025 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:12,027 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:12,028 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:12,039 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 17 [2020-07-08 12:27:12,040 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:12,052 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:12,057 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:12,058 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:12,059 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:12,061 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 17 [2020-07-08 12:27:12,061 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:12,071 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:12,071 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:12,072 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:55, output treesize:33 [2020-07-08 12:27:14,277 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:14,278 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_29|, |v_#memory_$Pointer$.base_29|]. (let ((.cse0 (+ main_~list~0.offset 4)) (.cse1 (+ main_~list~0.offset 8))) (and (= (store |v_#memory_$Pointer$.offset_29| main_~list~0.base (store (store (store (select |v_#memory_$Pointer$.offset_29| main_~list~0.base) main_~list~0.offset main_~null~0.offset) .cse0 main_~null~0.offset) .cse1 (select (select |#memory_$Pointer$.offset| main_~list~0.base) .cse1))) |#memory_$Pointer$.offset|) (= (store |v_#memory_$Pointer$.base_29| main_~list~0.base (store (store (store (select |v_#memory_$Pointer$.base_29| main_~list~0.base) main_~list~0.offset main_~null~0.base) .cse0 main_~null~0.base) .cse1 (select (select |#memory_$Pointer$.base| main_~list~0.base) .cse1))) |#memory_$Pointer$.base|))) [2020-07-08 12:27:14,278 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.offset| main_~list~0.base)) (.cse1 (+ main_~list~0.offset 4)) (.cse2 (select |#memory_$Pointer$.base| main_~list~0.base))) (and (= (select .cse0 .cse1) main_~null~0.offset) (= (select .cse0 main_~list~0.offset) main_~null~0.offset) (= (select .cse2 .cse1) main_~null~0.base) (= (select .cse2 main_~list~0.offset) main_~null~0.base))) [2020-07-08 12:27:14,510 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:14,512 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 10 [2020-07-08 12:27:14,520 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:14,530 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:14,537 INFO L350 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2020-07-08 12:27:14,538 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 24 treesize of output 10 [2020-07-08 12:27:14,540 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:14,545 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:14,546 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:14,546 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:47, output treesize:7 [2020-07-08 12:27:14,557 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:14,558 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|, v_main_~end~0.base_27, v_main_~end~0.offset_27, |#memory_$Pointer$.base|]. (let ((.cse1 (select |#memory_$Pointer$.offset| v_main_~end~0.base_27)) (.cse3 (select |#memory_$Pointer$.base| v_main_~end~0.base_27))) (let ((.cse2 (+ v_main_~end~0.offset_27 4)) (.cse4 (select .cse3 v_main_~end~0.offset_27)) (.cse0 (select .cse1 v_main_~end~0.offset_27))) (and (= .cse0 main_~null~0.offset) (= (select .cse1 .cse2) main_~null~0.offset) (= (select .cse3 .cse2) main_~null~0.base) (= .cse4 main_~end~0.base) (= .cse4 main_~null~0.base) (= main_~end~0.offset .cse0)))) [2020-07-08 12:27:14,558 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base)) [2020-07-08 12:27:14,587 INFO L263 TraceCheckUtils]: 0: Hoare triple {1857#true} call ULTIMATE.init(); {1857#true} is VALID [2020-07-08 12:27:14,587 INFO L280 TraceCheckUtils]: 1: Hoare triple {1857#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1857#true} is VALID [2020-07-08 12:27:14,587 INFO L280 TraceCheckUtils]: 2: Hoare triple {1857#true} assume true; {1857#true} is VALID [2020-07-08 12:27:14,588 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1857#true} {1857#true} #189#return; {1857#true} is VALID [2020-07-08 12:27:14,588 INFO L263 TraceCheckUtils]: 4: Hoare triple {1857#true} call #t~ret21 := main(); {1857#true} is VALID [2020-07-08 12:27:14,593 INFO L280 TraceCheckUtils]: 5: Hoare triple {1857#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1884#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:14,595 INFO L280 TraceCheckUtils]: 6: Hoare triple {1884#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1884#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:14,596 INFO L280 TraceCheckUtils]: 7: Hoare triple {1884#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} assume !(0 != #t~nondet2);havoc #t~nondet2; {1884#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:14,598 INFO L280 TraceCheckUtils]: 8: Hoare triple {1884#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,599 INFO L280 TraceCheckUtils]: 9: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,600 INFO L280 TraceCheckUtils]: 10: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} goto; {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,602 INFO L280 TraceCheckUtils]: 11: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,603 INFO L280 TraceCheckUtils]: 12: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,604 INFO L280 TraceCheckUtils]: 13: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} goto; {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,606 INFO L280 TraceCheckUtils]: 14: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,607 INFO L280 TraceCheckUtils]: 15: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} is VALID [2020-07-08 12:27:14,608 INFO L280 TraceCheckUtils]: 16: Hoare triple {1894#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)) main_~null~0.offset))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {1919#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:14,609 INFO L280 TraceCheckUtils]: 17: Hoare triple {1919#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1858#false} is VALID [2020-07-08 12:27:14,609 INFO L280 TraceCheckUtils]: 18: Hoare triple {1858#false} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {1858#false} is VALID [2020-07-08 12:27:14,609 INFO L280 TraceCheckUtils]: 19: Hoare triple {1858#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1858#false} is VALID [2020-07-08 12:27:14,610 INFO L280 TraceCheckUtils]: 20: Hoare triple {1858#false} assume !false; {1858#false} is VALID [2020-07-08 12:27:14,613 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:14,613 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:27:14,613 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 9 [2020-07-08 12:27:14,614 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [272342263] [2020-07-08 12:27:14,614 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-08 12:27:14,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:14,615 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 12:27:14,676 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:14,676 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 12:27:14,676 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:14,677 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 12:27:14,677 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 12:27:14,677 INFO L87 Difference]: Start difference. First operand 57 states and 63 transitions. Second operand 9 states. [2020-07-08 12:27:15,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:15,916 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2020-07-08 12:27:15,916 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-08 12:27:15,916 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-08 12:27:15,917 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:15,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:27:15,918 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2020-07-08 12:27:15,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:27:15,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2020-07-08 12:27:15,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2020-07-08 12:27:16,015 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:16,017 INFO L225 Difference]: With dead ends: 79 [2020-07-08 12:27:16,017 INFO L226 Difference]: Without dead ends: 57 [2020-07-08 12:27:16,018 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 20 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2020-07-08 12:27:16,019 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2020-07-08 12:27:16,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2020-07-08 12:27:16,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:16,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:16,060 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:16,060 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:16,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:16,064 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2020-07-08 12:27:16,064 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2020-07-08 12:27:16,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:16,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:16,065 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:16,065 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 57 states. [2020-07-08 12:27:16,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:16,067 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2020-07-08 12:27:16,067 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2020-07-08 12:27:16,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:16,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:16,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:16,067 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:16,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-08 12:27:16,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 62 transitions. [2020-07-08 12:27:16,069 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 62 transitions. Word has length 21 [2020-07-08 12:27:16,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:16,069 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 62 transitions. [2020-07-08 12:27:16,069 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 12:27:16,069 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2020-07-08 12:27:16,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-08 12:27:16,070 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:16,070 INFO L422 BasicCegarLoop]: trace histogram [2, 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-08 12:27:16,271 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2020-07-08 12:27:16,272 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:16,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:16,273 INFO L82 PathProgramCache]: Analyzing trace with hash -1056872398, now seen corresponding path program 1 times [2020-07-08 12:27:16,273 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:16,273 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1169546653] [2020-07-08 12:27:16,274 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:16,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:16,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:16,734 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2207#true} is VALID [2020-07-08 12:27:16,734 INFO L280 TraceCheckUtils]: 1: Hoare triple {2207#true} assume true; {2207#true} is VALID [2020-07-08 12:27:16,734 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2207#true} {2207#true} #189#return; {2207#true} is VALID [2020-07-08 12:27:16,735 INFO L263 TraceCheckUtils]: 0: Hoare triple {2207#true} call ULTIMATE.init(); {2218#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:16,736 INFO L280 TraceCheckUtils]: 1: Hoare triple {2218#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2207#true} is VALID [2020-07-08 12:27:16,736 INFO L280 TraceCheckUtils]: 2: Hoare triple {2207#true} assume true; {2207#true} is VALID [2020-07-08 12:27:16,736 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2207#true} {2207#true} #189#return; {2207#true} is VALID [2020-07-08 12:27:16,736 INFO L263 TraceCheckUtils]: 4: Hoare triple {2207#true} call #t~ret21 := main(); {2207#true} is VALID [2020-07-08 12:27:16,740 INFO L280 TraceCheckUtils]: 5: Hoare triple {2207#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2212#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 8)) ~unnamed1~0~BLACK) (not (= (+ main_~list~0.offset 8) main_~end~0.offset)) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:16,741 INFO L280 TraceCheckUtils]: 6: Hoare triple {2212#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 8)) ~unnamed1~0~BLACK) (not (= (+ main_~list~0.offset 8) main_~end~0.offset)) (= 1 (select |#valid| main_~end~0.base)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2212#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 8)) ~unnamed1~0~BLACK) (not (= (+ main_~list~0.offset 8) main_~end~0.offset)) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:16,744 INFO L280 TraceCheckUtils]: 7: Hoare triple {2212#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 8)) ~unnamed1~0~BLACK) (not (= (+ main_~list~0.offset 8) main_~end~0.offset)) (= 1 (select |#valid| main_~end~0.base)))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {2213#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:16,748 INFO L280 TraceCheckUtils]: 8: Hoare triple {2213#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (= 1 (select |#valid| main_~end~0.base)))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,749 INFO L280 TraceCheckUtils]: 9: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,750 INFO L280 TraceCheckUtils]: 10: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,751 INFO L280 TraceCheckUtils]: 11: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} goto; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,751 INFO L280 TraceCheckUtils]: 12: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,752 INFO L280 TraceCheckUtils]: 13: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,753 INFO L280 TraceCheckUtils]: 14: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} goto; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,754 INFO L280 TraceCheckUtils]: 15: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,755 INFO L280 TraceCheckUtils]: 16: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} goto; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,756 INFO L280 TraceCheckUtils]: 17: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,756 INFO L280 TraceCheckUtils]: 18: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume !(0 != #t~nondet2);havoc #t~nondet2; {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:16,757 INFO L280 TraceCheckUtils]: 19: Hoare triple {2214#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2215#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:16,758 INFO L280 TraceCheckUtils]: 20: Hoare triple {2215#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2216#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:16,758 INFO L280 TraceCheckUtils]: 21: Hoare triple {2216#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} goto; {2216#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-08 12:27:16,759 INFO L280 TraceCheckUtils]: 22: Hoare triple {2216#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2217#(= ~unnamed1~0~BLACK |main_#t~mem12|)} is VALID [2020-07-08 12:27:16,760 INFO L280 TraceCheckUtils]: 23: Hoare triple {2217#(= ~unnamed1~0~BLACK |main_#t~mem12|)} assume !(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {2208#false} is VALID [2020-07-08 12:27:16,760 INFO L280 TraceCheckUtils]: 24: Hoare triple {2208#false} assume !false; {2208#false} is VALID [2020-07-08 12:27:16,763 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:16,764 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1169546653] [2020-07-08 12:27:16,764 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2107054879] [2020-07-08 12:27:16,764 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:27:16,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:16,872 INFO L264 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 44 conjunts are in the unsatisfiable core [2020-07-08 12:27:16,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:16,893 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:27:16,936 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-08 12:27:16,937 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 11 [2020-07-08 12:27:16,937 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:16,950 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:16,956 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2020-07-08 12:27:16,957 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:16,974 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:16,975 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:16,975 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:32, output treesize:29 [2020-07-08 12:27:16,981 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:16,982 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_19|, |main_#t~malloc0.base|, |v_#memory_int_36|]. (and (<= main_~end~0.offset main_~list~0.offset) (= |#valid| (store (store |v_#valid_19| |main_#t~malloc0.base| 1) main_~list~0.base 1)) (= 0 main_~list~0.offset) (= |#memory_int| (store |v_#memory_int_36| main_~list~0.base (store (select |v_#memory_int_36| main_~list~0.base) (+ main_~list~0.offset 8) ~unnamed1~0~BLACK))) (= main_~list~0.base main_~end~0.base)) [2020-07-08 12:27:16,982 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [|main_#t~malloc0.base|]. (and (<= main_~end~0.offset main_~list~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| |main_#t~malloc0.base|)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8)))) [2020-07-08 12:27:17,197 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,197 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 39 [2020-07-08 12:27:17,199 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:17,287 INFO L624 ElimStorePlain]: treesize reduction 14, result has 88.9 percent of original size [2020-07-08 12:27:17,304 INFO L544 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:17,337 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,340 INFO L544 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:17,378 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,387 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:17,389 INFO L544 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:17,415 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,427 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:17,444 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,445 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 77 treesize of output 55 [2020-07-08 12:27:17,448 INFO L544 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:17,509 INFO L624 ElimStorePlain]: treesize reduction 20, result has 73.3 percent of original size [2020-07-08 12:27:17,517 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:17,517 INFO L244 ElimStorePlain]: Needed 6 recursive calls to eliminate 8 variables, input treesize:114, output treesize:27 [2020-07-08 12:27:17,530 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:17,531 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_31|, v_main_~end~0.offset_28, |main_#t~malloc3.base|, |main_#t~malloc3.offset|, |v_#valid_20|, |v_#memory_int_37|, |v_#memory_int_42|, |v_#memory_int_38|]. (let ((.cse0 (select |v_#memory_int_42| main_~list~0.base)) (.cse2 (+ |main_#t~malloc3.offset| 4))) (and (<= v_main_~end~0.offset_28 main_~list~0.offset) (= 0 main_~list~0.offset) (= 0 (select |v_#valid_20| |main_#t~malloc3.base|)) (= (store |v_#memory_int_37| main_~end~0.base (store (select |v_#memory_int_37| main_~end~0.base) main_~end~0.offset (select (select |#memory_int| main_~end~0.base) main_~end~0.offset))) |#memory_int|) (= ~unnamed1~0~BLACK (select .cse0 (+ main_~list~0.offset 8))) (= |#valid| (store |v_#valid_20| |main_#t~malloc3.base| 1)) (= 1 (select |v_#valid_20| main_~list~0.base)) (= |v_#memory_int_38| (store |v_#memory_int_42| main_~list~0.base (store .cse0 v_main_~end~0.offset_28 (select (select |v_#memory_int_38| main_~list~0.base) v_main_~end~0.offset_28)))) (= (select (select (let ((.cse1 (store |v_#memory_$Pointer$.base_31| main_~list~0.base (store (select |v_#memory_$Pointer$.base_31| main_~list~0.base) v_main_~end~0.offset_28 |main_#t~malloc3.base|)))) (store .cse1 |main_#t~malloc3.base| (store (select .cse1 |main_#t~malloc3.base|) .cse2 main_~list~0.base))) main_~list~0.base) v_main_~end~0.offset_28) main_~end~0.base) (= (store |v_#memory_int_38| |main_#t~malloc3.base| (store (select |v_#memory_int_38| |main_#t~malloc3.base|) .cse2 (select (select |v_#memory_int_37| |main_#t~malloc3.base|) .cse2))) |v_#memory_int_37|))) [2020-07-08 12:27:17,531 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (= 1 (select |#valid| main_~end~0.base))) [2020-07-08 12:27:17,737 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,738 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 16 treesize of output 26 [2020-07-08 12:27:17,741 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:17,863 WARN L193 SmtUtils]: Spent 120.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2020-07-08 12:27:17,864 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,868 INFO L440 ElimStorePlain]: Different costs {2=[|v_#memory_int_39|, |v_#memory_int_40|, |v_#memory_$Pointer$.base_30|, |v_#memory_int_41|, |v_#memory_$Pointer$.offset_30|], 4=[|v_#memory_int_43|]} [2020-07-08 12:27:17,872 INFO L544 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:17,943 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:17,946 INFO L544 ElimStorePlain]: Start of recursive call 4: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:18,010 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:18,014 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:18,017 INFO L544 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:18,048 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:18,054 INFO L544 ElimStorePlain]: Start of recursive call 6: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:18,084 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:18,088 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:18,091 INFO L544 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:18,111 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:18,135 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:18,153 INFO L350 Elim1Store]: treesize reduction 23, result has 28.1 percent of original size [2020-07-08 12:27:18,153 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 53 treesize of output 50 [2020-07-08 12:27:18,156 INFO L544 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:18,179 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:18,195 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, 6 dim-2 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:18,196 INFO L244 ElimStorePlain]: Needed 8 recursive calls to eliminate 10 variables, input treesize:319, output treesize:41 [2020-07-08 12:27:20,783 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:20,783 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_30|, v_main_~end~0.base_29, v_main_~end~0.offset_29, |main_#t~malloc7.base|, |v_#memory_int_39|, |v_#memory_$Pointer$.offset_30|, |v_#memory_int_40|, |v_#memory_int_41|, |v_#valid_21|, |v_#memory_int_43|]. (let ((.cse0 (select (select (let ((.cse4 (store |v_#memory_$Pointer$.base_30| v_main_~end~0.base_29 (store (select |v_#memory_$Pointer$.base_30| v_main_~end~0.base_29) v_main_~end~0.offset_29 |main_#t~malloc7.base|)))) (store .cse4 |main_#t~malloc7.base| (store (select .cse4 |main_#t~malloc7.base|) 4 v_main_~end~0.base_29))) v_main_~end~0.base_29) v_main_~end~0.offset_29))) (let ((.cse2 (select |v_#memory_int_39| .cse0)) (.cse1 (select (select (let ((.cse3 (store |v_#memory_$Pointer$.offset_30| v_main_~end~0.base_29 (store (select |v_#memory_$Pointer$.offset_30| v_main_~end~0.base_29) v_main_~end~0.offset_29 0)))) (store .cse3 |main_#t~malloc7.base| (store (select .cse3 |main_#t~malloc7.base|) 4 v_main_~end~0.offset_29))) v_main_~end~0.base_29) v_main_~end~0.offset_29))) (and (= (store |v_#memory_int_40| .cse0 (store (select |v_#memory_int_40| .cse0) .cse1 (select .cse2 .cse1))) |v_#memory_int_39|) (= |v_#memory_int_40| (store |v_#memory_int_41| |main_#t~malloc7.base| (store (select |v_#memory_int_41| |main_#t~malloc7.base|) 4 (select (select |v_#memory_int_40| |main_#t~malloc7.base|) 4)))) (= 1 (select |v_#valid_21| v_main_~end~0.base_29)) (= (store |v_#memory_int_43| v_main_~end~0.base_29 (store (store (select |v_#memory_int_43| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8) ~unnamed1~0~RED) v_main_~end~0.offset_29 (select (select |v_#memory_int_41| v_main_~end~0.base_29) v_main_~end~0.offset_29))) |v_#memory_int_41|) (= 0 main_~list~0.offset) (= (store |v_#memory_int_39| .cse0 (store .cse2 (+ .cse1 8) ~unnamed1~0~BLACK)) |#memory_int|) (= ~unnamed1~0~BLACK (select (select |v_#memory_int_43| main_~list~0.base) (+ main_~list~0.offset 8))) (not (= v_main_~end~0.base_29 main_~list~0.base)) (= 1 (select |v_#valid_21| main_~list~0.base)) (= 0 (select |v_#valid_21| |main_#t~malloc7.base|))))) [2020-07-08 12:27:20,783 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~end~0.base_29, v_main_~end~0.offset_29, |main_#t~malloc7.base|]. (and (= 0 main_~list~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (not (= |main_#t~malloc7.base| main_~list~0.base))) [2020-07-08 12:27:21,655 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 13 [2020-07-08 12:27:21,656 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:21,664 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:21,668 INFO L544 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:21,668 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:43, output treesize:3 [2020-07-08 12:27:21,670 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:21,670 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~end~0.base, v_main_~end~0.base_29, v_main_~end~0.offset_29, |main_#t~malloc7.base|]. (let ((.cse0 (select (select |#memory_int| main_~end~0.base) 8))) (and (= |main_#t~mem12| .cse0) (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (= ~unnamed1~0~BLACK .cse0) (not (= |main_#t~malloc7.base| main_~end~0.base)))) [2020-07-08 12:27:21,670 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (= ~unnamed1~0~BLACK |main_#t~mem12|) [2020-07-08 12:27:21,671 INFO L263 TraceCheckUtils]: 0: Hoare triple {2207#true} call ULTIMATE.init(); {2207#true} is VALID [2020-07-08 12:27:21,671 INFO L280 TraceCheckUtils]: 1: Hoare triple {2207#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2207#true} is VALID [2020-07-08 12:27:21,672 INFO L280 TraceCheckUtils]: 2: Hoare triple {2207#true} assume true; {2207#true} is VALID [2020-07-08 12:27:21,672 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2207#true} {2207#true} #189#return; {2207#true} is VALID [2020-07-08 12:27:21,672 INFO L263 TraceCheckUtils]: 4: Hoare triple {2207#true} call #t~ret21 := main(); {2207#true} is VALID [2020-07-08 12:27:21,675 INFO L280 TraceCheckUtils]: 5: Hoare triple {2207#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2237#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:21,676 INFO L280 TraceCheckUtils]: 6: Hoare triple {2237#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2237#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-08 12:27:21,678 INFO L280 TraceCheckUtils]: 7: Hoare triple {2237#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {2244#(and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:21,690 INFO L280 TraceCheckUtils]: 8: Hoare triple {2244#(and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (= 1 (select |#valid| main_~end~0.base)))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,691 INFO L280 TraceCheckUtils]: 9: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,696 INFO L280 TraceCheckUtils]: 10: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,697 INFO L280 TraceCheckUtils]: 11: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} goto; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,698 INFO L280 TraceCheckUtils]: 12: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,699 INFO L280 TraceCheckUtils]: 13: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,700 INFO L280 TraceCheckUtils]: 14: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} goto; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,702 INFO L280 TraceCheckUtils]: 15: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,703 INFO L280 TraceCheckUtils]: 16: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} goto; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,704 INFO L280 TraceCheckUtils]: 17: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,705 INFO L280 TraceCheckUtils]: 18: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} assume !(0 != #t~nondet2);havoc #t~nondet2; {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} is VALID [2020-07-08 12:27:21,707 INFO L280 TraceCheckUtils]: 19: Hoare triple {2248#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))) (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~list~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~list~0.base)))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2282#(and (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~end~0.base)))) (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:21,708 INFO L280 TraceCheckUtils]: 20: Hoare triple {2282#(and (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~end~0.base)))) (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2282#(and (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~end~0.base)))) (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:21,709 INFO L280 TraceCheckUtils]: 21: Hoare triple {2282#(and (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~end~0.base)))) (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {2282#(and (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~end~0.base)))) (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:21,709 INFO L280 TraceCheckUtils]: 22: Hoare triple {2282#(and (exists ((|main_#t~malloc7.base| Int) (v_main_~end~0.base_29 Int) (v_main_~end~0.offset_29 Int)) (and (= ~unnamed1~0~RED (select (select |#memory_int| v_main_~end~0.base_29) (+ v_main_~end~0.offset_29 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| |main_#t~malloc7.base|) 8)) (not (= v_main_~end~0.base_29 main_~end~0.base)) (not (= v_main_~end~0.base_29 |main_#t~malloc7.base|)) (not (= |main_#t~malloc7.base| main_~end~0.base)))) (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2217#(= ~unnamed1~0~BLACK |main_#t~mem12|)} is VALID [2020-07-08 12:27:21,710 INFO L280 TraceCheckUtils]: 23: Hoare triple {2217#(= ~unnamed1~0~BLACK |main_#t~mem12|)} assume !(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {2208#false} is VALID [2020-07-08 12:27:21,710 INFO L280 TraceCheckUtils]: 24: Hoare triple {2208#false} assume !false; {2208#false} is VALID [2020-07-08 12:27:21,717 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:21,717 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:27:21,718 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7] total 13 [2020-07-08 12:27:21,718 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [483491824] [2020-07-08 12:27:21,718 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 25 [2020-07-08 12:27:21,719 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:21,719 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-08 12:27:21,814 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:21,815 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-08 12:27:21,815 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:21,815 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-08 12:27:21,816 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=128, Unknown=0, NotChecked=0, Total=156 [2020-07-08 12:27:21,816 INFO L87 Difference]: Start difference. First operand 57 states and 62 transitions. Second operand 13 states. [2020-07-08 12:27:39,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:39,850 INFO L93 Difference]: Finished difference Result 89 states and 97 transitions. [2020-07-08 12:27:39,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-08 12:27:39,851 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 25 [2020-07-08 12:27:39,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:39,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-08 12:27:39,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-08 12:27:39,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-08 12:27:39,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-08 12:27:39,860 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2020-07-08 12:27:40,073 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:40,076 INFO L225 Difference]: With dead ends: 89 [2020-07-08 12:27:40,076 INFO L226 Difference]: Without dead ends: 87 [2020-07-08 12:27:40,077 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=90, Invalid=290, Unknown=0, NotChecked=0, Total=380 [2020-07-08 12:27:40,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2020-07-08 12:27:40,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 39. [2020-07-08 12:27:40,124 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:40,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand 39 states. [2020-07-08 12:27:40,124 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand 39 states. [2020-07-08 12:27:40,124 INFO L87 Difference]: Start difference. First operand 87 states. Second operand 39 states. [2020-07-08 12:27:40,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:40,127 INFO L93 Difference]: Finished difference Result 87 states and 94 transitions. [2020-07-08 12:27:40,128 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 94 transitions. [2020-07-08 12:27:40,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:40,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:40,128 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 87 states. [2020-07-08 12:27:40,129 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 87 states. [2020-07-08 12:27:40,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:40,132 INFO L93 Difference]: Finished difference Result 87 states and 94 transitions. [2020-07-08 12:27:40,132 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 94 transitions. [2020-07-08 12:27:40,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:40,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:40,133 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:40,133 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:40,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2020-07-08 12:27:40,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 42 transitions. [2020-07-08 12:27:40,134 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 42 transitions. Word has length 25 [2020-07-08 12:27:40,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:40,135 INFO L479 AbstractCegarLoop]: Abstraction has 39 states and 42 transitions. [2020-07-08 12:27:40,135 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-08 12:27:40,135 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2020-07-08 12:27:40,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-08 12:27:40,136 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:40,136 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:27:40,351 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:27:40,352 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:40,353 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:40,353 INFO L82 PathProgramCache]: Analyzing trace with hash -377613816, now seen corresponding path program 1 times [2020-07-08 12:27:40,354 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:40,354 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [992659561] [2020-07-08 12:27:40,354 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:40,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:40,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:40,674 INFO L280 TraceCheckUtils]: 0: Hoare triple {2646#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2634#true} is VALID [2020-07-08 12:27:40,674 INFO L280 TraceCheckUtils]: 1: Hoare triple {2634#true} assume true; {2634#true} is VALID [2020-07-08 12:27:40,674 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2634#true} {2634#true} #189#return; {2634#true} is VALID [2020-07-08 12:27:40,675 INFO L263 TraceCheckUtils]: 0: Hoare triple {2634#true} call ULTIMATE.init(); {2646#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:40,675 INFO L280 TraceCheckUtils]: 1: Hoare triple {2646#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2634#true} is VALID [2020-07-08 12:27:40,675 INFO L280 TraceCheckUtils]: 2: Hoare triple {2634#true} assume true; {2634#true} is VALID [2020-07-08 12:27:40,676 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2634#true} {2634#true} #189#return; {2634#true} is VALID [2020-07-08 12:27:40,676 INFO L263 TraceCheckUtils]: 4: Hoare triple {2634#true} call #t~ret21 := main(); {2634#true} is VALID [2020-07-08 12:27:40,679 INFO L280 TraceCheckUtils]: 5: Hoare triple {2634#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2639#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~null~0.base)) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:40,680 INFO L280 TraceCheckUtils]: 6: Hoare triple {2639#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~null~0.base)) (= 1 (select |#valid| main_~end~0.base)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2639#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~null~0.base)) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:40,683 INFO L280 TraceCheckUtils]: 7: Hoare triple {2639#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~null~0.base)) (= 1 (select |#valid| main_~end~0.base)))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {2640#(and (not (= main_~list~0.base main_~end~0.base)) (= 1 (select |#valid| main_~list~0.base)) (or (and (= 1 (select |#valid| main_~null~0.base)) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset))) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:40,686 INFO L280 TraceCheckUtils]: 8: Hoare triple {2640#(and (not (= main_~list~0.base main_~end~0.base)) (= 1 (select |#valid| main_~list~0.base)) (or (and (= 1 (select |#valid| main_~null~0.base)) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset))) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,687 INFO L280 TraceCheckUtils]: 9: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,688 INFO L280 TraceCheckUtils]: 10: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,692 INFO L280 TraceCheckUtils]: 11: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} goto; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,692 INFO L280 TraceCheckUtils]: 12: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,693 INFO L280 TraceCheckUtils]: 13: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,693 INFO L280 TraceCheckUtils]: 14: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} goto; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,694 INFO L280 TraceCheckUtils]: 15: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,694 INFO L280 TraceCheckUtils]: 16: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} goto; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,694 INFO L280 TraceCheckUtils]: 17: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,695 INFO L280 TraceCheckUtils]: 18: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} assume !(0 != #t~nondet2);havoc #t~nondet2; {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} is VALID [2020-07-08 12:27:40,696 INFO L280 TraceCheckUtils]: 19: Hoare triple {2641#(or (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~null~0.base)) (and (= main_~list~0.base main_~null~0.base) (= main_~list~0.offset main_~null~0.offset)))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2642#(or (and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base)))} is VALID [2020-07-08 12:27:40,696 INFO L280 TraceCheckUtils]: 20: Hoare triple {2642#(or (and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,697 INFO L280 TraceCheckUtils]: 21: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} goto; {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,697 INFO L280 TraceCheckUtils]: 22: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,698 INFO L280 TraceCheckUtils]: 23: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,698 INFO L280 TraceCheckUtils]: 24: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} goto; {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,699 INFO L280 TraceCheckUtils]: 25: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,699 INFO L280 TraceCheckUtils]: 26: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} is VALID [2020-07-08 12:27:40,700 INFO L280 TraceCheckUtils]: 27: Hoare triple {2643#(not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) main_~null~0.base))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {2644#(not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:40,700 INFO L280 TraceCheckUtils]: 28: Hoare triple {2644#(not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2644#(not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base))} is VALID [2020-07-08 12:27:40,701 INFO L280 TraceCheckUtils]: 29: Hoare triple {2644#(not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base))} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {2645#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:40,702 INFO L280 TraceCheckUtils]: 30: Hoare triple {2645#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2635#false} is VALID [2020-07-08 12:27:40,702 INFO L280 TraceCheckUtils]: 31: Hoare triple {2635#false} assume !false; {2635#false} is VALID [2020-07-08 12:27:40,707 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:40,707 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [992659561] [2020-07-08 12:27:40,707 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1371453227] [2020-07-08 12:27:40,707 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:27:40,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:40,816 INFO L264 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 62 conjunts are in the unsatisfiable core [2020-07-08 12:27:40,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:40,847 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:27:40,882 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-08 12:27:40,882 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 11 [2020-07-08 12:27:40,883 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:40,897 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:40,898 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:40,899 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:22, output treesize:23 [2020-07-08 12:27:40,903 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:40,904 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_22|, |main_#t~malloc0.base|]. (and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (store (store |v_#valid_22| |main_#t~malloc0.base| 1) main_~list~0.base 1) |#valid|) (= main_~list~0.base main_~end~0.base)) [2020-07-08 12:27:40,904 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [|main_#t~malloc0.base|]. (and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| |main_#t~malloc0.base|))) [2020-07-08 12:27:41,036 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:41,037 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 39 [2020-07-08 12:27:41,038 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:41,129 INFO L624 ElimStorePlain]: treesize reduction 14, result has 93.5 percent of original size [2020-07-08 12:27:41,134 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:41,147 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:41,148 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-08 12:27:41,168 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:41,169 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 63 treesize of output 41 [2020-07-08 12:27:41,169 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:41,248 INFO L624 ElimStorePlain]: treesize reduction 16, result has 89.4 percent of original size [2020-07-08 12:27:41,252 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:41,266 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:41,283 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:41,283 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 63 treesize of output 41 [2020-07-08 12:27:41,284 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:41,347 INFO L624 ElimStorePlain]: treesize reduction 16, result has 81.2 percent of original size [2020-07-08 12:27:41,351 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:41,351 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:203, output treesize:82 [2020-07-08 12:27:41,366 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:41,367 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_32|, |main_#t~malloc3.base|, |v_#valid_23|, |v_#memory_$Pointer$.base_33|]. (let ((.cse0 (let ((.cse3 (store |v_#memory_$Pointer$.offset_32| main_~list~0.base (store (select |v_#memory_$Pointer$.offset_32| main_~list~0.base) main_~list~0.offset 0)))) (store .cse3 |main_#t~malloc3.base| (store (select .cse3 |main_#t~malloc3.base|) 4 main_~list~0.offset)))) (.cse1 (let ((.cse2 (store |v_#memory_$Pointer$.base_33| main_~list~0.base (store (select |v_#memory_$Pointer$.base_33| main_~list~0.base) main_~list~0.offset |main_#t~malloc3.base|)))) (store .cse2 |main_#t~malloc3.base| (store (select .cse2 |main_#t~malloc3.base|) 4 main_~list~0.base))))) (and (= 0 (select |v_#valid_23| |main_#t~malloc3.base|)) (= 0 main_~null~0.offset) (= (select (select .cse0 main_~list~0.base) main_~list~0.offset) main_~end~0.offset) (= 0 main_~list~0.offset) (= |#valid| (store |v_#valid_23| |main_#t~malloc3.base| 1)) (= |#memory_$Pointer$.offset| (store .cse0 main_~end~0.base (store (select .cse0 main_~end~0.base) main_~end~0.offset main_~null~0.offset))) (= 1 (select |v_#valid_23| main_~list~0.base)) (= |#memory_$Pointer$.base| (store .cse1 main_~end~0.base (store (select .cse1 main_~end~0.base) main_~end~0.offset main_~null~0.base))) (= main_~end~0.base (select (select .cse1 main_~list~0.base) main_~list~0.offset)))) [2020-07-08 12:27:41,367 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= 0 main_~end~0.offset) (not (= main_~list~0.base .cse0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| .cse0) 4)) (= (select (select |#memory_$Pointer$.base| .cse0) 4) main_~list~0.base) (= .cse0 main_~end~0.base) (= 1 (select |#valid| .cse0)))) [2020-07-08 12:27:41,521 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:41,522 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 20 treesize of output 30 [2020-07-08 12:27:41,526 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:41,690 WARN L193 SmtUtils]: Spent 163.00 ms on a formula simplification that was a NOOP. DAG size: 81 [2020-07-08 12:27:41,690 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:41,694 INFO L440 ElimStorePlain]: Different costs {6=[|v_#memory_$Pointer$.base_34|, |v_#memory_$Pointer$.offset_33|], 11=[|v_#memory_$Pointer$.offset_31|, |v_#memory_$Pointer$.base_32|]} [2020-07-08 12:27:41,711 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:41,712 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 433 treesize of output 289 [2020-07-08 12:27:41,720 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:41,965 WARN L193 SmtUtils]: Spent 244.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 75 [2020-07-08 12:27:41,966 INFO L624 ElimStorePlain]: treesize reduction 16, result has 96.4 percent of original size [2020-07-08 12:27:41,999 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 39 [2020-07-08 12:27:42,001 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:42,132 WARN L193 SmtUtils]: Spent 130.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2020-07-08 12:27:42,132 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:42,136 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:42,163 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:42,165 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:42,166 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-08 12:27:42,170 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:42,213 INFO L350 Elim1Store]: treesize reduction 5, result has 90.7 percent of original size [2020-07-08 12:27:42,214 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 135 treesize of output 97 [2020-07-08 12:27:42,223 INFO L544 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:42,338 WARN L193 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 60 [2020-07-08 12:27:42,339 INFO L624 ElimStorePlain]: treesize reduction 41, result has 86.4 percent of original size [2020-07-08 12:27:42,356 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:42,358 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:42,409 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:42,410 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 7 case distinctions, treesize of input 174 treesize of output 144 [2020-07-08 12:27:42,415 INFO L544 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:42,555 WARN L193 SmtUtils]: Spent 138.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 45 [2020-07-08 12:27:42,556 INFO L624 ElimStorePlain]: treesize reduction 134, result has 42.7 percent of original size [2020-07-08 12:27:42,560 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:42,560 INFO L244 ElimStorePlain]: Needed 6 recursive calls to eliminate 6 variables, input treesize:457, output treesize:97 [2020-07-08 12:27:44,586 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:44,586 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_34|, |v_#memory_$Pointer$.base_32|, |main_#t~malloc7.base|, |v_#memory_$Pointer$.offset_33|, |v_#memory_$Pointer$.offset_31|, |v_#valid_24|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.base_34| main_~list~0.base) main_~list~0.offset))) (let ((.cse7 (select |v_#memory_$Pointer$.base_32| .cse0)) (.cse2 (select |v_#memory_$Pointer$.offset_31| .cse0))) (let ((.cse3 (let ((.cse9 (store |v_#memory_$Pointer$.offset_31| .cse0 (store .cse2 0 0)))) (store .cse9 |main_#t~malloc7.base| (store (select .cse9 |main_#t~malloc7.base|) 4 0)))) (.cse5 (+ main_~end~0.offset 8)) (.cse6 (select |v_#memory_$Pointer$.base_34| .cse0)) (.cse4 (let ((.cse8 (store |v_#memory_$Pointer$.base_32| .cse0 (store .cse7 0 |main_#t~malloc7.base|)))) (store .cse8 |main_#t~malloc7.base| (store (select .cse8 |main_#t~malloc7.base|) 4 .cse0)))) (.cse1 (select |v_#memory_$Pointer$.offset_33| .cse0))) (and (= (store |v_#memory_$Pointer$.offset_33| .cse0 (store .cse1 8 (select .cse2 8))) |v_#memory_$Pointer$.offset_31|) (= (select |v_#valid_24| main_~list~0.base) 1) (= 0 main_~null~0.offset) (= main_~end~0.offset (select (select .cse3 .cse0) 0)) (= 0 main_~list~0.offset) (not (= main_~list~0.base .cse0)) (= |#memory_$Pointer$.base| (store .cse4 main_~end~0.base (store (store (select .cse4 main_~end~0.base) main_~end~0.offset main_~null~0.base) .cse5 (select (select |#memory_$Pointer$.base| main_~end~0.base) .cse5)))) (= 0 (select |v_#valid_24| |main_#t~malloc7.base|)) (= main_~null~0.base (select .cse6 0)) (= 0 (select (select |v_#memory_$Pointer$.offset_33| main_~list~0.base) main_~list~0.offset)) (= (select .cse1 0) main_~null~0.offset) (= (store .cse3 main_~end~0.base (store (store (select .cse3 main_~end~0.base) main_~end~0.offset main_~null~0.offset) .cse5 (select (select |#memory_$Pointer$.offset| main_~end~0.base) .cse5))) |#memory_$Pointer$.offset|) (= (select .cse6 4) main_~list~0.base) (= (store |v_#memory_$Pointer$.base_34| .cse0 (store .cse6 8 (select .cse7 8))) |v_#memory_$Pointer$.base_32|) (= (select (select .cse4 .cse0) 0) main_~end~0.base) (= 1 (select |v_#valid_24| .cse0)) (= main_~list~0.offset (select .cse1 4)))))) [2020-07-08 12:27:44,587 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| main_~end~0.base))) (let ((.cse3 (select .cse0 4))) (let ((.cse1 (select |#memory_$Pointer$.offset| main_~end~0.base)) (.cse2 (select |#memory_$Pointer$.base| .cse3)) (.cse4 (select |#memory_$Pointer$.offset| .cse3))) (and (= (select .cse0 main_~end~0.offset) main_~null~0.base) (= 0 (select .cse1 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select .cse1 main_~end~0.offset) main_~null~0.offset) (= (select .cse2 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) .cse3) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select .cse2 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select .cse4 0)) (= main_~list~0.offset (select .cse4 4)))))) [2020-07-08 12:27:44,843 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:27:45,466 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:45,467 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:45,469 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 5 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 67 treesize of output 19 [2020-07-08 12:27:45,471 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:45,487 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:45,492 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:45,492 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:138, output treesize:75 [2020-07-08 12:27:45,498 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:45,498 WARN L407 uantifierElimination]: Input elimination task: ∃ [v_subst_2, |#memory_$Pointer$.offset|]. (let ((.cse5 (select |#memory_$Pointer$.base| v_subst_2))) (let ((.cse2 (select .cse5 4))) (let ((.cse6 (select |#memory_$Pointer$.base| .cse2))) (let ((.cse7 (select .cse6 4))) (let ((.cse0 (select |#memory_$Pointer$.offset| .cse2)) (.cse3 (select (select |#memory_$Pointer$.base| .cse7) 0)) (.cse1 (select (select |#memory_$Pointer$.offset| .cse7) 0)) (.cse4 (select |#memory_$Pointer$.offset| v_subst_2))) (and (not (= main_~null~0.base v_subst_2)) (= 0 main_~null~0.offset) (= 0 (select .cse0 0)) (= 0 .cse1) (= 0 (select .cse0 4)) (= .cse2 .cse3) (= .cse3 main_~end~0.base) (= (select .cse4 0) main_~null~0.offset) (= (select .cse5 0) main_~null~0.base) (= .cse1 main_~end~0.offset) (= (select .cse6 0) v_subst_2) (= 0 (select .cse4 4)) (not (= .cse7 v_subst_2)))))))) [2020-07-08 12:27:45,498 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_2]. (let ((.cse3 (select |#memory_$Pointer$.base| v_subst_2))) (let ((.cse0 (select .cse3 4))) (let ((.cse4 (select |#memory_$Pointer$.base| .cse0))) (let ((.cse2 (select .cse4 4))) (let ((.cse1 (select (select |#memory_$Pointer$.base| .cse2) 0))) (and (not (= main_~null~0.base v_subst_2)) (= 0 main_~null~0.offset) (= 0 main_~end~0.offset) (= .cse0 .cse1) (= .cse1 main_~end~0.base) (not (= .cse2 v_subst_2)) (= (select .cse3 0) main_~null~0.base) (= (select .cse4 0) v_subst_2))))))) [2020-07-08 12:27:45,706 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:45,707 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 2 disjoint index pairs (out of 15 index pairs), introduced 9 new quantified variables, introduced 14 case distinctions, treesize of input 85 treesize of output 86 [2020-07-08 12:27:45,724 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-08 12:27:45,728 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-08 12:27:45,732 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:27:45,737 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:27:45,741 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:27:45,747 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-08 12:27:45,751 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-08 12:27:45,756 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:27:45,769 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-08 12:27:45,777 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-08 12:27:45,785 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:27:45,793 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:27:45,799 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:27:45,809 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:27:45,812 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:45,815 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:45,817 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:45,817 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:89, output treesize:4 [2020-07-08 12:27:45,819 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:45,820 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_subst_2]. (let ((.cse3 (select |#memory_$Pointer$.base| v_subst_2))) (let ((.cse1 (select .cse3 4))) (let ((.cse4 (select |#memory_$Pointer$.base| .cse1))) (let ((.cse2 (select .cse4 4))) (let ((.cse0 (select (select |#memory_$Pointer$.base| .cse2) 0))) (and (= (select (select |#memory_$Pointer$.base| .cse0) 0) main_~end~0.base) (not (= main_~null~0.base v_subst_2)) (not (= .cse0 main_~null~0.base)) (= .cse1 .cse0) (not (= .cse2 v_subst_2)) (= (select .cse3 0) main_~null~0.base) (= (select .cse4 0) v_subst_2))))))) [2020-07-08 12:27:45,820 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= main_~null~0.base main_~end~0.base)) [2020-07-08 12:27:45,824 INFO L263 TraceCheckUtils]: 0: Hoare triple {2634#true} call ULTIMATE.init(); {2634#true} is VALID [2020-07-08 12:27:45,824 INFO L280 TraceCheckUtils]: 1: Hoare triple {2634#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2634#true} is VALID [2020-07-08 12:27:45,825 INFO L280 TraceCheckUtils]: 2: Hoare triple {2634#true} assume true; {2634#true} is VALID [2020-07-08 12:27:45,825 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2634#true} {2634#true} #189#return; {2634#true} is VALID [2020-07-08 12:27:45,825 INFO L263 TraceCheckUtils]: 4: Hoare triple {2634#true} call #t~ret21 := main(); {2634#true} is VALID [2020-07-08 12:27:45,829 INFO L280 TraceCheckUtils]: 5: Hoare triple {2634#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2665#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:45,831 INFO L280 TraceCheckUtils]: 6: Hoare triple {2665#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2665#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:45,834 INFO L280 TraceCheckUtils]: 7: Hoare triple {2665#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {2672#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= 0 main_~end~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))))} is VALID [2020-07-08 12:27:45,839 INFO L280 TraceCheckUtils]: 8: Hoare triple {2672#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= 0 main_~end~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,841 INFO L280 TraceCheckUtils]: 9: Hoare triple {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,842 INFO L280 TraceCheckUtils]: 10: Hoare triple {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,843 INFO L280 TraceCheckUtils]: 11: Hoare triple {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} goto; {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,844 INFO L280 TraceCheckUtils]: 12: Hoare triple {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {2689#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) |main_#t~mem11.offset|) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) |main_#t~mem11.base|) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,845 INFO L280 TraceCheckUtils]: 13: Hoare triple {2689#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) |main_#t~mem11.offset|) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) |main_#t~mem11.base|) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,846 INFO L280 TraceCheckUtils]: 14: Hoare triple {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} goto; {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} is VALID [2020-07-08 12:27:45,848 INFO L280 TraceCheckUtils]: 15: Hoare triple {2676#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} is VALID [2020-07-08 12:27:45,850 INFO L280 TraceCheckUtils]: 16: Hoare triple {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} goto; {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} is VALID [2020-07-08 12:27:45,851 INFO L280 TraceCheckUtils]: 17: Hoare triple {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} is VALID [2020-07-08 12:27:45,852 INFO L280 TraceCheckUtils]: 18: Hoare triple {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} assume !(0 != #t~nondet2);havoc #t~nondet2; {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} is VALID [2020-07-08 12:27:45,857 INFO L280 TraceCheckUtils]: 19: Hoare triple {2699#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (not (= main_~null~0.base main_~end~0.base)))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,859 INFO L280 TraceCheckUtils]: 20: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,860 INFO L280 TraceCheckUtils]: 21: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} goto; {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,861 INFO L280 TraceCheckUtils]: 22: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,862 INFO L280 TraceCheckUtils]: 23: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,863 INFO L280 TraceCheckUtils]: 24: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} goto; {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,864 INFO L280 TraceCheckUtils]: 25: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,865 INFO L280 TraceCheckUtils]: 26: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,867 INFO L280 TraceCheckUtils]: 27: Hoare triple {2712#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0)) (not (= main_~end~0.base v_subst_2)) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_2) 4)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| v_subst_2) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {2737#(and (= 0 main_~null~0.offset) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0) main_~end~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:27:45,868 INFO L280 TraceCheckUtils]: 28: Hoare triple {2737#(and (= 0 main_~null~0.offset) (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0) main_~end~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2741#(and (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0) main_~end~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset) (not (= main_~null~0.base main_~end~0.base)))} is VALID [2020-07-08 12:27:45,869 INFO L280 TraceCheckUtils]: 29: Hoare triple {2741#(and (exists ((v_subst_2 Int)) (and (not (= main_~null~0.base v_subst_2)) (not (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4) v_subst_2)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0) main_~end~0.base) (= (select (select |#memory_$Pointer$.base| v_subst_2) 4) (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 4)) 0)) (= (select (select |#memory_$Pointer$.base| v_subst_2) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_2) 4)) 0) v_subst_2))) (= 0 main_~end~0.offset) (not (= main_~null~0.base main_~end~0.base)))} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {2645#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:45,869 INFO L280 TraceCheckUtils]: 30: Hoare triple {2645#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2635#false} is VALID [2020-07-08 12:27:45,870 INFO L280 TraceCheckUtils]: 31: Hoare triple {2635#false} assume !false; {2635#false} is VALID [2020-07-08 12:27:45,879 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:45,880 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:27:45,880 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 18 [2020-07-08 12:27:45,880 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [447247531] [2020-07-08 12:27:45,881 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2020-07-08 12:27:45,881 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:45,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 12:27:46,002 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:46,002 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 12:27:46,003 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:46,003 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 12:27:46,004 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=265, Unknown=0, NotChecked=0, Total=306 [2020-07-08 12:27:46,004 INFO L87 Difference]: Start difference. First operand 39 states and 42 transitions. Second operand 18 states. [2020-07-08 12:27:53,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:53,524 INFO L93 Difference]: Finished difference Result 109 states and 120 transitions. [2020-07-08 12:27:53,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-08 12:27:53,524 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2020-07-08 12:27:53,524 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:27:53,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 12:27:53,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 118 transitions. [2020-07-08 12:27:53,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 12:27:53,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 118 transitions. [2020-07-08 12:27:53,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 118 transitions. [2020-07-08 12:27:53,830 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:53,832 INFO L225 Difference]: With dead ends: 109 [2020-07-08 12:27:53,832 INFO L226 Difference]: Without dead ends: 107 [2020-07-08 12:27:53,833 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=127, Invalid=743, Unknown=0, NotChecked=0, Total=870 [2020-07-08 12:27:53,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2020-07-08 12:27:53,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 73. [2020-07-08 12:27:53,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:27:53,937 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 73 states. [2020-07-08 12:27:53,937 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 73 states. [2020-07-08 12:27:53,937 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 73 states. [2020-07-08 12:27:53,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:53,941 INFO L93 Difference]: Finished difference Result 107 states and 118 transitions. [2020-07-08 12:27:53,941 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 118 transitions. [2020-07-08 12:27:53,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:53,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:53,942 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 107 states. [2020-07-08 12:27:53,942 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 107 states. [2020-07-08 12:27:53,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:27:53,946 INFO L93 Difference]: Finished difference Result 107 states and 118 transitions. [2020-07-08 12:27:53,946 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 118 transitions. [2020-07-08 12:27:53,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:27:53,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:27:53,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:27:53,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:27:53,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2020-07-08 12:27:53,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 81 transitions. [2020-07-08 12:27:53,949 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 81 transitions. Word has length 32 [2020-07-08 12:27:53,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:27:53,949 INFO L479 AbstractCegarLoop]: Abstraction has 73 states and 81 transitions. [2020-07-08 12:27:53,950 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 12:27:53,950 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-08 12:27:53,953 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-08 12:27:53,953 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:27:53,953 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:27:54,155 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-08 12:27:54,156 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:27:54,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:27:54,157 INFO L82 PathProgramCache]: Analyzing trace with hash -243600310, now seen corresponding path program 1 times [2020-07-08 12:27:54,157 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:27:54,157 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598288159] [2020-07-08 12:27:54,157 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:27:54,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:54,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:54,957 INFO L280 TraceCheckUtils]: 0: Hoare triple {3212#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3196#true} is VALID [2020-07-08 12:27:54,957 INFO L280 TraceCheckUtils]: 1: Hoare triple {3196#true} assume true; {3196#true} is VALID [2020-07-08 12:27:54,957 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3196#true} {3196#true} #189#return; {3196#true} is VALID [2020-07-08 12:27:54,958 INFO L263 TraceCheckUtils]: 0: Hoare triple {3196#true} call ULTIMATE.init(); {3212#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:27:54,958 INFO L280 TraceCheckUtils]: 1: Hoare triple {3212#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3196#true} is VALID [2020-07-08 12:27:54,958 INFO L280 TraceCheckUtils]: 2: Hoare triple {3196#true} assume true; {3196#true} is VALID [2020-07-08 12:27:54,959 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3196#true} {3196#true} #189#return; {3196#true} is VALID [2020-07-08 12:27:54,959 INFO L263 TraceCheckUtils]: 4: Hoare triple {3196#true} call #t~ret21 := main(); {3196#true} is VALID [2020-07-08 12:27:54,962 INFO L280 TraceCheckUtils]: 5: Hoare triple {3196#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3201#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:54,963 INFO L280 TraceCheckUtils]: 6: Hoare triple {3201#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3201#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:27:54,965 INFO L280 TraceCheckUtils]: 7: Hoare triple {3201#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {3202#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)))} is VALID [2020-07-08 12:27:54,967 INFO L280 TraceCheckUtils]: 8: Hoare triple {3202#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)))} assume 0 != #t~nondet6;havoc #t~nondet6;call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,968 INFO L280 TraceCheckUtils]: 9: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,969 INFO L280 TraceCheckUtils]: 10: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,970 INFO L280 TraceCheckUtils]: 11: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,971 INFO L280 TraceCheckUtils]: 12: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,972 INFO L280 TraceCheckUtils]: 13: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,973 INFO L280 TraceCheckUtils]: 14: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,974 INFO L280 TraceCheckUtils]: 15: Hoare triple {3203#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (<= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,975 INFO L280 TraceCheckUtils]: 16: Hoare triple {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} goto; {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,976 INFO L280 TraceCheckUtils]: 17: Hoare triple {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,976 INFO L280 TraceCheckUtils]: 18: Hoare triple {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} assume !(0 != #t~nondet2);havoc #t~nondet2; {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,977 INFO L280 TraceCheckUtils]: 19: Hoare triple {3204#(and (<= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (+ main_~null~0.offset 8))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3205#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,978 INFO L280 TraceCheckUtils]: 20: Hoare triple {3205#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3205#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,978 INFO L280 TraceCheckUtils]: 21: Hoare triple {3205#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} goto; {3205#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,979 INFO L280 TraceCheckUtils]: 22: Hoare triple {3205#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3206#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,980 INFO L280 TraceCheckUtils]: 23: Hoare triple {3206#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {3207#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,980 INFO L280 TraceCheckUtils]: 24: Hoare triple {3207#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {3207#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:27:54,981 INFO L280 TraceCheckUtils]: 25: Hoare triple {3207#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3208#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= |main_#t~mem13| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:27:54,983 INFO L280 TraceCheckUtils]: 26: Hoare triple {3208#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (= |main_#t~mem13| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8))))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3209#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} is VALID [2020-07-08 12:27:54,984 INFO L280 TraceCheckUtils]: 27: Hoare triple {3209#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {3210#(and (= 0 main_~null~0.offset) (not (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))) (<= 0 main_~end~0.offset) (< main_~end~0.offset (+ main_~null~0.offset 1)))} is VALID [2020-07-08 12:27:54,985 INFO L280 TraceCheckUtils]: 28: Hoare triple {3210#(and (= 0 main_~null~0.offset) (not (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))) (<= 0 main_~end~0.offset) (< main_~end~0.offset (+ main_~null~0.offset 1)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3211#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (not (= |main_#t~mem13| ~unnamed1~0~RED)))} is VALID [2020-07-08 12:27:54,985 INFO L280 TraceCheckUtils]: 29: Hoare triple {3211#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (not (= |main_#t~mem13| ~unnamed1~0~RED)))} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {3197#false} is VALID [2020-07-08 12:27:54,986 INFO L280 TraceCheckUtils]: 30: Hoare triple {3197#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3197#false} is VALID [2020-07-08 12:27:54,986 INFO L280 TraceCheckUtils]: 31: Hoare triple {3197#false} assume !false; {3197#false} is VALID [2020-07-08 12:27:54,993 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:54,993 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [598288159] [2020-07-08 12:27:54,993 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1684205660] [2020-07-08 12:27:54,993 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:27:55,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:55,098 INFO L264 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 37 conjunts are in the unsatisfiable core [2020-07-08 12:27:55,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:27:55,116 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:27:55,165 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-08 12:27:55,165 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 11 [2020-07-08 12:27:55,166 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,179 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,180 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:27:55,180 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:22, output treesize:23 [2020-07-08 12:27:55,184 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:55,184 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_25|, |main_#t~malloc0.base|]. (and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= |#valid| (store (store |v_#valid_25| |main_#t~malloc0.base| 1) main_~list~0.base 1))) [2020-07-08 12:27:55,185 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [|main_#t~malloc0.base|]. (and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| |main_#t~malloc0.base|))) [2020-07-08 12:27:55,300 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,300 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 15 [2020-07-08 12:27:55,303 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:27:55,305 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,334 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,338 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:55,360 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-08 12:27:55,372 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,372 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 63 treesize of output 41 [2020-07-08 12:27:55,373 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,428 INFO L624 ElimStorePlain]: treesize reduction 16, result has 88.4 percent of original size [2020-07-08 12:27:55,430 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:27:55,460 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,461 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 63 treesize of output 41 [2020-07-08 12:27:55,462 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,512 INFO L624 ElimStorePlain]: treesize reduction 16, result has 77.8 percent of original size [2020-07-08 12:27:55,515 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,515 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:194, output treesize:58 [2020-07-08 12:27:55,528 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:55,529 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_35|, |main_#t~malloc3.base|, main_~null~0.base, |v_#valid_26|, |v_#memory_$Pointer$.offset_34|]. (let ((.cse1 (let ((.cse3 (store |v_#memory_$Pointer$.base_35| main_~list~0.base (store (select |v_#memory_$Pointer$.base_35| main_~list~0.base) main_~list~0.offset |main_#t~malloc3.base|)))) (store .cse3 |main_#t~malloc3.base| (store (select .cse3 |main_#t~malloc3.base|) 4 main_~list~0.base)))) (.cse0 (let ((.cse2 (store |v_#memory_$Pointer$.offset_34| main_~list~0.base (store (select |v_#memory_$Pointer$.offset_34| main_~list~0.base) main_~list~0.offset 0)))) (store .cse2 |main_#t~malloc3.base| (store (select .cse2 |main_#t~malloc3.base|) 4 main_~list~0.offset))))) (and (= 1 (select |v_#valid_26| main_~list~0.base)) (= 0 main_~list~0.offset) (= (store .cse0 main_~end~0.base (store (select .cse0 main_~end~0.base) main_~end~0.offset 0)) |#memory_$Pointer$.offset|) (= (select (select .cse1 main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= |#memory_$Pointer$.base| (store .cse1 main_~end~0.base (store (select .cse1 main_~end~0.base) main_~end~0.offset main_~null~0.base))) (<= (select |v_#valid_26| |main_#t~malloc3.base|) 0) (= main_~end~0.offset (select (select .cse0 main_~list~0.base) main_~list~0.offset)))) [2020-07-08 12:27:55,529 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (not (= main_~list~0.base .cse0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| .cse0) 4)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| .cse0) 4) main_~list~0.base) (= .cse0 main_~end~0.base))) [2020-07-08 12:27:55,605 INFO L440 ElimStorePlain]: Different costs {0=[|v_#memory_int_44|], 4=[|v_#memory_$Pointer$.base_36|], 6=[|v_#memory_$Pointer$.offset_35|]} [2020-07-08 12:27:55,611 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 11 [2020-07-08 12:27:55,612 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,638 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,650 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,651 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 107 treesize of output 72 [2020-07-08 12:27:55,655 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,677 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,687 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 39 [2020-07-08 12:27:55,691 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,706 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:55,707 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:55,707 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:125, output treesize:63 [2020-07-08 12:27:57,240 INFO L440 ElimStorePlain]: Different costs {0=[|#memory_$Pointer$.base|], 1=[|#memory_$Pointer$.offset|]} [2020-07-08 12:27:57,245 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:57,246 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 60 treesize of output 35 [2020-07-08 12:27:57,250 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:57,268 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:57,273 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 29 treesize of output 13 [2020-07-08 12:27:57,275 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:57,281 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:57,283 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:57,283 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:74, output treesize:11 [2020-07-08 12:27:57,287 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:57,287 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|, v_main_~end~0.base_35, |#memory_$Pointer$.base|]. (let ((.cse1 (select (select |#memory_$Pointer$.base| v_main_~end~0.base_35) 0))) (let ((.cse2 (select |#memory_$Pointer$.offset| .cse1)) (.cse0 (select (select |#memory_$Pointer$.offset| v_main_~end~0.base_35) 0))) (and (= .cse0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| .cse1) 8)) (= v_main_~end~0.base_35 (select (select |#memory_$Pointer$.base| .cse1) 4)) (= .cse1 main_~end~0.base) (= 0 (select .cse2 4)) (= 0 (select .cse2 0)) (= 0 .cse0) (not (= v_main_~end~0.base_35 .cse1))))) [2020-07-08 12:27:57,287 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8))) [2020-07-08 12:27:57,336 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2020-07-08 12:27:57,343 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:27:57,345 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:27:57,346 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:27:57,346 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2020-07-08 12:27:57,349 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:27:57,349 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~end~0.base]. (let ((.cse0 (select (select |#memory_int| main_~end~0.base) 8))) (and (= ~unnamed1~0~BLACK .cse0) (<= .cse0 |main_#t~mem13|))) [2020-07-08 12:27:57,349 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (<= ~unnamed1~0~BLACK |main_#t~mem13|) [2020-07-08 12:27:57,390 INFO L263 TraceCheckUtils]: 0: Hoare triple {3196#true} call ULTIMATE.init(); {3196#true} is VALID [2020-07-08 12:27:57,390 INFO L280 TraceCheckUtils]: 1: Hoare triple {3196#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3196#true} is VALID [2020-07-08 12:27:57,390 INFO L280 TraceCheckUtils]: 2: Hoare triple {3196#true} assume true; {3196#true} is VALID [2020-07-08 12:27:57,390 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3196#true} {3196#true} #189#return; {3196#true} is VALID [2020-07-08 12:27:57,390 INFO L263 TraceCheckUtils]: 4: Hoare triple {3196#true} call #t~ret21 := main(); {3196#true} is VALID [2020-07-08 12:27:57,393 INFO L280 TraceCheckUtils]: 5: Hoare triple {3196#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3231#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:57,394 INFO L280 TraceCheckUtils]: 6: Hoare triple {3231#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3231#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-08 12:27:57,396 INFO L280 TraceCheckUtils]: 7: Hoare triple {3231#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {3238#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base))} is VALID [2020-07-08 12:27:57,399 INFO L280 TraceCheckUtils]: 8: Hoare triple {3238#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base))} assume 0 != #t~nondet6;havoc #t~nondet6;call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,400 INFO L280 TraceCheckUtils]: 9: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,400 INFO L280 TraceCheckUtils]: 10: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,401 INFO L280 TraceCheckUtils]: 11: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} goto; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,402 INFO L280 TraceCheckUtils]: 12: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,403 INFO L280 TraceCheckUtils]: 13: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,405 INFO L280 TraceCheckUtils]: 14: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} goto; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,406 INFO L280 TraceCheckUtils]: 15: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,407 INFO L280 TraceCheckUtils]: 16: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} goto; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,407 INFO L280 TraceCheckUtils]: 17: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,408 INFO L280 TraceCheckUtils]: 18: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} assume !(0 != #t~nondet2);havoc #t~nondet2; {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} is VALID [2020-07-08 12:27:57,410 INFO L280 TraceCheckUtils]: 19: Hoare triple {3242#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 8)) (= 0 main_~list~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 0)))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,411 INFO L280 TraceCheckUtils]: 20: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,411 INFO L280 TraceCheckUtils]: 21: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} goto; {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,413 INFO L280 TraceCheckUtils]: 22: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,416 INFO L280 TraceCheckUtils]: 23: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,417 INFO L280 TraceCheckUtils]: 24: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} goto; {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,421 INFO L280 TraceCheckUtils]: 25: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,422 INFO L280 TraceCheckUtils]: 26: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} is VALID [2020-07-08 12:27:57,422 INFO L280 TraceCheckUtils]: 27: Hoare triple {3276#(and (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 8)) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) 4)))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {3301#(and (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)))} is VALID [2020-07-08 12:27:57,423 INFO L280 TraceCheckUtils]: 28: Hoare triple {3301#(and (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3305#(<= ~unnamed1~0~BLACK |main_#t~mem13|)} is VALID [2020-07-08 12:27:57,423 INFO L280 TraceCheckUtils]: 29: Hoare triple {3305#(<= ~unnamed1~0~BLACK |main_#t~mem13|)} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {3197#false} is VALID [2020-07-08 12:27:57,424 INFO L280 TraceCheckUtils]: 30: Hoare triple {3197#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3197#false} is VALID [2020-07-08 12:27:57,424 INFO L280 TraceCheckUtils]: 31: Hoare triple {3197#false} assume !false; {3197#false} is VALID [2020-07-08 12:27:57,432 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:27:57,433 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:27:57,433 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 8] total 20 [2020-07-08 12:27:57,433 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2102600698] [2020-07-08 12:27:57,434 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 32 [2020-07-08 12:27:57,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:27:57,434 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states. [2020-07-08 12:27:57,543 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:27:57,544 INFO L459 AbstractCegarLoop]: Interpolant automaton has 20 states [2020-07-08 12:27:57,544 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:27:57,544 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2020-07-08 12:27:57,544 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=336, Unknown=0, NotChecked=0, Total=380 [2020-07-08 12:27:57,545 INFO L87 Difference]: Start difference. First operand 73 states and 81 transitions. Second operand 20 states. [2020-07-08 12:28:00,900 WARN L193 SmtUtils]: Spent 129.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 61 [2020-07-08 12:28:01,233 WARN L193 SmtUtils]: Spent 159.00 ms on a formula simplification. DAG size of input: 80 DAG size of output: 60 [2020-07-08 12:28:02,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:02,496 INFO L93 Difference]: Finished difference Result 120 states and 132 transitions. [2020-07-08 12:28:02,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-08 12:28:02,497 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 32 [2020-07-08 12:28:02,497 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:02,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-08 12:28:02,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 104 transitions. [2020-07-08 12:28:02,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2020-07-08 12:28:02,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 104 transitions. [2020-07-08 12:28:02,505 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 104 transitions. [2020-07-08 12:28:02,717 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:02,719 INFO L225 Difference]: With dead ends: 120 [2020-07-08 12:28:02,719 INFO L226 Difference]: Without dead ends: 108 [2020-07-08 12:28:02,720 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 27 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=151, Invalid=779, Unknown=0, NotChecked=0, Total=930 [2020-07-08 12:28:02,721 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2020-07-08 12:28:02,845 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 82. [2020-07-08 12:28:02,845 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:02,845 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand 82 states. [2020-07-08 12:28:02,846 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 82 states. [2020-07-08 12:28:02,846 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 82 states. [2020-07-08 12:28:02,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:02,851 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2020-07-08 12:28:02,851 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2020-07-08 12:28:02,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:02,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:02,852 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 108 states. [2020-07-08 12:28:02,852 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 108 states. [2020-07-08 12:28:02,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:02,855 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2020-07-08 12:28:02,855 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2020-07-08 12:28:02,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:02,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:02,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:02,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:02,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-08 12:28:02,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2020-07-08 12:28:02,859 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 32 [2020-07-08 12:28:02,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:02,859 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2020-07-08 12:28:02,859 INFO L480 AbstractCegarLoop]: Interpolant automaton has 20 states. [2020-07-08 12:28:02,859 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2020-07-08 12:28:02,860 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-08 12:28:02,860 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:02,860 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:28:03,074 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:28:03,075 INFO L427 AbstractCegarLoop]: === Iteration 12 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:03,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:03,076 INFO L82 PathProgramCache]: Analyzing trace with hash 145286649, now seen corresponding path program 2 times [2020-07-08 12:28:03,077 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:03,077 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [153842693] [2020-07-08 12:28:03,077 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:03,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:03,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:03,939 INFO L280 TraceCheckUtils]: 0: Hoare triple {3800#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3783#true} is VALID [2020-07-08 12:28:03,939 INFO L280 TraceCheckUtils]: 1: Hoare triple {3783#true} assume true; {3783#true} is VALID [2020-07-08 12:28:03,939 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3783#true} {3783#true} #189#return; {3783#true} is VALID [2020-07-08 12:28:03,940 INFO L263 TraceCheckUtils]: 0: Hoare triple {3783#true} call ULTIMATE.init(); {3800#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 12:28:03,941 INFO L280 TraceCheckUtils]: 1: Hoare triple {3800#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3783#true} is VALID [2020-07-08 12:28:03,941 INFO L280 TraceCheckUtils]: 2: Hoare triple {3783#true} assume true; {3783#true} is VALID [2020-07-08 12:28:03,941 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3783#true} {3783#true} #189#return; {3783#true} is VALID [2020-07-08 12:28:03,941 INFO L263 TraceCheckUtils]: 4: Hoare triple {3783#true} call #t~ret21 := main(); {3783#true} is VALID [2020-07-08 12:28:03,946 INFO L280 TraceCheckUtils]: 5: Hoare triple {3783#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3788#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:28:03,947 INFO L280 TraceCheckUtils]: 6: Hoare triple {3788#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3788#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} is VALID [2020-07-08 12:28:03,950 INFO L280 TraceCheckUtils]: 7: Hoare triple {3788#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {3789#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 1 (select |#valid| main_~list~0.base)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-08 12:28:03,954 INFO L280 TraceCheckUtils]: 8: Hoare triple {3789#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 1 (select |#valid| main_~list~0.base)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| main_~end~0.base)) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,956 INFO L280 TraceCheckUtils]: 9: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,957 INFO L280 TraceCheckUtils]: 10: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,959 INFO L280 TraceCheckUtils]: 11: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,960 INFO L280 TraceCheckUtils]: 12: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,961 INFO L280 TraceCheckUtils]: 13: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,962 INFO L280 TraceCheckUtils]: 14: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,964 INFO L280 TraceCheckUtils]: 15: Hoare triple {3790#(and (= 0 main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) main_~end~0.base) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= 0 main_~end~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0) (< main_~end~0.offset (+ main_~null~0.offset 1)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} is VALID [2020-07-08 12:28:03,965 INFO L280 TraceCheckUtils]: 16: Hoare triple {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} goto; {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} is VALID [2020-07-08 12:28:03,967 INFO L280 TraceCheckUtils]: 17: Hoare triple {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} is VALID [2020-07-08 12:28:03,967 INFO L280 TraceCheckUtils]: 18: Hoare triple {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} assume !(0 != #t~nondet2);havoc #t~nondet2; {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} is VALID [2020-07-08 12:28:03,969 INFO L280 TraceCheckUtils]: 19: Hoare triple {3791#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset))) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) 0))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3792#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} is VALID [2020-07-08 12:28:03,970 INFO L280 TraceCheckUtils]: 20: Hoare triple {3792#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3792#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} is VALID [2020-07-08 12:28:03,971 INFO L280 TraceCheckUtils]: 21: Hoare triple {3792#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} goto; {3792#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} is VALID [2020-07-08 12:28:03,972 INFO L280 TraceCheckUtils]: 22: Hoare triple {3792#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3793#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:03,973 INFO L280 TraceCheckUtils]: 23: Hoare triple {3793#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= ~unnamed1~0~BLACK (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {3794#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} is VALID [2020-07-08 12:28:03,976 INFO L280 TraceCheckUtils]: 24: Hoare triple {3794#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} goto; {3794#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} is VALID [2020-07-08 12:28:03,978 INFO L280 TraceCheckUtils]: 25: Hoare triple {3794#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3795#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (= |main_#t~mem13| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))))} is VALID [2020-07-08 12:28:03,979 INFO L280 TraceCheckUtils]: 26: Hoare triple {3795#(and (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (= |main_#t~mem13| (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8))))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3796#(and (not (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8)))) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} is VALID [2020-07-08 12:28:03,981 INFO L280 TraceCheckUtils]: 27: Hoare triple {3796#(and (not (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))) (+ main_~null~0.offset 8)))) (= 0 main_~null~0.offset) (<= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) 0) (<= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset))))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {3797#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} is VALID [2020-07-08 12:28:03,982 INFO L280 TraceCheckUtils]: 28: Hoare triple {3797#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3797#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} is VALID [2020-07-08 12:28:03,984 INFO L280 TraceCheckUtils]: 29: Hoare triple {3797#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3797#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} is VALID [2020-07-08 12:28:03,990 INFO L280 TraceCheckUtils]: 30: Hoare triple {3797#(and (= 0 main_~null~0.offset) (<= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (<= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) 0) (not (= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (+ main_~null~0.offset 8)) ~unnamed1~0~RED)))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {3798#(and (= 0 main_~null~0.offset) (not (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))) (<= 0 main_~end~0.offset) (< main_~end~0.offset (+ main_~null~0.offset 1)))} is VALID [2020-07-08 12:28:03,993 INFO L280 TraceCheckUtils]: 31: Hoare triple {3798#(and (= 0 main_~null~0.offset) (not (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))) (<= 0 main_~end~0.offset) (< main_~end~0.offset (+ main_~null~0.offset 1)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3799#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (not (= |main_#t~mem13| ~unnamed1~0~RED)))} is VALID [2020-07-08 12:28:03,994 INFO L280 TraceCheckUtils]: 32: Hoare triple {3799#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (not (= |main_#t~mem13| ~unnamed1~0~RED)))} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {3784#false} is VALID [2020-07-08 12:28:03,994 INFO L280 TraceCheckUtils]: 33: Hoare triple {3784#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3784#false} is VALID [2020-07-08 12:28:03,994 INFO L280 TraceCheckUtils]: 34: Hoare triple {3784#false} assume !false; {3784#false} is VALID [2020-07-08 12:28:04,005 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:28:04,005 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [153842693] [2020-07-08 12:28:04,005 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1206681976] [2020-07-08 12:28:04,005 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:28:04,162 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-08 12:28:04,162 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-08 12:28:04,165 INFO L264 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 60 conjunts are in the unsatisfiable core [2020-07-08 12:28:04,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:28:04,185 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:28:04,222 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-08 12:28:04,223 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 11 [2020-07-08 12:28:04,223 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:04,235 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:04,235 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:28:04,236 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:22, output treesize:23 [2020-07-08 12:28:04,240 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:04,240 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_27|, |main_#t~malloc0.base|]. (and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= |#valid| (store (store |v_#valid_27| |main_#t~malloc0.base| 1) main_~list~0.base 1)) (= main_~list~0.base main_~end~0.base)) [2020-07-08 12:28:04,241 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [|main_#t~malloc0.base|]. (and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base) (= 1 (select |#valid| |main_#t~malloc0.base|))) [2020-07-08 12:28:04,353 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:04,354 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 39 [2020-07-08 12:28:04,356 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:28:04,358 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:04,457 INFO L624 ElimStorePlain]: treesize reduction 14, result has 93.5 percent of original size [2020-07-08 12:28:04,472 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:04,483 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:04,484 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-08 12:28:04,501 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:04,502 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 63 treesize of output 41 [2020-07-08 12:28:04,503 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:04,574 INFO L624 ElimStorePlain]: treesize reduction 16, result has 89.4 percent of original size [2020-07-08 12:28:04,577 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:04,595 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:04,606 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:04,607 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 63 treesize of output 41 [2020-07-08 12:28:04,607 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:04,669 INFO L624 ElimStorePlain]: treesize reduction 16, result has 81.2 percent of original size [2020-07-08 12:28:04,672 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:28:04,673 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:203, output treesize:82 [2020-07-08 12:28:04,699 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:04,700 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_37|, |main_#t~malloc3.base|, |v_#memory_$Pointer$.base_38|, |v_#valid_28|]. (let ((.cse1 (let ((.cse3 (store |v_#memory_$Pointer$.base_38| main_~list~0.base (store (select |v_#memory_$Pointer$.base_38| main_~list~0.base) main_~list~0.offset |main_#t~malloc3.base|)))) (store .cse3 |main_#t~malloc3.base| (store (select .cse3 |main_#t~malloc3.base|) 4 main_~list~0.base)))) (.cse0 (let ((.cse2 (store |v_#memory_$Pointer$.offset_37| main_~list~0.base (store (select |v_#memory_$Pointer$.offset_37| main_~list~0.base) main_~list~0.offset 0)))) (store .cse2 |main_#t~malloc3.base| (store (select .cse2 |main_#t~malloc3.base|) 4 main_~list~0.offset))))) (and (= (store .cse0 main_~end~0.base (store (select .cse0 main_~end~0.base) main_~end~0.offset main_~null~0.offset)) |#memory_$Pointer$.offset|) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select .cse1 main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= |#valid| (store |v_#valid_28| |main_#t~malloc3.base| 1)) (= 1 (select |v_#valid_28| main_~list~0.base)) (= |#memory_$Pointer$.base| (store .cse1 main_~end~0.base (store (select .cse1 main_~end~0.base) main_~end~0.offset main_~null~0.base))) (= main_~end~0.offset (select (select .cse0 main_~list~0.base) main_~list~0.offset)) (<= (select |v_#valid_28| |main_#t~malloc3.base|) 0))) [2020-07-08 12:28:04,701 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= 0 main_~end~0.offset) (not (= main_~list~0.base .cse0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| .cse0) 4)) (= (select (select |#memory_$Pointer$.base| .cse0) 4) main_~list~0.base) (= .cse0 main_~end~0.base) (= 1 (select |#valid| .cse0)))) [2020-07-08 12:28:04,984 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:04,985 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 2 case distinctions, treesize of input 20 treesize of output 30 [2020-07-08 12:28:04,988 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-08 12:28:04,991 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-08 12:28:04,992 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:05,477 WARN L193 SmtUtils]: Spent 483.00 ms on a formula simplification that was a NOOP. DAG size: 110 [2020-07-08 12:28:05,477 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:05,482 INFO L440 ElimStorePlain]: Different costs {0=[|v_#memory_int_48|, |v_#memory_int_47|], 2=[|v_#memory_int_45|, |v_#memory_int_46|], 6=[|v_#memory_$Pointer$.base_39|, |v_#memory_$Pointer$.offset_38|], 11=[|v_#memory_$Pointer$.base_37|, |v_#memory_$Pointer$.offset_36|]} [2020-07-08 12:28:05,553 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 11 [2020-07-08 12:28:05,553 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:05,901 WARN L193 SmtUtils]: Spent 347.00 ms on a formula simplification that was a NOOP. DAG size: 105 [2020-07-08 12:28:05,901 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:05,940 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 15 [2020-07-08 12:28:05,941 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:06,215 WARN L193 SmtUtils]: Spent 273.00 ms on a formula simplification that was a NOOP. DAG size: 98 [2020-07-08 12:28:06,216 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:06,224 INFO L544 ElimStorePlain]: Start of recursive call 5: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:28:06,451 WARN L193 SmtUtils]: Spent 226.00 ms on a formula simplification that was a NOOP. DAG size: 94 [2020-07-08 12:28:06,452 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:06,475 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:06,480 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:06,482 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 31 [2020-07-08 12:28:06,489 INFO L544 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:06,862 WARN L193 SmtUtils]: Spent 372.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 91 [2020-07-08 12:28:06,862 INFO L624 ElimStorePlain]: treesize reduction 8, result has 98.3 percent of original size [2020-07-08 12:28:06,885 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:06,885 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 436 treesize of output 292 [2020-07-08 12:28:06,894 INFO L544 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:07,186 WARN L193 SmtUtils]: Spent 291.00 ms on a formula simplification. DAG size of input: 87 DAG size of output: 85 [2020-07-08 12:28:07,187 INFO L624 ElimStorePlain]: treesize reduction 24, result has 94.8 percent of original size [2020-07-08 12:28:07,214 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 57 treesize of output 39 [2020-07-08 12:28:07,216 INFO L544 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:07,354 WARN L193 SmtUtils]: Spent 137.00 ms on a formula simplification that was a NOOP. DAG size: 79 [2020-07-08 12:28:07,354 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:07,379 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:07,686 WARN L193 SmtUtils]: Spent 300.00 ms on a formula simplification. DAG size of input: 85 DAG size of output: 69 [2020-07-08 12:28:07,687 INFO L350 Elim1Store]: treesize reduction 160, result has 55.9 percent of original size [2020-07-08 12:28:07,688 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 8 case distinctions, treesize of input 330 treesize of output 348 [2020-07-08 12:28:07,701 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:07,710 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:07,727 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-08 12:28:07,736 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:07,748 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:07,756 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:07,762 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:07,767 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:07,794 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:07,803 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-08 12:28:07,811 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:07,819 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:07,825 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:07,835 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:07,856 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:07,864 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:07,868 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:07,907 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:07,915 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-08 12:28:07,925 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:07,932 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:07,940 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:07,955 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:07,964 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:07,992 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:08,001 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-08 12:28:08,015 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,027 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,043 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:08,050 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:08,067 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,075 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:08,081 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:08,125 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:08,136 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-08 12:28:08,153 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,159 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,164 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:08,174 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:08,208 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,229 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:08,235 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:08,273 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-08 12:28:08,284 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 12 disjuncts [2020-07-08 12:28:08,297 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,312 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,322 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 9 disjuncts [2020-07-08 12:28:08,329 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 9 disjuncts [2020-07-08 12:28:08,337 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 9 disjuncts [2020-07-08 12:28:08,363 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,378 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,385 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,390 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,395 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,417 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,425 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,430 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,472 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,480 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,485 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,497 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,505 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,520 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,535 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,542 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,572 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:08,579 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-08 12:28:08,586 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 12 disjuncts [2020-07-08 12:28:08,597 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,604 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,609 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,612 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,633 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,660 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,673 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,679 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,693 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,709 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,715 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,720 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,724 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,741 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,747 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:08,750 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:08,771 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,779 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:08,784 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 9 disjuncts [2020-07-08 12:28:08,798 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 9 disjuncts [2020-07-08 12:28:08,806 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 9 disjuncts [2020-07-08 12:28:08,838 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:08,847 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:08,855 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-08 12:28:08,865 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:08,876 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,893 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:08,900 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:08,922 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:08,929 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:08,935 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:08,978 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-08 12:28:08,994 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:09,011 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:09,024 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:09,034 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:09,040 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:09,077 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:09,090 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-08 12:28:09,112 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:09,128 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:09,139 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-08 12:28:09,159 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-08 12:28:09,168 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-08 12:28:09,191 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:09,202 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-08 12:28:09,222 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:09,230 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:09,236 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:09,248 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:09,283 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:09,306 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:09,312 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:09,352 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-08 12:28:09,361 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-08 12:28:09,371 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-08 12:28:09,380 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:09,389 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:09,394 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:09,415 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-08 12:28:09,425 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-08 12:28:09,429 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-08 12:28:09,449 INFO L544 ElimStorePlain]: Start of recursive call 9: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:28:09,682 WARN L193 SmtUtils]: Spent 231.00 ms on a formula simplification. DAG size of input: 111 DAG size of output: 70 [2020-07-08 12:28:09,682 INFO L624 ElimStorePlain]: treesize reduction 178, result has 52.2 percent of original size [2020-07-08 12:28:09,685 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:09,705 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:09,706 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:09,711 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:09,768 INFO L350 Elim1Store]: treesize reduction 5, result has 90.7 percent of original size [2020-07-08 12:28:09,769 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 95 treesize of output 89 [2020-07-08 12:28:09,771 INFO L544 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:09,882 WARN L193 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 71 DAG size of output: 61 [2020-07-08 12:28:09,883 INFO L624 ElimStorePlain]: treesize reduction 41, result has 72.8 percent of original size [2020-07-08 12:28:09,890 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, 8 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:28:09,891 INFO L244 ElimStorePlain]: Needed 10 recursive calls to eliminate 10 variables, input treesize:530, output treesize:117 [2020-07-08 12:28:11,896 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:11,896 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_39|, |v_#memory_$Pointer$.offset_36|, |main_#t~malloc7.base|, |v_#memory_$Pointer$.base_37|, |v_#memory_$Pointer$.offset_38|, |v_#valid_29|, |v_#memory_int_45|, |v_#memory_int_46|, |v_#memory_int_48|, |v_#memory_int_47|]. (let ((.cse0 (select (select |v_#memory_$Pointer$.base_39| main_~list~0.base) main_~list~0.offset))) (let ((.cse2 (select |v_#memory_$Pointer$.base_37| .cse0)) (.cse4 (select |v_#memory_$Pointer$.offset_36| .cse0))) (let ((.cse1 (select |v_#memory_$Pointer$.base_39| .cse0)) (.cse5 (select |v_#memory_int_45| main_~end~0.base)) (.cse6 (let ((.cse10 (store |v_#memory_$Pointer$.offset_36| .cse0 (store .cse4 0 0)))) (store .cse10 |main_#t~malloc7.base| (store (select .cse10 |main_#t~malloc7.base|) 4 0)))) (.cse3 (select |v_#memory_$Pointer$.offset_38| .cse0)) (.cse8 (let ((.cse9 (store |v_#memory_$Pointer$.base_37| .cse0 (store .cse2 0 |main_#t~malloc7.base|)))) (store .cse9 |main_#t~malloc7.base| (store (select .cse9 |main_#t~malloc7.base|) 4 .cse0)))) (.cse7 (+ main_~end~0.offset 8))) (and (= |v_#memory_$Pointer$.base_37| (store |v_#memory_$Pointer$.base_39| .cse0 (store .cse1 8 (select .cse2 8)))) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= |v_#memory_$Pointer$.offset_36| (store |v_#memory_$Pointer$.offset_38| .cse0 (store .cse3 8 (select .cse4 8)))) (= (select .cse3 4) main_~list~0.offset) (= main_~list~0.base (select .cse1 4)) (= 0 (select (select |v_#memory_$Pointer$.offset_38| main_~list~0.base) main_~list~0.offset)) (<= (select |v_#valid_29| |main_#t~malloc7.base|) 0) (= (store |v_#memory_int_46| main_~end~0.base (store (select |v_#memory_int_46| main_~end~0.base) main_~end~0.offset (select .cse5 main_~end~0.offset))) |v_#memory_int_45|) (= main_~end~0.offset (select (select .cse6 .cse0) 0)) (= (store |v_#memory_int_48| .cse0 (store (store (select |v_#memory_int_48| .cse0) 8 ~unnamed1~0~RED) 0 (select (select |v_#memory_int_47| .cse0) 0))) |v_#memory_int_47|) (= (select .cse1 0) main_~null~0.base) (= |#memory_int| (store |v_#memory_int_45| main_~end~0.base (store .cse5 .cse7 ~unnamed1~0~BLACK))) (= (store .cse6 main_~end~0.base (store (store (select .cse6 main_~end~0.base) main_~end~0.offset main_~null~0.offset) .cse7 (select (select |#memory_$Pointer$.offset| main_~end~0.base) .cse7))) |#memory_$Pointer$.offset|) (= 1 (select |v_#valid_29| .cse0)) (not (= main_~list~0.base .cse0)) (= (select .cse3 0) main_~null~0.offset) (= (select (select .cse8 .cse0) 0) main_~end~0.base) (= |#memory_$Pointer$.base| (store .cse8 main_~end~0.base (store (store (select .cse8 main_~end~0.base) main_~end~0.offset main_~null~0.base) .cse7 (select (select |#memory_$Pointer$.base| main_~end~0.base) .cse7)))) (= (store |v_#memory_int_47| |main_#t~malloc7.base| (store (select |v_#memory_int_47| |main_#t~malloc7.base|) 4 (select (select |v_#memory_int_46| |main_#t~malloc7.base|) 4))) |v_#memory_int_46|) (= 1 (select |v_#valid_29| main_~list~0.base)))))) [2020-07-08 12:28:11,896 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (select |#memory_$Pointer$.base| main_~end~0.base))) (let ((.cse3 (select .cse0 4))) (let ((.cse1 (select |#memory_$Pointer$.offset| main_~end~0.base)) (.cse2 (select |#memory_$Pointer$.base| .cse3)) (.cse4 (select |#memory_$Pointer$.offset| .cse3))) (and (= (select .cse0 main_~end~0.offset) main_~null~0.base) (= 0 (select .cse1 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select .cse1 main_~end~0.offset) main_~null~0.offset) (= (select .cse2 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| .cse3) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) .cse3) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= (select .cse2 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select .cse4 0)) (= main_~list~0.offset (select .cse4 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))))) [2020-07-08 12:28:12,825 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:12,826 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 1 disjoint index pairs (out of 10 index pairs), introduced 7 new quantified variables, introduced 9 case distinctions, treesize of input 128 treesize of output 90 [2020-07-08 12:28:12,836 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-08 12:28:12,842 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-08 12:28:12,846 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-08 12:28:12,854 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-08 12:28:12,858 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-08 12:28:12,866 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-08 12:28:12,871 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-08 12:28:12,876 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-08 12:28:12,891 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-08 12:28:12,899 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-08 12:28:12,905 INFO L544 ElimStorePlain]: Start of recursive call 2: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:28:12,973 INFO L624 ElimStorePlain]: treesize reduction 28, result has 70.8 percent of original size [2020-07-08 12:28:12,987 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-08 12:28:12,988 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 5 select indices, 5 select index equivalence classes, 4 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 19 [2020-07-08 12:28:12,991 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:13,004 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:13,007 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-08 12:28:13,007 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:152, output treesize:21 [2020-07-08 12:28:13,014 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:13,015 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_subst_4, |#memory_$Pointer$.offset|]. (let ((.cse1 (select |#memory_$Pointer$.base| v_subst_4))) (let ((.cse7 (select .cse1 4))) (let ((.cse3 (select |#memory_$Pointer$.base| .cse7))) (let ((.cse5 (select .cse3 4))) (let ((.cse0 (select |#memory_$Pointer$.offset| .cse7)) (.cse2 (select |#memory_$Pointer$.offset| v_subst_4)) (.cse4 (select (select |#memory_$Pointer$.offset| .cse5) 0)) (.cse6 (select (select |#memory_$Pointer$.base| .cse5) 0))) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select .cse0 0)) (= 0 (select .cse0 4)) (= (select .cse1 0) main_~null~0.base) (= 0 main_~null~0.offset) (= (select .cse2 0) main_~null~0.offset) (= (select .cse3 0) v_subst_4) (= 0 .cse4) (not (= .cse5 v_subst_4)) (= 0 (select .cse2 4)) (= .cse6 main_~end~0.base) (= main_~end~0.offset .cse4) (= .cse7 .cse6) (= ~unnamed1~0~RED (select (select |#memory_int| .cse7) 8)))))))) [2020-07-08 12:28:13,015 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_subst_4]. (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 main_~null~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) 8)) (= 0 main_~end~0.offset)) [2020-07-08 12:28:13,107 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-08 12:28:13,107 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 18 [2020-07-08 12:28:13,109 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-08 12:28:13,123 INFO L624 ElimStorePlain]: treesize reduction 4, result has 66.7 percent of original size [2020-07-08 12:28:13,125 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-08 12:28:13,125 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:22, output treesize:3 [2020-07-08 12:28:13,128 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-08 12:28:13,128 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~end~0.base, v_subst_4]. (let ((.cse0 (select (select |#memory_int| main_~end~0.base) 8))) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= |main_#t~mem13| .cse0) (= ~unnamed1~0~RED .cse0))) [2020-07-08 12:28:13,129 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem13| ~unnamed1~0~RED) [2020-07-08 12:28:13,178 INFO L263 TraceCheckUtils]: 0: Hoare triple {3783#true} call ULTIMATE.init(); {3783#true} is VALID [2020-07-08 12:28:13,178 INFO L280 TraceCheckUtils]: 1: Hoare triple {3783#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3783#true} is VALID [2020-07-08 12:28:13,178 INFO L280 TraceCheckUtils]: 2: Hoare triple {3783#true} assume true; {3783#true} is VALID [2020-07-08 12:28:13,179 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3783#true} {3783#true} #189#return; {3783#true} is VALID [2020-07-08 12:28:13,179 INFO L263 TraceCheckUtils]: 4: Hoare triple {3783#true} call #t~ret21 := main(); {3783#true} is VALID [2020-07-08 12:28:13,184 INFO L280 TraceCheckUtils]: 5: Hoare triple {3783#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(12);~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4);call write~$Pointer$(0, 0, ~null~0.base, 4 + ~null~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~null~0.base, 8 + ~null~0.offset, 4);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(12);~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4);call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, 4 + ~list~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~list~0.base, 8 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3819#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-08 12:28:13,186 INFO L280 TraceCheckUtils]: 6: Hoare triple {3819#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3819#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-08 12:28:13,191 INFO L280 TraceCheckUtils]: 7: Hoare triple {3819#(and (= main_~list~0.offset main_~end~0.offset) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume !!(0 != #t~nondet2);havoc #t~nondet2;call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem5.base, #t~mem5.offset;havoc #t~mem5.base, #t~mem5.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647; {3826#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= 0 main_~end~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))))} is VALID [2020-07-08 12:28:13,196 INFO L280 TraceCheckUtils]: 8: Hoare triple {3826#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= 0 main_~end~0.offset) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4)) (not (= main_~list~0.base (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) 4) main_~list~0.base) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset))))} assume !(0 != #t~nondet6);havoc #t~nondet6;call write~int(~unnamed1~0~RED, ~end~0.base, 8 + ~end~0.offset, 4);call #t~malloc7.base, #t~malloc7.offset := #Ultimate.allocOnHeap(12);call write~$Pointer$(#t~malloc7.base, #t~malloc7.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);call write~$Pointer$(~end~0.base, ~end~0.offset, #t~mem8.base, 4 + #t~mem8.offset, 4);havoc #t~mem8.base, #t~mem8.offset;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset;call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4);call write~int(~unnamed1~0~BLACK, ~end~0.base, 8 + ~end~0.offset, 4); {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:13,199 INFO L280 TraceCheckUtils]: 9: Hoare triple {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:13,201 INFO L280 TraceCheckUtils]: 10: Hoare triple {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:13,204 INFO L280 TraceCheckUtils]: 11: Hoare triple {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} goto; {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-08 12:28:13,209 INFO L280 TraceCheckUtils]: 12: Hoare triple {3830#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 main_~end~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {3843#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) |main_#t~mem11.offset|) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= |main_#t~mem11.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 0)))))} is VALID [2020-07-08 12:28:13,212 INFO L280 TraceCheckUtils]: 13: Hoare triple {3843#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) |main_#t~mem11.offset|) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= |main_#t~mem11.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 0)))))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} is VALID [2020-07-08 12:28:13,214 INFO L280 TraceCheckUtils]: 14: Hoare triple {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} goto; {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} is VALID [2020-07-08 12:28:13,215 INFO L280 TraceCheckUtils]: 15: Hoare triple {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} is VALID [2020-07-08 12:28:13,217 INFO L280 TraceCheckUtils]: 16: Hoare triple {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} goto; {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} is VALID [2020-07-08 12:28:13,218 INFO L280 TraceCheckUtils]: 17: Hoare triple {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} is VALID [2020-07-08 12:28:13,220 INFO L280 TraceCheckUtils]: 18: Hoare triple {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} assume !(0 != #t~nondet2);havoc #t~nondet2; {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} is VALID [2020-07-08 12:28:13,222 INFO L280 TraceCheckUtils]: 19: Hoare triple {3847#(and (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset) (exists ((main_~end~0.base Int)) (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) 0) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0) main_~end~0.base) (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4) main_~list~0.base) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 0)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)) (= main_~list~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 4)) (= (select (select |#memory_$Pointer$.base| main_~end~0.base) 0) main_~null~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~end~0.base) 4)) 8)))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,224 INFO L280 TraceCheckUtils]: 20: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,226 INFO L280 TraceCheckUtils]: 21: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} goto; {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,227 INFO L280 TraceCheckUtils]: 22: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,228 INFO L280 TraceCheckUtils]: 23: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} assume !!(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,230 INFO L280 TraceCheckUtils]: 24: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} goto; {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,232 INFO L280 TraceCheckUtils]: 25: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,233 INFO L280 TraceCheckUtils]: 26: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,236 INFO L280 TraceCheckUtils]: 27: Hoare triple {3866#(and (exists ((v_subst_4 Int)) (and (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0)) (not (= main_~end~0.base v_subst_4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 0) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| v_subst_4) 0) main_~null~0.offset) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 0) v_subst_4) (= 0 (select (select |#memory_$Pointer$.offset| v_subst_4) 4)) (= (select (select |#memory_$Pointer$.base| v_subst_4) 4) (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 4) main_~end~0.base) (= ~unnamed1~0~RED (select (select |#memory_int| (select (select |#memory_$Pointer$.base| v_subst_4) 4)) 8)))) (= 0 main_~null~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {3891#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) 8)) (exists ((v_subst_4 Int)) (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8))) (= 0 main_~end~0.offset))} is VALID [2020-07-08 12:28:13,237 INFO L280 TraceCheckUtils]: 28: Hoare triple {3891#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) 8)) (exists ((v_subst_4 Int)) (= ~unnamed1~0~BLACK (select (select |#memory_int| v_subst_4) 8))) (= 0 main_~end~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3895#(= |main_#t~mem13| ~unnamed1~0~RED)} is VALID [2020-07-08 12:28:13,238 INFO L280 TraceCheckUtils]: 29: Hoare triple {3895#(= |main_#t~mem13| ~unnamed1~0~RED)} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3784#false} is VALID [2020-07-08 12:28:13,238 INFO L280 TraceCheckUtils]: 30: Hoare triple {3784#false} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset; {3784#false} is VALID [2020-07-08 12:28:13,238 INFO L280 TraceCheckUtils]: 31: Hoare triple {3784#false} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset);call #t~mem13 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3784#false} is VALID [2020-07-08 12:28:13,238 INFO L280 TraceCheckUtils]: 32: Hoare triple {3784#false} assume ~unnamed1~0~RED == #t~mem13;havoc #t~mem13;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem14.base, #t~mem14.offset;havoc #t~mem14.base, #t~mem14.offset; {3784#false} is VALID [2020-07-08 12:28:13,239 INFO L280 TraceCheckUtils]: 33: Hoare triple {3784#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3784#false} is VALID [2020-07-08 12:28:13,239 INFO L280 TraceCheckUtils]: 34: Hoare triple {3784#false} assume !false; {3784#false} is VALID [2020-07-08 12:28:13,257 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:28:13,258 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:28:13,258 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 10] total 23 [2020-07-08 12:28:13,261 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1449104498] [2020-07-08 12:28:13,262 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 35 [2020-07-08 12:28:13,263 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:28:13,263 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-08 12:28:13,405 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:13,406 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-08 12:28:13,406 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:28:13,406 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-08 12:28:13,406 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=447, Unknown=0, NotChecked=0, Total=506 [2020-07-08 12:28:13,407 INFO L87 Difference]: Start difference. First operand 82 states and 90 transitions. Second operand 23 states. [2020-07-08 12:28:18,929 WARN L193 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 110 DAG size of output: 97 [2020-07-08 12:28:20,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:20,541 INFO L93 Difference]: Finished difference Result 138 states and 150 transitions. [2020-07-08 12:28:20,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-08 12:28:20,542 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 35 [2020-07-08 12:28:20,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:28:20,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 12:28:20,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 122 transitions. [2020-07-08 12:28:20,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 12:28:20,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 122 transitions. [2020-07-08 12:28:20,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 122 transitions. [2020-07-08 12:28:20,830 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:28:20,834 INFO L225 Difference]: With dead ends: 138 [2020-07-08 12:28:20,834 INFO L226 Difference]: Without dead ends: 126 [2020-07-08 12:28:20,835 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 29 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 204 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=151, Invalid=1039, Unknown=0, NotChecked=0, Total=1190 [2020-07-08 12:28:20,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2020-07-08 12:28:21,027 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 103. [2020-07-08 12:28:21,027 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:28:21,027 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 103 states. [2020-07-08 12:28:21,027 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 103 states. [2020-07-08 12:28:21,027 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 103 states. [2020-07-08 12:28:21,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:21,031 INFO L93 Difference]: Finished difference Result 126 states and 136 transitions. [2020-07-08 12:28:21,031 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 136 transitions. [2020-07-08 12:28:21,032 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:21,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:21,032 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 126 states. [2020-07-08 12:28:21,032 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 126 states. [2020-07-08 12:28:21,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:28:21,035 INFO L93 Difference]: Finished difference Result 126 states and 136 transitions. [2020-07-08 12:28:21,035 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 136 transitions. [2020-07-08 12:28:21,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:28:21,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:28:21,036 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:28:21,036 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:28:21,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-08 12:28:21,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 112 transitions. [2020-07-08 12:28:21,039 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 112 transitions. Word has length 35 [2020-07-08 12:28:21,039 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:28:21,039 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 112 transitions. [2020-07-08 12:28:21,039 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-08 12:28:21,039 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-08 12:28:21,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-08 12:28:21,040 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:28:21,040 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:28:21,253 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2020-07-08 12:28:21,256 INFO L427 AbstractCegarLoop]: === Iteration 13 === [mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:28:21,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:28:21,256 INFO L82 PathProgramCache]: Analyzing trace with hash -969799515, now seen corresponding path program 1 times [2020-07-08 12:28:21,257 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:28:21,257 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1794976362] [2020-07-08 12:28:21,257 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:28:21,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 12:28:21,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 12:28:21,345 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-08 12:28:21,345 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-08 12:28:21,346 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-08 12:28:21,390 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-08 12:28:21,390 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 12:28:21,390 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 12:28:21,390 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L1023-4 has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L1023-4 has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L1000-3 has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L1000-1 has no Hoare annotation [2020-07-08 12:28:21,391 WARN L170 areAnnotationChecker]: L1000-1 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1030-4 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1030-4 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1030-4 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1008 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1008 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1031-4 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1031-4 has no Hoare annotation [2020-07-08 12:28:21,392 WARN L170 areAnnotationChecker]: L1030-1 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1030-1 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1030-3 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1030-3 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1021-4 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1021-4 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1032-1 has no Hoare annotation [2020-07-08 12:28:21,393 WARN L170 areAnnotationChecker]: L1032-1 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1032-1 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1021 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1021 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1022-4 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1022-4 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1031-1 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1031-1 has no Hoare annotation [2020-07-08 12:28:21,394 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1047-2 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1047-2 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1047-2 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1034 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1034 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1021-1 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1021-1 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1021-3 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1021-3 has no Hoare annotation [2020-07-08 12:28:21,395 WARN L170 areAnnotationChecker]: L1022 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1022 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1023-3 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1023-3 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1023-3 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1045-1 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1047 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1047 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1037-4 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1037-4 has no Hoare annotation [2020-07-08 12:28:21,396 WARN L170 areAnnotationChecker]: L1037-4 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1034-1 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1022-1 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1022-1 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1022-3 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1022-3 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1023 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1023 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1023-2 has no Hoare annotation [2020-07-08 12:28:21,397 WARN L170 areAnnotationChecker]: L1023-2 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1038-4 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1038-4 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1037-3 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1037-3 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1038 has no Hoare annotation [2020-07-08 12:28:21,398 WARN L170 areAnnotationChecker]: L1038 has no Hoare annotation [2020-07-08 12:28:21,399 WARN L170 areAnnotationChecker]: L1038-1 has no Hoare annotation [2020-07-08 12:28:21,399 WARN L170 areAnnotationChecker]: L1038-1 has no Hoare annotation [2020-07-08 12:28:21,399 WARN L170 areAnnotationChecker]: L1038-3 has no Hoare annotation [2020-07-08 12:28:21,399 WARN L170 areAnnotationChecker]: L1038-3 has no Hoare annotation [2020-07-08 12:28:21,399 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-08 12:28:21,403 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.07 12:28:21 BoogieIcfgContainer [2020-07-08 12:28:21,403 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-08 12:28:21,405 INFO L168 Benchmark]: Toolchain (without parser) took 77559.28 ms. Allocated memory was 138.9 MB in the beginning and 438.3 MB in the end (delta: 299.4 MB). Free memory was 102.9 MB in the beginning and 344.2 MB in the end (delta: -241.3 MB). Peak memory consumption was 58.1 MB. Max. memory is 7.1 GB. [2020-07-08 12:28:21,405 INFO L168 Benchmark]: CDTParser took 0.51 ms. Allocated memory is still 138.9 MB. Free memory was 122.1 MB in the beginning and 121.8 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-08 12:28:21,406 INFO L168 Benchmark]: CACSL2BoogieTranslator took 674.86 ms. Allocated memory was 138.9 MB in the beginning and 203.4 MB in the end (delta: 64.5 MB). Free memory was 102.7 MB in the beginning and 168.7 MB in the end (delta: -65.9 MB). Peak memory consumption was 26.2 MB. Max. memory is 7.1 GB. [2020-07-08 12:28:21,406 INFO L168 Benchmark]: Boogie Preprocessor took 80.05 ms. Allocated memory is still 203.4 MB. Free memory was 168.7 MB in the beginning and 164.6 MB in the end (delta: 4.1 MB). Peak memory consumption was 4.1 MB. Max. memory is 7.1 GB. [2020-07-08 12:28:21,406 INFO L168 Benchmark]: RCFGBuilder took 893.64 ms. Allocated memory is still 203.4 MB. Free memory was 164.6 MB in the beginning and 94.4 MB in the end (delta: 70.2 MB). Peak memory consumption was 70.2 MB. Max. memory is 7.1 GB. [2020-07-08 12:28:21,407 INFO L168 Benchmark]: TraceAbstraction took 75903.64 ms. Allocated memory was 203.4 MB in the beginning and 438.3 MB in the end (delta: 234.9 MB). Free memory was 94.4 MB in the beginning and 344.2 MB in the end (delta: -249.9 MB). There was no memory consumed. Max. memory is 7.1 GB. [2020-07-08 12:28:21,409 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.51 ms. Allocated memory is still 138.9 MB. Free memory was 122.1 MB in the beginning and 121.8 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 674.86 ms. Allocated memory was 138.9 MB in the beginning and 203.4 MB in the end (delta: 64.5 MB). Free memory was 102.7 MB in the beginning and 168.7 MB in the end (delta: -65.9 MB). Peak memory consumption was 26.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 80.05 ms. Allocated memory is still 203.4 MB. Free memory was 168.7 MB in the beginning and 164.6 MB in the end (delta: 4.1 MB). Peak memory consumption was 4.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 893.64 ms. Allocated memory is still 203.4 MB. Free memory was 164.6 MB in the beginning and 94.4 MB in the end (delta: 70.2 MB). Peak memory consumption was 70.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 75903.64 ms. Allocated memory was 203.4 MB in the beginning and 438.3 MB in the end (delta: 234.9 MB). Free memory was 94.4 MB in the beginning and 344.2 MB in the end (delta: -249.9 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 1038]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L987] struct TSLL* null = malloc(sizeof(struct TSLL)); [L988] null->next = ((void*)0) [L989] null->prev = ((void*)0) [L990] null->colour = BLACK [L992] struct TSLL* list = malloc(sizeof(struct TSLL)); [L993] list->next = null [L994] list->prev = null [L995] list->colour = BLACK [L997] struct TSLL* end = list; VAL [end={-1:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, null={-2:0}] [L1000] COND TRUE __VERIFIER_nondet_int() [L1003] end->next = malloc(sizeof(struct TSLL)) [L1004] EXPR end->next [L1004] end->next->prev = end [L1005] EXPR end->next [L1005] end = end->next [L1006] end->next = null [L1008] COND FALSE !(__VERIFIER_nondet_int()) [L1014] end->colour = RED [L1015] end->next = malloc(sizeof(struct TSLL)) [L1016] EXPR end->next [L1016] end->next->prev = end [L1017] EXPR end->next [L1017] end = end->next [L1018] end->next = null [L1019] end->colour = BLACK VAL [end={-4:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1021] EXPR end->colour VAL [end={-4:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1021] COND FALSE !(!(BLACK == end->colour)) [L1022] EXPR end->next VAL [end={-4:0}, end->next={-2:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1022] COND FALSE !(!(null == end->next)) [L1023] COND FALSE !(!(null != end)) VAL [end={-4:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1000] COND FALSE !(__VERIFIER_nondet_int()) [L1026] end = null [L1027] end = list VAL [end={-1:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1030] COND FALSE !(!(null != end)) VAL [end={-1:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1031] EXPR end->colour VAL [end={-1:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1031] COND FALSE !(!(BLACK == end->colour)) [L1032] COND TRUE null != end [L1034] EXPR end->colour VAL [end={-1:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1034] COND FALSE !(RED == end->colour) [L1041] EXPR end->next [L1041] end = end->next [L1032] COND TRUE null != end [L1034] EXPR end->colour VAL [end={-3:0}, end->colour=0, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1034] COND TRUE RED == end->colour [L1036] EXPR end->next [L1036] end = end->next [L1037] COND FALSE !(!(null != end)) VAL [end={-4:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1038] EXPR end->colour VAL [end={-4:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] [L1038] COND TRUE !(BLACK != end->colour) [L1038] __VERIFIER_error() VAL [end={-4:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-1:0}, malloc(sizeof(struct TSLL))={-4:0}, null={-2:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 3 procedures, 52 locations, 7 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 75.7s, OverallIterations: 13, TraceHistogramMax: 3, AutomataDifference: 44.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 395 SDtfs, 705 SDslu, 1812 SDs, 0 SdLazy, 2393 SolverSat, 184 SolverUnsat, 4 SolverUnknown, 0 SolverNotchecked, 16.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 299 GetRequests, 145 SyntacticMatches, 7 SemanticMatches, 147 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 487 ImplicationChecksByTransitivity, 7.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=12, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.8s AutomataMinimizationTime, 12 MinimizatonAttempts, 159 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.5s SatisfiabilityAnalysisTime, 27.5s InterpolantComputationTime, 422 NumberOfCodeBlocks, 422 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 370 ConstructedInterpolants, 44 QuantifiedInterpolants, 315848 SizeOfPredicates, 79 NumberOfNonLiveVariables, 727 ConjunctsInSsa, 214 ConjunctsInUnsatCore, 17 InterpolantComputations, 7 PerfectInterpolantSequences, 7/42 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...