/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-8fc6572 [2020-07-10 15:08:29,117 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:08:29,120 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:08:29,132 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:08:29,132 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:08:29,133 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:08:29,135 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:08:29,137 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:08:29,139 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:08:29,139 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:08:29,140 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:08:29,142 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:08:29,142 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:08:29,143 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:08:29,144 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:08:29,146 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:08:29,147 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:08:29,148 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:08:29,149 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:08:29,152 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:08:29,154 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:08:29,155 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:08:29,156 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:08:29,157 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:08:29,160 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:08:29,160 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:08:29,161 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:08:29,162 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:08:29,162 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:08:29,163 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:08:29,163 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:08:29,164 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:08:29,165 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:08:29,166 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:08:29,167 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:08:29,167 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:08:29,168 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:08:29,168 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:08:29,168 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:08:29,169 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:08:29,170 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:08:29,171 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-10 15:08:29,186 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:08:29,186 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:08:29,187 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:08:29,188 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:08:29,188 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:08:29,188 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:08:29,188 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:08:29,189 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:08:29,189 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:08:29,189 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:08:29,189 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:08:29,189 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:08:29,190 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:08:29,190 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:08:29,190 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:08:29,190 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:08:29,190 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:08:29,191 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:08:29,191 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:08:29,191 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:08:29,191 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:08:29,191 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:08:29,192 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:08:29,192 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:08:29,192 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:08:29,192 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:08:29,192 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:08:29,193 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:08:29,193 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:08:29,193 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:08:29,480 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:08:29,494 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:08:29,497 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:08:29,499 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:08:29,499 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:08:29,500 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-10 15:08:29,577 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/33d8ccb02/48ec4e09f25d4b6aaa4f4d80d221e601/FLAGb018ad382 [2020-07-10 15:08:30,165 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:08:30,166 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/forester-heap/dll-rb-sentinel-1.i [2020-07-10 15:08:30,193 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/33d8ccb02/48ec4e09f25d4b6aaa4f4d80d221e601/FLAGb018ad382 [2020-07-10 15:08:30,458 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/33d8ccb02/48ec4e09f25d4b6aaa4f4d80d221e601 [2020-07-10 15:08:30,468 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:08:30,470 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:08:30,471 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:08:30,472 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:08:30,476 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:08:30,478 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:08:30" (1/1) ... [2020-07-10 15:08:30,482 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ca52adb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:30, skipping insertion in model container [2020-07-10 15:08:30,483 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:08:30" (1/1) ... [2020-07-10 15:08:30,494 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:08:30,558 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:08:31,056 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:08:31,071 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:08:31,157 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:08:31,212 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:08:31,213 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31 WrapperNode [2020-07-10 15:08:31,213 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:08:31,214 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:08:31,214 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:08:31,214 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:08:31,229 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,229 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,247 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,248 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,276 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,286 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,289 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... [2020-07-10 15:08:31,297 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:08:31,298 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:08:31,298 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:08:31,298 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:08:31,299 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:08:31,359 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:08:31,360 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:08:31,360 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:08:31,360 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-10 15:08:31,360 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-10 15:08:31,360 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-10 15:08:31,360 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-10 15:08:31,360 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-10 15:08:31,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-10 15:08:31,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-10 15:08:31,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-10 15:08:31,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-10 15:08:31,361 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-10 15:08:31,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-10 15:08:31,362 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-10 15:08:31,363 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-10 15:08:31,363 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-10 15:08:31,363 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-10 15:08:31,363 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-10 15:08:31,364 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-10 15:08:31,365 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-10 15:08:31,365 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-10 15:08:31,365 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-10 15:08:31,365 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-10 15:08:31,366 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-10 15:08:31,366 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-10 15:08:31,366 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-10 15:08:31,366 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-10 15:08:31,366 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-10 15:08:31,366 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-10 15:08:31,367 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-10 15:08:31,367 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-10 15:08:31,367 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-10 15:08:31,367 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-10 15:08:31,368 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-10 15:08:31,368 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-10 15:08:31,368 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-10 15:08:31,368 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-10 15:08:31,368 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-10 15:08:31,368 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-10 15:08:31,369 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-10 15:08:31,370 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-10 15:08:31,370 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-10 15:08:31,370 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-10 15:08:31,370 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-10 15:08:31,371 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-10 15:08:31,371 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-10 15:08:31,372 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-10 15:08:31,372 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-10 15:08:31,372 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-10 15:08:31,372 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-10 15:08:31,372 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-10 15:08:31,373 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-10 15:08:31,373 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-10 15:08:31,373 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-10 15:08:31,374 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-10 15:08:31,374 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-10 15:08:31,374 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-10 15:08:31,375 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-10 15:08:31,375 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-10 15:08:31,375 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-10 15:08:31,376 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-10 15:08:31,376 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-10 15:08:31,376 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-10 15:08:31,376 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-10 15:08:31,377 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-10 15:08:31,377 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-10 15:08:31,378 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-10 15:08:31,378 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-10 15:08:31,379 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-10 15:08:31,379 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-10 15:08:31,379 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-10 15:08:31,379 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-10 15:08:31,379 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-10 15:08:31,380 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-10 15:08:31,381 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-10 15:08:31,381 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-10 15:08:31,381 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-10 15:08:31,382 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-10 15:08:31,382 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-10 15:08:31,382 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-10 15:08:31,382 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-10 15:08:31,382 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-10 15:08:31,383 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:08:31,384 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 15:08:31,385 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:08:31,386 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:08:32,275 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:08:32,276 INFO L295 CfgBuilder]: Removed 17 assume(true) statements. [2020-07-10 15:08:32,281 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:08:32 BoogieIcfgContainer [2020-07-10 15:08:32,281 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:08:32,283 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:08:32,283 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:08:32,287 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:08:32,288 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:08:30" (1/3) ... [2020-07-10 15:08:32,288 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e21e105 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:08:32, skipping insertion in model container [2020-07-10 15:08:32,289 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:31" (2/3) ... [2020-07-10 15:08:32,290 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@e21e105 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:08:32, skipping insertion in model container [2020-07-10 15:08:32,290 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:08:32" (3/3) ... [2020-07-10 15:08:32,293 INFO L109 eAbstractionObserver]: Analyzing ICFG dll-rb-sentinel-1.i [2020-07-10 15:08:32,304 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:08:32,315 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 7 error locations. [2020-07-10 15:08:32,329 INFO L251 AbstractCegarLoop]: Starting to check reachability of 7 error locations. [2020-07-10 15:08:32,353 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:08:32,354 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:08:32,354 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:08:32,354 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:08:32,355 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:08:32,355 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:08:32,355 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:08:32,355 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:08:32,377 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states. [2020-07-10 15:08:32,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2020-07-10 15:08:32,383 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:32,385 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:32,385 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-10 15:08:32,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:32,392 INFO L82 PathProgramCache]: Analyzing trace with hash -1255802584, now seen corresponding path program 1 times [2020-07-10 15:08:32,403 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:32,403 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1785747643] [2020-07-10 15:08:32,404 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:32,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:32,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:32,645 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-10 15:08:32,646 INFO L280 TraceCheckUtils]: 1: Hoare triple {55#true} assume true; {55#true} is VALID [2020-07-10 15:08:32,646 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {55#true} {55#true} #189#return; {55#true} is VALID [2020-07-10 15:08:32,650 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-10 15:08:32,650 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-10 15:08:32,651 INFO L280 TraceCheckUtils]: 2: Hoare triple {55#true} assume true; {55#true} is VALID [2020-07-10 15:08:32,651 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {55#true} {55#true} #189#return; {55#true} is VALID [2020-07-10 15:08:32,651 INFO L263 TraceCheckUtils]: 4: Hoare triple {55#true} call #t~ret21 := main(); {55#true} is VALID [2020-07-10 15:08:32,652 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-10 15:08:32,653 INFO L280 TraceCheckUtils]: 6: Hoare triple {55#true} assume !true; {56#false} is VALID [2020-07-10 15:08:32,654 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-10 15:08:32,654 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-10 15:08:32,654 INFO L280 TraceCheckUtils]: 9: Hoare triple {56#false} assume !false; {56#false} is VALID [2020-07-10 15:08:32,655 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:32,656 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1785747643] [2020-07-10 15:08:32,657 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:32,657 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-10 15:08:32,658 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1012867804] [2020-07-10 15:08:32,664 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 10 [2020-07-10 15:08:32,667 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:32,672 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-10 15:08:32,694 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-10 15:08:32,694 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-10 15:08:32,695 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:32,704 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-10 15:08:32,705 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-10 15:08:32,707 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 3 states. [2020-07-10 15:08:33,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:33,044 INFO L93 Difference]: Finished difference Result 98 states and 156 transitions. [2020-07-10 15:08:33,044 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-10 15:08:33,044 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 10 [2020-07-10 15:08:33,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:33,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:08:33,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 156 transitions. [2020-07-10 15:08:33,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-10 15:08:33,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 156 transitions. [2020-07-10 15:08:33,102 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 156 transitions. [2020-07-10 15:08:33,305 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-10 15:08:33,337 INFO L225 Difference]: With dead ends: 98 [2020-07-10 15:08:33,337 INFO L226 Difference]: Without dead ends: 45 [2020-07-10 15:08:33,344 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-10 15:08:33,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2020-07-10 15:08:33,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 45. [2020-07-10 15:08:33,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:33,403 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 45 states. [2020-07-10 15:08:33,404 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2020-07-10 15:08:33,404 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2020-07-10 15:08:33,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:33,413 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2020-07-10 15:08:33,413 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2020-07-10 15:08:33,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:33,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:33,416 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 45 states. [2020-07-10 15:08:33,416 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 45 states. [2020-07-10 15:08:33,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:33,424 INFO L93 Difference]: Finished difference Result 45 states and 48 transitions. [2020-07-10 15:08:33,425 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2020-07-10 15:08:33,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:33,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:33,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:33,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:33,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2020-07-10 15:08:33,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 48 transitions. [2020-07-10 15:08:33,437 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 48 transitions. Word has length 10 [2020-07-10 15:08:33,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:33,438 INFO L479 AbstractCegarLoop]: Abstraction has 45 states and 48 transitions. [2020-07-10 15:08:33,438 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-10 15:08:33,438 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 48 transitions. [2020-07-10 15:08:33,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2020-07-10 15:08:33,439 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:33,440 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:33,441 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:08:33,441 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-10 15:08:33,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:33,442 INFO L82 PathProgramCache]: Analyzing trace with hash -338068956, now seen corresponding path program 1 times [2020-07-10 15:08:33,442 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:33,442 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1042666860] [2020-07-10 15:08:33,443 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:33,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:33,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:33,638 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-10 15:08:33,639 INFO L280 TraceCheckUtils]: 1: Hoare triple {313#true} assume true; {313#true} is VALID [2020-07-10 15:08:33,639 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {313#true} {313#true} #189#return; {313#true} is VALID [2020-07-10 15:08:33,640 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-10 15:08:33,641 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-10 15:08:33,641 INFO L280 TraceCheckUtils]: 2: Hoare triple {313#true} assume true; {313#true} is VALID [2020-07-10 15:08:33,641 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {313#true} {313#true} #189#return; {313#true} is VALID [2020-07-10 15:08:33,642 INFO L263 TraceCheckUtils]: 4: Hoare triple {313#true} call #t~ret21 := main(); {313#true} is VALID [2020-07-10 15:08:33,644 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-10 15:08:33,645 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-10 15:08:33,646 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-10 15:08:33,646 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-10 15:08:33,647 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-10 15:08:33,647 INFO L280 TraceCheckUtils]: 10: Hoare triple {314#false} assume !false; {314#false} is VALID [2020-07-10 15:08:33,648 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:33,649 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1042666860] [2020-07-10 15:08:33,649 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:33,649 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:33,650 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1032525811] [2020-07-10 15:08:33,651 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2020-07-10 15:08:33,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:33,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:33,667 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-10 15:08:33,667 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:33,668 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:33,668 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:33,668 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:33,669 INFO L87 Difference]: Start difference. First operand 45 states and 48 transitions. Second operand 5 states. [2020-07-10 15:08:34,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:34,225 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2020-07-10 15:08:34,226 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:34,226 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2020-07-10 15:08:34,226 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:34,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:34,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2020-07-10 15:08:34,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:34,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2020-07-10 15:08:34,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2020-07-10 15:08:34,301 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-10 15:08:34,304 INFO L225 Difference]: With dead ends: 51 [2020-07-10 15:08:34,304 INFO L226 Difference]: Without dead ends: 49 [2020-07-10 15:08:34,305 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-10 15:08:34,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2020-07-10 15:08:34,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 43. [2020-07-10 15:08:34,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:34,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 43 states. [2020-07-10 15:08:34,320 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 43 states. [2020-07-10 15:08:34,320 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 43 states. [2020-07-10 15:08:34,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:34,324 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2020-07-10 15:08:34,324 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2020-07-10 15:08:34,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:34,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:34,326 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 49 states. [2020-07-10 15:08:34,326 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 49 states. [2020-07-10 15:08:34,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:34,329 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2020-07-10 15:08:34,330 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2020-07-10 15:08:34,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:34,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:34,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:34,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:34,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2020-07-10 15:08:34,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2020-07-10 15:08:34,334 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 11 [2020-07-10 15:08:34,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:34,334 INFO L479 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2020-07-10 15:08:34,334 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:34,334 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2020-07-10 15:08:34,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2020-07-10 15:08:34,335 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:34,335 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:34,336 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 15:08:34,336 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-10 15:08:34,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:34,337 INFO L82 PathProgramCache]: Analyzing trace with hash -1890143313, now seen corresponding path program 1 times [2020-07-10 15:08:34,337 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:34,337 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [962264514] [2020-07-10 15:08:34,337 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:34,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:34,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:34,460 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-10 15:08:34,460 INFO L280 TraceCheckUtils]: 1: Hoare triple {532#true} assume true; {532#true} is VALID [2020-07-10 15:08:34,461 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {532#true} {532#true} #189#return; {532#true} is VALID [2020-07-10 15:08:34,462 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-10 15:08:34,462 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-10 15:08:34,463 INFO L280 TraceCheckUtils]: 2: Hoare triple {532#true} assume true; {532#true} is VALID [2020-07-10 15:08:34,463 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {532#true} {532#true} #189#return; {532#true} is VALID [2020-07-10 15:08:34,463 INFO L263 TraceCheckUtils]: 4: Hoare triple {532#true} call #t~ret21 := main(); {532#true} is VALID [2020-07-10 15:08:34,463 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-10 15:08:34,464 INFO L280 TraceCheckUtils]: 6: Hoare triple {532#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {532#true} is VALID [2020-07-10 15:08:34,464 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-10 15:08:34,468 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-10 15:08:34,469 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-10 15:08:34,470 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-10 15:08:34,471 INFO L280 TraceCheckUtils]: 11: Hoare triple {533#false} assume !false; {533#false} is VALID [2020-07-10 15:08:34,472 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:34,472 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [962264514] [2020-07-10 15:08:34,472 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:34,472 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:34,473 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260146520] [2020-07-10 15:08:34,473 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 12 [2020-07-10 15:08:34,473 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:34,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:34,499 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-10 15:08:34,499 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:34,500 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:34,500 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:34,501 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:34,501 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand 5 states. [2020-07-10 15:08:34,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:34,918 INFO L93 Difference]: Finished difference Result 43 states and 46 transitions. [2020-07-10 15:08:34,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:34,919 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 12 [2020-07-10 15:08:34,919 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:34,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:34,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2020-07-10 15:08:34,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:34,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2020-07-10 15:08:34,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2020-07-10 15:08:34,990 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-10 15:08:34,993 INFO L225 Difference]: With dead ends: 43 [2020-07-10 15:08:34,993 INFO L226 Difference]: Without dead ends: 41 [2020-07-10 15:08:34,993 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-10 15:08:34,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-10 15:08:35,025 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2020-07-10 15:08:35,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:35,026 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:35,026 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:35,026 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:35,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:35,029 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-10 15:08:35,029 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 15:08:35,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:35,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:35,030 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:35,030 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:35,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:35,033 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-10 15:08:35,033 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 15:08:35,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:35,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:35,034 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:35,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:35,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2020-07-10 15:08:35,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 44 transitions. [2020-07-10 15:08:35,037 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 44 transitions. Word has length 12 [2020-07-10 15:08:35,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:35,037 INFO L479 AbstractCegarLoop]: Abstraction has 41 states and 44 transitions. [2020-07-10 15:08:35,037 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:35,037 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 15:08:35,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-10 15:08:35,038 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:35,038 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:35,038 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 15:08:35,039 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-10 15:08:35,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:35,039 INFO L82 PathProgramCache]: Analyzing trace with hash 290038970, now seen corresponding path program 1 times [2020-07-10 15:08:35,040 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:35,040 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1728611938] [2020-07-10 15:08:35,040 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:35,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:35,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:35,215 INFO L280 TraceCheckUtils]: 0: Hoare triple {732#(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-10 15:08:35,215 INFO L280 TraceCheckUtils]: 1: Hoare triple {724#true} assume true; {724#true} is VALID [2020-07-10 15:08:35,215 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {724#true} {724#true} #189#return; {724#true} is VALID [2020-07-10 15:08:35,224 INFO L263 TraceCheckUtils]: 0: Hoare triple {724#true} call ULTIMATE.init(); {732#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:35,224 INFO L280 TraceCheckUtils]: 1: Hoare triple {732#(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-10 15:08:35,224 INFO L280 TraceCheckUtils]: 2: Hoare triple {724#true} assume true; {724#true} is VALID [2020-07-10 15:08:35,225 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {724#true} {724#true} #189#return; {724#true} is VALID [2020-07-10 15:08:35,225 INFO L263 TraceCheckUtils]: 4: Hoare triple {724#true} call #t~ret21 := main(); {724#true} is VALID [2020-07-10 15:08:35,239 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_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} is VALID [2020-07-10 15:08:35,240 INFO L280 TraceCheckUtils]: 6: Hoare triple {729#(and (= 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; {729#(and (= 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-10 15:08:35,241 INFO L280 TraceCheckUtils]: 7: Hoare triple {729#(and (= 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; {729#(and (= 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-10 15:08:35,242 INFO L280 TraceCheckUtils]: 8: Hoare triple {729#(and (= 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; {730#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:35,242 INFO L280 TraceCheckUtils]: 9: Hoare triple {730#(= ~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); {730#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:35,243 INFO L280 TraceCheckUtils]: 10: Hoare triple {730#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} goto; {730#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:35,244 INFO L280 TraceCheckUtils]: 11: Hoare triple {730#(= ~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); {731#(= ~unnamed1~0~BLACK |main_#t~mem12|)} is VALID [2020-07-10 15:08:35,245 INFO L280 TraceCheckUtils]: 12: Hoare triple {731#(= ~unnamed1~0~BLACK |main_#t~mem12|)} assume !(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {725#false} is VALID [2020-07-10 15:08:35,245 INFO L280 TraceCheckUtils]: 13: Hoare triple {725#false} assume !false; {725#false} is VALID [2020-07-10 15:08:35,246 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:35,246 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1728611938] [2020-07-10 15:08:35,246 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:35,247 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:08:35,247 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [103903457] [2020-07-10 15:08:35,248 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 14 [2020-07-10 15:08:35,249 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:35,249 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:08:35,266 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-10 15:08:35,266 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:08:35,266 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:35,267 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:08:35,267 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:35,267 INFO L87 Difference]: Start difference. First operand 41 states and 44 transitions. Second operand 6 states. [2020-07-10 15:08:35,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:35,851 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-10 15:08:35,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 15:08:35,851 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 14 [2020-07-10 15:08:35,852 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:35,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:08:35,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 72 transitions. [2020-07-10 15:08:35,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:08:35,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 72 transitions. [2020-07-10 15:08:35,856 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 72 transitions. [2020-07-10 15:08:35,959 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:35,961 INFO L225 Difference]: With dead ends: 66 [2020-07-10 15:08:35,961 INFO L226 Difference]: Without dead ends: 64 [2020-07-10 15:08:35,961 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2020-07-10 15:08:35,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2020-07-10 15:08:35,990 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 48. [2020-07-10 15:08:35,990 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:35,990 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 48 states. [2020-07-10 15:08:35,990 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 48 states. [2020-07-10 15:08:35,990 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 48 states. [2020-07-10 15:08:35,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:35,995 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2020-07-10 15:08:35,995 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 70 transitions. [2020-07-10 15:08:35,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:35,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:35,996 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 64 states. [2020-07-10 15:08:35,997 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 64 states. [2020-07-10 15:08:36,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:36,000 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2020-07-10 15:08:36,000 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 70 transitions. [2020-07-10 15:08:36,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:36,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:36,001 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:36,002 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:36,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2020-07-10 15:08:36,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 52 transitions. [2020-07-10 15:08:36,004 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 52 transitions. Word has length 14 [2020-07-10 15:08:36,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:36,004 INFO L479 AbstractCegarLoop]: Abstraction has 48 states and 52 transitions. [2020-07-10 15:08:36,005 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:08:36,005 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2020-07-10 15:08:36,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2020-07-10 15:08:36,005 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:36,006 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:36,006 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 15:08:36,006 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-10 15:08:36,007 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:36,007 INFO L82 PathProgramCache]: Analyzing trace with hash 2060721718, now seen corresponding path program 1 times [2020-07-10 15:08:36,007 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:36,007 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1634596732] [2020-07-10 15:08:36,007 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:36,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:36,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:36,107 INFO L280 TraceCheckUtils]: 0: Hoare triple {1007#(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; {1000#true} is VALID [2020-07-10 15:08:36,107 INFO L280 TraceCheckUtils]: 1: Hoare triple {1000#true} assume true; {1000#true} is VALID [2020-07-10 15:08:36,108 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1000#true} {1000#true} #189#return; {1000#true} is VALID [2020-07-10 15:08:36,109 INFO L263 TraceCheckUtils]: 0: Hoare triple {1000#true} call ULTIMATE.init(); {1007#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:36,109 INFO L280 TraceCheckUtils]: 1: Hoare triple {1007#(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; {1000#true} is VALID [2020-07-10 15:08:36,109 INFO L280 TraceCheckUtils]: 2: Hoare triple {1000#true} assume true; {1000#true} is VALID [2020-07-10 15:08:36,110 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1000#true} {1000#true} #189#return; {1000#true} is VALID [2020-07-10 15:08:36,110 INFO L263 TraceCheckUtils]: 4: Hoare triple {1000#true} call #t~ret21 := main(); {1000#true} is VALID [2020-07-10 15:08:36,110 INFO L280 TraceCheckUtils]: 5: Hoare triple {1000#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; {1000#true} is VALID [2020-07-10 15:08:36,110 INFO L280 TraceCheckUtils]: 6: Hoare triple {1000#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1000#true} is VALID [2020-07-10 15:08:36,111 INFO L280 TraceCheckUtils]: 7: Hoare triple {1000#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; {1000#true} is VALID [2020-07-10 15:08:36,115 INFO L280 TraceCheckUtils]: 8: Hoare triple {1000#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); {1005#(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-10 15:08:36,116 INFO L280 TraceCheckUtils]: 9: Hoare triple {1005#(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); {1005#(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-10 15:08:36,117 INFO L280 TraceCheckUtils]: 10: Hoare triple {1005#(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; {1005#(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-10 15:08:36,118 INFO L280 TraceCheckUtils]: 11: Hoare triple {1005#(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; {1005#(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-10 15:08:36,118 INFO L280 TraceCheckUtils]: 12: Hoare triple {1005#(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); {1006#(and (= |main_#t~mem11.offset| main_~null~0.offset) (= |main_#t~mem11.base| main_~null~0.base))} is VALID [2020-07-10 15:08:36,119 INFO L280 TraceCheckUtils]: 13: Hoare triple {1006#(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; {1001#false} is VALID [2020-07-10 15:08:36,120 INFO L280 TraceCheckUtils]: 14: Hoare triple {1001#false} assume !false; {1001#false} is VALID [2020-07-10 15:08:36,120 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:36,121 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1634596732] [2020-07-10 15:08:36,121 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:36,121 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:36,121 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1114800513] [2020-07-10 15:08:36,122 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2020-07-10 15:08:36,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:36,122 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:36,146 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-10 15:08:36,146 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:36,146 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:36,147 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:36,147 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:36,147 INFO L87 Difference]: Start difference. First operand 48 states and 52 transitions. Second operand 5 states. [2020-07-10 15:08:36,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:36,534 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2020-07-10 15:08:36,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:36,534 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 15 [2020-07-10 15:08:36,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:36,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:36,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2020-07-10 15:08:36,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:36,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2020-07-10 15:08:36,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2020-07-10 15:08:36,610 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-10 15:08:36,612 INFO L225 Difference]: With dead ends: 48 [2020-07-10 15:08:36,612 INFO L226 Difference]: Without dead ends: 46 [2020-07-10 15:08:36,613 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-10 15:08:36,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2020-07-10 15:08:36,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2020-07-10 15:08:36,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:36,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 46 states. [2020-07-10 15:08:36,640 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 46 states. [2020-07-10 15:08:36,640 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 46 states. [2020-07-10 15:08:36,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:36,642 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2020-07-10 15:08:36,642 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2020-07-10 15:08:36,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:36,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:36,643 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 46 states. [2020-07-10 15:08:36,643 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 46 states. [2020-07-10 15:08:36,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:36,649 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2020-07-10 15:08:36,649 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2020-07-10 15:08:36,650 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:36,650 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:36,650 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:36,650 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:36,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-10 15:08:36,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2020-07-10 15:08:36,654 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 15 [2020-07-10 15:08:36,654 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:36,654 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2020-07-10 15:08:36,655 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:36,655 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2020-07-10 15:08:36,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2020-07-10 15:08:36,657 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:36,657 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:36,657 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 15:08:36,657 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-10 15:08:36,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:36,658 INFO L82 PathProgramCache]: Analyzing trace with hash 373775322, now seen corresponding path program 1 times [2020-07-10 15:08:36,658 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:36,658 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1605331723] [2020-07-10 15:08:36,658 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:36,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:36,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:36,814 INFO L280 TraceCheckUtils]: 0: Hoare triple {1223#(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; {1216#true} is VALID [2020-07-10 15:08:36,814 INFO L280 TraceCheckUtils]: 1: Hoare triple {1216#true} assume true; {1216#true} is VALID [2020-07-10 15:08:36,814 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1216#true} {1216#true} #189#return; {1216#true} is VALID [2020-07-10 15:08:36,815 INFO L263 TraceCheckUtils]: 0: Hoare triple {1216#true} call ULTIMATE.init(); {1223#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:36,816 INFO L280 TraceCheckUtils]: 1: Hoare triple {1223#(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; {1216#true} is VALID [2020-07-10 15:08:36,816 INFO L280 TraceCheckUtils]: 2: Hoare triple {1216#true} assume true; {1216#true} is VALID [2020-07-10 15:08:36,816 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1216#true} {1216#true} #189#return; {1216#true} is VALID [2020-07-10 15:08:36,816 INFO L263 TraceCheckUtils]: 4: Hoare triple {1216#true} call #t~ret21 := main(); {1216#true} is VALID [2020-07-10 15:08:36,820 INFO L280 TraceCheckUtils]: 5: Hoare triple {1216#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; {1221#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-10 15:08:36,820 INFO L280 TraceCheckUtils]: 6: Hoare triple {1221#(= 1 (select |#valid| main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1221#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-10 15:08:36,823 INFO L280 TraceCheckUtils]: 7: Hoare triple {1221#(= 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; {1221#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-10 15:08:36,827 INFO L280 TraceCheckUtils]: 8: Hoare triple {1221#(= 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); {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,829 INFO L280 TraceCheckUtils]: 9: Hoare triple {1222#(not (= main_~null~0.base main_~end~0.base))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,830 INFO L280 TraceCheckUtils]: 10: Hoare triple {1222#(not (= main_~null~0.base main_~end~0.base))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,830 INFO L280 TraceCheckUtils]: 11: Hoare triple {1222#(not (= main_~null~0.base main_~end~0.base))} goto; {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,831 INFO L280 TraceCheckUtils]: 12: Hoare triple {1222#(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); {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,832 INFO L280 TraceCheckUtils]: 13: Hoare triple {1222#(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; {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,832 INFO L280 TraceCheckUtils]: 14: Hoare triple {1222#(not (= main_~null~0.base main_~end~0.base))} goto; {1222#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:36,833 INFO L280 TraceCheckUtils]: 15: Hoare triple {1222#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1217#false} is VALID [2020-07-10 15:08:36,833 INFO L280 TraceCheckUtils]: 16: Hoare triple {1217#false} assume !false; {1217#false} is VALID [2020-07-10 15:08:36,834 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:36,835 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1605331723] [2020-07-10 15:08:36,835 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:36,835 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:36,835 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712986408] [2020-07-10 15:08:36,836 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2020-07-10 15:08:36,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:36,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:36,859 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-10 15:08:36,860 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:36,860 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:36,860 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:36,861 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:36,861 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand 5 states. [2020-07-10 15:08:37,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:37,196 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2020-07-10 15:08:37,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:37,196 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 17 [2020-07-10 15:08:37,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:37,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:37,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2020-07-10 15:08:37,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:37,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2020-07-10 15:08:37,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2020-07-10 15:08:37,267 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-10 15:08:37,268 INFO L225 Difference]: With dead ends: 46 [2020-07-10 15:08:37,268 INFO L226 Difference]: Without dead ends: 44 [2020-07-10 15:08:37,271 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-10 15:08:37,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2020-07-10 15:08:37,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2020-07-10 15:08:37,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:37,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 44 states. [2020-07-10 15:08:37,302 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 44 states. [2020-07-10 15:08:37,302 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 44 states. [2020-07-10 15:08:37,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:37,305 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2020-07-10 15:08:37,305 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2020-07-10 15:08:37,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:37,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:37,306 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 44 states. [2020-07-10 15:08:37,306 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 44 states. [2020-07-10 15:08:37,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:37,310 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2020-07-10 15:08:37,310 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2020-07-10 15:08:37,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:37,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:37,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:37,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:37,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 44 states. [2020-07-10 15:08:37,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 48 transitions. [2020-07-10 15:08:37,315 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 48 transitions. Word has length 17 [2020-07-10 15:08:37,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:37,315 INFO L479 AbstractCegarLoop]: Abstraction has 44 states and 48 transitions. [2020-07-10 15:08:37,316 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:37,316 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 48 transitions. [2020-07-10 15:08:37,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2020-07-10 15:08:37,317 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:37,317 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-10 15:08:37,317 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 15:08:37,318 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-10 15:08:37,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:37,318 INFO L82 PathProgramCache]: Analyzing trace with hash 1568846049, now seen corresponding path program 1 times [2020-07-10 15:08:37,318 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:37,319 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1222106572] [2020-07-10 15:08:37,319 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:37,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:37,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:37,509 INFO L280 TraceCheckUtils]: 0: Hoare triple {1432#(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; {1424#true} is VALID [2020-07-10 15:08:37,509 INFO L280 TraceCheckUtils]: 1: Hoare triple {1424#true} assume true; {1424#true} is VALID [2020-07-10 15:08:37,509 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1424#true} {1424#true} #189#return; {1424#true} is VALID [2020-07-10 15:08:37,510 INFO L263 TraceCheckUtils]: 0: Hoare triple {1424#true} call ULTIMATE.init(); {1432#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:37,511 INFO L280 TraceCheckUtils]: 1: Hoare triple {1432#(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; {1424#true} is VALID [2020-07-10 15:08:37,511 INFO L280 TraceCheckUtils]: 2: Hoare triple {1424#true} assume true; {1424#true} is VALID [2020-07-10 15:08:37,512 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1424#true} {1424#true} #189#return; {1424#true} is VALID [2020-07-10 15:08:37,512 INFO L263 TraceCheckUtils]: 4: Hoare triple {1424#true} call #t~ret21 := main(); {1424#true} is VALID [2020-07-10 15:08:37,512 INFO L280 TraceCheckUtils]: 5: Hoare triple {1424#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; {1424#true} is VALID [2020-07-10 15:08:37,512 INFO L280 TraceCheckUtils]: 6: Hoare triple {1424#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1424#true} is VALID [2020-07-10 15:08:37,513 INFO L280 TraceCheckUtils]: 7: Hoare triple {1424#true} assume !(0 != #t~nondet2);havoc #t~nondet2; {1424#true} is VALID [2020-07-10 15:08:37,513 INFO L280 TraceCheckUtils]: 8: Hoare triple {1424#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; {1424#true} is VALID [2020-07-10 15:08:37,513 INFO L280 TraceCheckUtils]: 9: Hoare triple {1424#true} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1424#true} is VALID [2020-07-10 15:08:37,513 INFO L280 TraceCheckUtils]: 10: Hoare triple {1424#true} goto; {1424#true} is VALID [2020-07-10 15:08:37,515 INFO L280 TraceCheckUtils]: 11: Hoare triple {1424#true} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {1429#(= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:37,515 INFO L280 TraceCheckUtils]: 12: Hoare triple {1429#(= |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; {1430#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:37,516 INFO L280 TraceCheckUtils]: 13: Hoare triple {1430#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} goto; {1430#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:37,517 INFO L280 TraceCheckUtils]: 14: Hoare triple {1430#(= ~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); {1431#(= ~unnamed1~0~BLACK |main_#t~mem13|)} is VALID [2020-07-10 15:08:37,518 INFO L280 TraceCheckUtils]: 15: Hoare triple {1431#(= ~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; {1425#false} is VALID [2020-07-10 15:08:37,518 INFO L280 TraceCheckUtils]: 16: Hoare triple {1425#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1425#false} is VALID [2020-07-10 15:08:37,519 INFO L280 TraceCheckUtils]: 17: Hoare triple {1425#false} assume !false; {1425#false} is VALID [2020-07-10 15:08:37,520 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:37,520 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1222106572] [2020-07-10 15:08:37,520 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:37,520 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:08:37,521 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1765655542] [2020-07-10 15:08:37,521 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2020-07-10 15:08:37,521 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:37,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:08:37,546 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-10 15:08:37,547 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:08:37,547 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:37,547 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:08:37,547 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:37,547 INFO L87 Difference]: Start difference. First operand 44 states and 48 transitions. Second operand 6 states. [2020-07-10 15:08:38,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:38,195 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2020-07-10 15:08:38,195 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-10 15:08:38,195 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2020-07-10 15:08:38,196 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:38,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:08:38,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2020-07-10 15:08:38,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:08:38,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 57 transitions. [2020-07-10 15:08:38,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 57 transitions. [2020-07-10 15:08:38,296 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-10 15:08:38,297 INFO L225 Difference]: With dead ends: 59 [2020-07-10 15:08:38,298 INFO L226 Difference]: Without dead ends: 47 [2020-07-10 15:08:38,298 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-10 15:08:38,299 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2020-07-10 15:08:38,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2020-07-10 15:08:38,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:38,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 46 states. [2020-07-10 15:08:38,322 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 46 states. [2020-07-10 15:08:38,323 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 46 states. [2020-07-10 15:08:38,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:38,325 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2020-07-10 15:08:38,325 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2020-07-10 15:08:38,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:38,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:38,326 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 47 states. [2020-07-10 15:08:38,327 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 47 states. [2020-07-10 15:08:38,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:38,328 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2020-07-10 15:08:38,329 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2020-07-10 15:08:38,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:38,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:38,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:38,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:38,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2020-07-10 15:08:38,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2020-07-10 15:08:38,331 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 18 [2020-07-10 15:08:38,332 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:38,332 INFO L479 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2020-07-10 15:08:38,332 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:08:38,332 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2020-07-10 15:08:38,333 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-10 15:08:38,333 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:38,333 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-10 15:08:38,333 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-10 15:08:38,333 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-10 15:08:38,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:38,334 INFO L82 PathProgramCache]: Analyzing trace with hash 777661568, now seen corresponding path program 1 times [2020-07-10 15:08:38,334 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:38,334 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1664554585] [2020-07-10 15:08:38,335 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:38,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:38,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:38,444 INFO L280 TraceCheckUtils]: 0: Hoare triple {1663#(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; {1655#true} is VALID [2020-07-10 15:08:38,445 INFO L280 TraceCheckUtils]: 1: Hoare triple {1655#true} assume true; {1655#true} is VALID [2020-07-10 15:08:38,445 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1655#true} {1655#true} #189#return; {1655#true} is VALID [2020-07-10 15:08:38,446 INFO L263 TraceCheckUtils]: 0: Hoare triple {1655#true} call ULTIMATE.init(); {1663#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:38,447 INFO L280 TraceCheckUtils]: 1: Hoare triple {1663#(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; {1655#true} is VALID [2020-07-10 15:08:38,447 INFO L280 TraceCheckUtils]: 2: Hoare triple {1655#true} assume true; {1655#true} is VALID [2020-07-10 15:08:38,447 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1655#true} {1655#true} #189#return; {1655#true} is VALID [2020-07-10 15:08:38,447 INFO L263 TraceCheckUtils]: 4: Hoare triple {1655#true} call #t~ret21 := main(); {1655#true} is VALID [2020-07-10 15:08:38,451 INFO L280 TraceCheckUtils]: 5: Hoare triple {1655#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; {1660#(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-10 15:08:38,453 INFO L280 TraceCheckUtils]: 6: Hoare triple {1660#(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; {1660#(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-10 15:08:38,454 INFO L280 TraceCheckUtils]: 7: Hoare triple {1660#(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; {1660#(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-10 15:08:38,455 INFO L280 TraceCheckUtils]: 8: Hoare triple {1660#(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; {1661#(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-10 15:08:38,456 INFO L280 TraceCheckUtils]: 9: Hoare triple {1661#(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); {1661#(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-10 15:08:38,457 INFO L280 TraceCheckUtils]: 10: Hoare triple {1661#(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; {1661#(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-10 15:08:38,458 INFO L280 TraceCheckUtils]: 11: Hoare triple {1661#(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); {1661#(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-10 15:08:38,459 INFO L280 TraceCheckUtils]: 12: Hoare triple {1661#(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; {1661#(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-10 15:08:38,459 INFO L280 TraceCheckUtils]: 13: Hoare triple {1661#(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; {1661#(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-10 15:08:38,460 INFO L280 TraceCheckUtils]: 14: Hoare triple {1661#(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); {1661#(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-10 15:08:38,461 INFO L280 TraceCheckUtils]: 15: Hoare triple {1661#(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; {1661#(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-10 15:08:38,462 INFO L280 TraceCheckUtils]: 16: Hoare triple {1661#(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; {1662#(and (= 0 main_~null~0.offset) (= 0 main_~end~0.offset) (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:38,463 INFO L280 TraceCheckUtils]: 17: Hoare triple {1662#(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); {1656#false} is VALID [2020-07-10 15:08:38,463 INFO L280 TraceCheckUtils]: 18: Hoare triple {1656#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; {1656#false} is VALID [2020-07-10 15:08:38,464 INFO L280 TraceCheckUtils]: 19: Hoare triple {1656#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1656#false} is VALID [2020-07-10 15:08:38,464 INFO L280 TraceCheckUtils]: 20: Hoare triple {1656#false} assume !false; {1656#false} is VALID [2020-07-10 15:08:38,468 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-10 15:08:38,469 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1664554585] [2020-07-10 15:08:38,469 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [239424073] [2020-07-10 15:08:38,469 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-10 15:08:38,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:38,606 INFO L264 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 11 conjunts are in the unsatisfiable core [2020-07-10 15:08:38,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:38,625 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:08:38,711 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:38,713 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:38,715 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:38,726 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-10 15:08:38,727 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:38,739 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:38,744 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:38,745 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:38,746 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:38,748 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-10 15:08:38,749 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:38,759 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:38,760 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:08:38,760 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:55, output treesize:33 [2020-07-10 15:08:40,928 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:40,928 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-10 15:08:40,929 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-10 15:08:41,117 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:41,118 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-10 15:08:41,123 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:41,132 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:41,139 INFO L350 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2020-07-10 15:08:41,140 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-10 15:08:41,141 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:41,145 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:41,146 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-10 15:08:41,146 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:47, output treesize:7 [2020-07-10 15:08:41,155 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:41,155 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-10 15:08:41,156 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base)) [2020-07-10 15:08:41,179 INFO L263 TraceCheckUtils]: 0: Hoare triple {1655#true} call ULTIMATE.init(); {1655#true} is VALID [2020-07-10 15:08:41,180 INFO L280 TraceCheckUtils]: 1: Hoare triple {1655#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1655#true} is VALID [2020-07-10 15:08:41,180 INFO L280 TraceCheckUtils]: 2: Hoare triple {1655#true} assume true; {1655#true} is VALID [2020-07-10 15:08:41,180 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1655#true} {1655#true} #189#return; {1655#true} is VALID [2020-07-10 15:08:41,181 INFO L263 TraceCheckUtils]: 4: Hoare triple {1655#true} call #t~ret21 := main(); {1655#true} is VALID [2020-07-10 15:08:41,184 INFO L280 TraceCheckUtils]: 5: Hoare triple {1655#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; {1682#(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-10 15:08:41,186 INFO L280 TraceCheckUtils]: 6: Hoare triple {1682#(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; {1682#(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-10 15:08:41,187 INFO L280 TraceCheckUtils]: 7: Hoare triple {1682#(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; {1682#(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-10 15:08:41,188 INFO L280 TraceCheckUtils]: 8: Hoare triple {1682#(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; {1692#(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-10 15:08:41,189 INFO L280 TraceCheckUtils]: 9: Hoare triple {1692#(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); {1692#(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-10 15:08:41,190 INFO L280 TraceCheckUtils]: 10: Hoare triple {1692#(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; {1692#(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-10 15:08:41,191 INFO L280 TraceCheckUtils]: 11: Hoare triple {1692#(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); {1692#(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-10 15:08:41,192 INFO L280 TraceCheckUtils]: 12: Hoare triple {1692#(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; {1692#(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-10 15:08:41,193 INFO L280 TraceCheckUtils]: 13: Hoare triple {1692#(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; {1692#(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-10 15:08:41,194 INFO L280 TraceCheckUtils]: 14: Hoare triple {1692#(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); {1692#(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-10 15:08:41,195 INFO L280 TraceCheckUtils]: 15: Hoare triple {1692#(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; {1692#(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-10 15:08:41,195 INFO L280 TraceCheckUtils]: 16: Hoare triple {1692#(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; {1717#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:08:41,196 INFO L280 TraceCheckUtils]: 17: Hoare triple {1717#(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); {1656#false} is VALID [2020-07-10 15:08:41,196 INFO L280 TraceCheckUtils]: 18: Hoare triple {1656#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; {1656#false} is VALID [2020-07-10 15:08:41,197 INFO L280 TraceCheckUtils]: 19: Hoare triple {1656#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1656#false} is VALID [2020-07-10 15:08:41,197 INFO L280 TraceCheckUtils]: 20: Hoare triple {1656#false} assume !false; {1656#false} is VALID [2020-07-10 15:08:41,200 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-10 15:08:41,201 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:08:41,201 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5] total 9 [2020-07-10 15:08:41,201 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2025641039] [2020-07-10 15:08:41,202 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-10 15:08:41,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:41,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:08:41,265 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-10 15:08:41,265 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:08:41,265 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:41,266 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:08:41,266 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:08:41,266 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand 9 states. [2020-07-10 15:08:42,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:42,401 INFO L93 Difference]: Finished difference Result 63 states and 68 transitions. [2020-07-10 15:08:42,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 15:08:42,401 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 21 [2020-07-10 15:08:42,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:42,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:08:42,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2020-07-10 15:08:42,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:08:42,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2020-07-10 15:08:42,405 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2020-07-10 15:08:42,504 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-10 15:08:42,505 INFO L225 Difference]: With dead ends: 63 [2020-07-10 15:08:42,505 INFO L226 Difference]: Without dead ends: 41 [2020-07-10 15:08:42,506 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2020-07-10 15:08:42,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2020-07-10 15:08:42,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2020-07-10 15:08:42,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:42,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:42,550 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:42,550 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:42,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:42,554 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-10 15:08:42,554 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 15:08:42,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:42,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:42,555 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:42,555 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2020-07-10 15:08:42,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:42,556 INFO L93 Difference]: Finished difference Result 41 states and 44 transitions. [2020-07-10 15:08:42,556 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 15:08:42,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:42,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:42,557 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:42,557 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:42,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2020-07-10 15:08:42,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 44 transitions. [2020-07-10 15:08:42,559 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 44 transitions. Word has length 21 [2020-07-10 15:08:42,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:42,559 INFO L479 AbstractCegarLoop]: Abstraction has 41 states and 44 transitions. [2020-07-10 15:08:42,559 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:08:42,559 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 44 transitions. [2020-07-10 15:08:42,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-10 15:08:42,560 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:42,560 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-10 15:08:42,770 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable7 [2020-07-10 15:08:42,771 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-10 15:08:42,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:42,772 INFO L82 PathProgramCache]: Analyzing trace with hash -1056872398, now seen corresponding path program 1 times [2020-07-10 15:08:42,772 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:42,773 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1538850532] [2020-07-10 15:08:42,773 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:42,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,027 INFO L280 TraceCheckUtils]: 0: Hoare triple {1947#(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; {1937#true} is VALID [2020-07-10 15:08:43,027 INFO L280 TraceCheckUtils]: 1: Hoare triple {1937#true} assume true; {1937#true} is VALID [2020-07-10 15:08:43,028 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1937#true} {1937#true} #189#return; {1937#true} is VALID [2020-07-10 15:08:43,029 INFO L263 TraceCheckUtils]: 0: Hoare triple {1937#true} call ULTIMATE.init(); {1947#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:43,029 INFO L280 TraceCheckUtils]: 1: Hoare triple {1947#(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; {1937#true} is VALID [2020-07-10 15:08:43,030 INFO L280 TraceCheckUtils]: 2: Hoare triple {1937#true} assume true; {1937#true} is VALID [2020-07-10 15:08:43,030 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1937#true} {1937#true} #189#return; {1937#true} is VALID [2020-07-10 15:08:43,030 INFO L263 TraceCheckUtils]: 4: Hoare triple {1937#true} call #t~ret21 := main(); {1937#true} is VALID [2020-07-10 15:08:43,034 INFO L280 TraceCheckUtils]: 5: Hoare triple {1937#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; {1942#(and (= 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-10 15:08:43,035 INFO L280 TraceCheckUtils]: 6: Hoare triple {1942#(and (= 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; {1942#(and (= 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-10 15:08:43,038 INFO L280 TraceCheckUtils]: 7: Hoare triple {1942#(and (= 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; {1943#(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-10 15:08:43,042 INFO L280 TraceCheckUtils]: 8: Hoare triple {1943#(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); {1944#(and (= 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-10 15:08:43,043 INFO L280 TraceCheckUtils]: 9: Hoare triple {1944#(and (= 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); {1944#(and (= 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-10 15:08:43,044 INFO L280 TraceCheckUtils]: 10: Hoare triple {1944#(and (= 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; {1944#(and (= 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-10 15:08:43,045 INFO L280 TraceCheckUtils]: 11: Hoare triple {1944#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} goto; {1944#(and (= 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-10 15:08:43,045 INFO L280 TraceCheckUtils]: 12: Hoare triple {1944#(and (= 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); {1944#(and (= 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-10 15:08:43,046 INFO L280 TraceCheckUtils]: 13: Hoare triple {1944#(and (= 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; {1944#(and (= 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-10 15:08:43,047 INFO L280 TraceCheckUtils]: 14: Hoare triple {1944#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} goto; {1944#(and (= 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-10 15:08:43,048 INFO L280 TraceCheckUtils]: 15: Hoare triple {1944#(and (= 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); {1944#(and (= 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-10 15:08:43,048 INFO L280 TraceCheckUtils]: 16: Hoare triple {1944#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 8))))} goto; {1944#(and (= 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-10 15:08:43,049 INFO L280 TraceCheckUtils]: 17: Hoare triple {1944#(and (= 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; {1944#(and (= 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-10 15:08:43,050 INFO L280 TraceCheckUtils]: 18: Hoare triple {1944#(and (= 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; {1944#(and (= 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-10 15:08:43,051 INFO L280 TraceCheckUtils]: 19: Hoare triple {1944#(and (= 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; {1945#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:43,051 INFO L280 TraceCheckUtils]: 20: Hoare triple {1945#(= ~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); {1945#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:43,052 INFO L280 TraceCheckUtils]: 21: Hoare triple {1945#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} goto; {1945#(= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)))} is VALID [2020-07-10 15:08:43,053 INFO L280 TraceCheckUtils]: 22: Hoare triple {1945#(= ~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); {1946#(= ~unnamed1~0~BLACK |main_#t~mem12|)} is VALID [2020-07-10 15:08:43,054 INFO L280 TraceCheckUtils]: 23: Hoare triple {1946#(= ~unnamed1~0~BLACK |main_#t~mem12|)} assume !(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {1938#false} is VALID [2020-07-10 15:08:43,054 INFO L280 TraceCheckUtils]: 24: Hoare triple {1938#false} assume !false; {1938#false} is VALID [2020-07-10 15:08:43,057 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-10 15:08:43,057 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1538850532] [2020-07-10 15:08:43,058 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [713663514] [2020-07-10 15:08:43,058 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-10 15:08:43,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,160 INFO L264 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 44 conjunts are in the unsatisfiable core [2020-07-10 15:08:43,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,190 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:08:43,245 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-10 15:08:43,246 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-10 15:08:43,246 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:43,268 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,281 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-10 15:08:43,281 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:43,294 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,295 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-10 15:08:43,295 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:32, output treesize:29 [2020-07-10 15:08:43,301 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:43,302 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-10 15:08:43,302 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-10 15:08:43,486 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,486 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-10 15:08:43,489 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:43,608 WARN L193 SmtUtils]: Spent 118.00 ms on a formula simplification. DAG size of input: 60 DAG size of output: 58 [2020-07-10 15:08:43,612 INFO L624 ElimStorePlain]: treesize reduction 14, result has 88.9 percent of original size [2020-07-10 15:08:43,654 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-10 15:08:43,689 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,692 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-10 15:08:43,721 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,725 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:43,727 INFO L544 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:43,754 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,765 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:43,781 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,782 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-10 15:08:43,784 INFO L544 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:43,835 INFO L624 ElimStorePlain]: treesize reduction 20, result has 73.3 percent of original size [2020-07-10 15:08:43,841 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-10 15:08:43,841 INFO L244 ElimStorePlain]: Needed 6 recursive calls to eliminate 8 variables, input treesize:114, output treesize:27 [2020-07-10 15:08:43,866 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:43,866 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-10 15:08:43,866 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-10 15:08:43,995 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:43,996 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-10 15:08:44,002 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:44,085 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,090 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-10 15:08:44,093 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-10 15:08:44,163 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,166 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-10 15:08:44,223 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,226 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:44,235 INFO L544 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:44,276 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,282 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-10 15:08:44,317 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,321 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:44,323 INFO L544 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:44,342 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,363 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:44,377 INFO L350 Elim1Store]: treesize reduction 23, result has 28.1 percent of original size [2020-07-10 15:08:44,378 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-10 15:08:44,387 INFO L544 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:44,411 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:44,426 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-10 15:08:44,426 INFO L244 ElimStorePlain]: Needed 8 recursive calls to eliminate 10 variables, input treesize:319, output treesize:41 [2020-07-10 15:08:47,668 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:47,669 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-10 15:08:47,669 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-10 15:08:48,435 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-10 15:08:48,437 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:48,445 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:48,448 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-10 15:08:48,448 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:43, output treesize:3 [2020-07-10 15:08:48,451 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:48,451 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-10 15:08:48,452 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (= ~unnamed1~0~BLACK |main_#t~mem12|) [2020-07-10 15:08:48,453 INFO L263 TraceCheckUtils]: 0: Hoare triple {1937#true} call ULTIMATE.init(); {1937#true} is VALID [2020-07-10 15:08:48,453 INFO L280 TraceCheckUtils]: 1: Hoare triple {1937#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1937#true} is VALID [2020-07-10 15:08:48,453 INFO L280 TraceCheckUtils]: 2: Hoare triple {1937#true} assume true; {1937#true} is VALID [2020-07-10 15:08:48,454 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1937#true} {1937#true} #189#return; {1937#true} is VALID [2020-07-10 15:08:48,454 INFO L263 TraceCheckUtils]: 4: Hoare triple {1937#true} call #t~ret21 := main(); {1937#true} is VALID [2020-07-10 15:08:48,460 INFO L280 TraceCheckUtils]: 5: Hoare triple {1937#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; {1966#(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-10 15:08:48,462 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#(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; {1966#(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-10 15:08:48,464 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#(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; {1943#(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-10 15:08:48,533 INFO L280 TraceCheckUtils]: 8: Hoare triple {1943#(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); {1976#(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-10 15:08:48,535 INFO L280 TraceCheckUtils]: 9: Hoare triple {1976#(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); {1976#(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-10 15:08:48,536 INFO L280 TraceCheckUtils]: 10: Hoare triple {1976#(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; {1976#(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-10 15:08:48,537 INFO L280 TraceCheckUtils]: 11: Hoare triple {1976#(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; {1976#(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-10 15:08:48,539 INFO L280 TraceCheckUtils]: 12: Hoare triple {1976#(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); {1976#(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-10 15:08:48,542 INFO L280 TraceCheckUtils]: 13: Hoare triple {1976#(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; {1976#(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-10 15:08:48,544 INFO L280 TraceCheckUtils]: 14: Hoare triple {1976#(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; {1976#(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-10 15:08:48,546 INFO L280 TraceCheckUtils]: 15: Hoare triple {1976#(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); {1976#(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-10 15:08:48,549 INFO L280 TraceCheckUtils]: 16: Hoare triple {1976#(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; {1976#(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-10 15:08:48,550 INFO L280 TraceCheckUtils]: 17: Hoare triple {1976#(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; {1976#(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-10 15:08:48,551 INFO L280 TraceCheckUtils]: 18: Hoare triple {1976#(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; {1976#(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-10 15:08:48,553 INFO L280 TraceCheckUtils]: 19: Hoare triple {1976#(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; {2010#(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-10 15:08:48,554 INFO L280 TraceCheckUtils]: 20: Hoare triple {2010#(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); {2010#(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-10 15:08:48,555 INFO L280 TraceCheckUtils]: 21: Hoare triple {2010#(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; {2010#(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-10 15:08:48,556 INFO L280 TraceCheckUtils]: 22: Hoare triple {2010#(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); {1946#(= ~unnamed1~0~BLACK |main_#t~mem12|)} is VALID [2020-07-10 15:08:48,556 INFO L280 TraceCheckUtils]: 23: Hoare triple {1946#(= ~unnamed1~0~BLACK |main_#t~mem12|)} assume !(~unnamed1~0~BLACK == #t~mem12);havoc #t~mem12; {1938#false} is VALID [2020-07-10 15:08:48,557 INFO L280 TraceCheckUtils]: 24: Hoare triple {1938#false} assume !false; {1938#false} is VALID [2020-07-10 15:08:48,563 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-10 15:08:48,564 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:08:48,564 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 11 [2020-07-10 15:08:48,564 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [62061359] [2020-07-10 15:08:48,565 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-10 15:08:48,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:48,565 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-10 15:08:48,884 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-10 15:08:48,885 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-10 15:08:48,885 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:48,885 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-10 15:08:48,885 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2020-07-10 15:08:48,886 INFO L87 Difference]: Start difference. First operand 41 states and 44 transitions. Second operand 11 states. [2020-07-10 15:09:00,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:00,179 INFO L93 Difference]: Finished difference Result 73 states and 79 transitions. [2020-07-10 15:09:00,179 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-10 15:09:00,179 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 25 [2020-07-10 15:09:00,180 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:00,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-10 15:09:00,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-10 15:09:00,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-10 15:09:00,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-10 15:09:00,184 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2020-07-10 15:09:00,380 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-10 15:09:00,382 INFO L225 Difference]: With dead ends: 73 [2020-07-10 15:09:00,382 INFO L226 Difference]: Without dead ends: 71 [2020-07-10 15:09:00,383 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=73, Invalid=199, Unknown=0, NotChecked=0, Total=272 [2020-07-10 15:09:00,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2020-07-10 15:09:00,427 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 39. [2020-07-10 15:09:00,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:00,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 39 states. [2020-07-10 15:09:00,428 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 39 states. [2020-07-10 15:09:00,429 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 39 states. [2020-07-10 15:09:00,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:00,433 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2020-07-10 15:09:00,433 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2020-07-10 15:09:00,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:00,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:00,434 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 71 states. [2020-07-10 15:09:00,434 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 71 states. [2020-07-10 15:09:00,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:00,436 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2020-07-10 15:09:00,436 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2020-07-10 15:09:00,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:00,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:00,437 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:00,437 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:00,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2020-07-10 15:09:00,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 42 transitions. [2020-07-10 15:09:00,438 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 42 transitions. Word has length 25 [2020-07-10 15:09:00,438 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:00,438 INFO L479 AbstractCegarLoop]: Abstraction has 39 states and 42 transitions. [2020-07-10 15:09:00,438 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-10 15:09:00,439 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 42 transitions. [2020-07-10 15:09:00,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-10 15:09:00,439 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:00,439 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-10 15:09:00,643 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:00,644 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-10 15:09:00,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:00,645 INFO L82 PathProgramCache]: Analyzing trace with hash -377613816, now seen corresponding path program 1 times [2020-07-10 15:09:00,645 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:00,646 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1973223571] [2020-07-10 15:09:00,646 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:00,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:00,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:00,994 INFO L280 TraceCheckUtils]: 0: Hoare triple {2322#(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; {2310#true} is VALID [2020-07-10 15:09:00,994 INFO L280 TraceCheckUtils]: 1: Hoare triple {2310#true} assume true; {2310#true} is VALID [2020-07-10 15:09:00,995 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2310#true} {2310#true} #189#return; {2310#true} is VALID [2020-07-10 15:09:00,996 INFO L263 TraceCheckUtils]: 0: Hoare triple {2310#true} call ULTIMATE.init(); {2322#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:09:00,996 INFO L280 TraceCheckUtils]: 1: Hoare triple {2322#(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; {2310#true} is VALID [2020-07-10 15:09:00,997 INFO L280 TraceCheckUtils]: 2: Hoare triple {2310#true} assume true; {2310#true} is VALID [2020-07-10 15:09:00,997 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2310#true} {2310#true} #189#return; {2310#true} is VALID [2020-07-10 15:09:00,997 INFO L263 TraceCheckUtils]: 4: Hoare triple {2310#true} call #t~ret21 := main(); {2310#true} is VALID [2020-07-10 15:09:01,001 INFO L280 TraceCheckUtils]: 5: Hoare triple {2310#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; {2315#(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-10 15:09:01,002 INFO L280 TraceCheckUtils]: 6: Hoare triple {2315#(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; {2315#(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-10 15:09:01,005 INFO L280 TraceCheckUtils]: 7: Hoare triple {2315#(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; {2316#(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-10 15:09:01,009 INFO L280 TraceCheckUtils]: 8: Hoare triple {2316#(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); {2317#(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-10 15:09:01,010 INFO L280 TraceCheckUtils]: 9: Hoare triple {2317#(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); {2317#(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-10 15:09:01,010 INFO L280 TraceCheckUtils]: 10: Hoare triple {2317#(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; {2317#(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-10 15:09:01,011 INFO L280 TraceCheckUtils]: 11: Hoare triple {2317#(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; {2317#(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-10 15:09:01,011 INFO L280 TraceCheckUtils]: 12: Hoare triple {2317#(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); {2317#(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-10 15:09:01,012 INFO L280 TraceCheckUtils]: 13: Hoare triple {2317#(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; {2317#(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-10 15:09:01,012 INFO L280 TraceCheckUtils]: 14: Hoare triple {2317#(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; {2317#(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-10 15:09:01,013 INFO L280 TraceCheckUtils]: 15: Hoare triple {2317#(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); {2317#(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-10 15:09:01,013 INFO L280 TraceCheckUtils]: 16: Hoare triple {2317#(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; {2317#(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-10 15:09:01,014 INFO L280 TraceCheckUtils]: 17: Hoare triple {2317#(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; {2317#(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-10 15:09:01,014 INFO L280 TraceCheckUtils]: 18: Hoare triple {2317#(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; {2317#(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-10 15:09:01,015 INFO L280 TraceCheckUtils]: 19: Hoare triple {2317#(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; {2318#(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-10 15:09:01,016 INFO L280 TraceCheckUtils]: 20: Hoare triple {2318#(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); {2319#(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-10 15:09:01,017 INFO L280 TraceCheckUtils]: 21: Hoare triple {2319#(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; {2319#(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-10 15:09:01,018 INFO L280 TraceCheckUtils]: 22: Hoare triple {2319#(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); {2319#(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-10 15:09:01,019 INFO L280 TraceCheckUtils]: 23: Hoare triple {2319#(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; {2319#(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-10 15:09:01,019 INFO L280 TraceCheckUtils]: 24: Hoare triple {2319#(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; {2319#(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-10 15:09:01,020 INFO L280 TraceCheckUtils]: 25: Hoare triple {2319#(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); {2319#(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-10 15:09:01,020 INFO L280 TraceCheckUtils]: 26: Hoare triple {2319#(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; {2319#(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-10 15:09:01,021 INFO L280 TraceCheckUtils]: 27: Hoare triple {2319#(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; {2320#(not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base))} is VALID [2020-07-10 15:09:01,021 INFO L280 TraceCheckUtils]: 28: Hoare triple {2320#(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); {2320#(not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base))} is VALID [2020-07-10 15:09:01,022 INFO L280 TraceCheckUtils]: 29: Hoare triple {2320#(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; {2321#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:01,022 INFO L280 TraceCheckUtils]: 30: Hoare triple {2321#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2311#false} is VALID [2020-07-10 15:09:01,022 INFO L280 TraceCheckUtils]: 31: Hoare triple {2311#false} assume !false; {2311#false} is VALID [2020-07-10 15:09:01,026 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-10 15:09:01,026 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1973223571] [2020-07-10 15:09:01,026 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [452916379] [2020-07-10 15:09:01,027 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-10 15:09:01,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:01,135 INFO L264 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 62 conjunts are in the unsatisfiable core [2020-07-10 15:09:01,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:01,154 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:01,182 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-10 15:09:01,182 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-10 15:09:01,183 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,194 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,195 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-10 15:09:01,196 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:22, output treesize:23 [2020-07-10 15:09:01,200 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:01,200 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-10 15:09:01,200 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-10 15:09:01,306 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,307 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-10 15:09:01,309 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,393 INFO L624 ElimStorePlain]: treesize reduction 14, result has 93.5 percent of original size [2020-07-10 15:09:01,403 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:01,416 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:01,425 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-10 15:09:01,439 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,440 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-10 15:09:01,440 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,510 INFO L624 ElimStorePlain]: treesize reduction 16, result has 89.4 percent of original size [2020-07-10 15:09:01,513 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:01,528 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:01,539 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,540 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-10 15:09:01,541 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,601 INFO L624 ElimStorePlain]: treesize reduction 16, result has 81.2 percent of original size [2020-07-10 15:09:01,607 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-10 15:09:01,607 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:203, output treesize:82 [2020-07-10 15:09:01,619 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:01,620 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-10 15:09:01,620 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-10 15:09:01,783 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,783 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-10 15:09:01,786 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,932 WARN L193 SmtUtils]: Spent 145.00 ms on a formula simplification that was a NOOP. DAG size: 81 [2020-07-10 15:09:01,933 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,937 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-10 15:09:01,948 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,948 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-10 15:09:01,965 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:02,209 WARN L193 SmtUtils]: Spent 242.00 ms on a formula simplification. DAG size of input: 77 DAG size of output: 75 [2020-07-10 15:09:02,209 INFO L624 ElimStorePlain]: treesize reduction 16, result has 96.4 percent of original size [2020-07-10 15:09:02,236 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-10 15:09:02,239 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:02,376 WARN L193 SmtUtils]: Spent 136.00 ms on a formula simplification that was a NOOP. DAG size: 69 [2020-07-10 15:09:02,377 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:02,382 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:02,405 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:02,407 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:02,408 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-10 15:09:02,412 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:02,463 INFO L350 Elim1Store]: treesize reduction 5, result has 90.7 percent of original size [2020-07-10 15:09:02,464 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-10 15:09:02,475 INFO L544 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:02,587 WARN L193 SmtUtils]: Spent 110.00 ms on a formula simplification. DAG size of input: 70 DAG size of output: 60 [2020-07-10 15:09:02,588 INFO L624 ElimStorePlain]: treesize reduction 41, result has 86.4 percent of original size [2020-07-10 15:09:02,611 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:02,617 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:02,666 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:02,666 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-10 15:09:02,672 INFO L544 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:02,809 WARN L193 SmtUtils]: Spent 136.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 45 [2020-07-10 15:09:02,810 INFO L624 ElimStorePlain]: treesize reduction 134, result has 42.7 percent of original size [2020-07-10 15:09:02,817 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-10 15:09:02,818 INFO L244 ElimStorePlain]: Needed 6 recursive calls to eliminate 6 variables, input treesize:457, output treesize:97 [2020-07-10 15:09:04,826 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:04,827 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-10 15:09:04,827 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-10 15:09:05,067 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:05,649 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:05,651 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:05,653 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-10 15:09:05,654 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:05,673 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:05,677 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-10 15:09:05,678 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:138, output treesize:75 [2020-07-10 15:09:05,683 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:05,684 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-10 15:09:05,684 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-10 15:09:05,925 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:05,926 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-10 15:09:05,940 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-10 15:09:05,945 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-10 15:09:05,947 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:05,957 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:09:05,961 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:05,968 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-10 15:09:05,972 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-10 15:09:05,976 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:05,989 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-10 15:09:05,997 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-10 15:09:06,004 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:06,020 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:06,026 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:09:06,041 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:06,043 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:06,048 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:06,049 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-10 15:09:06,049 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:89, output treesize:4 [2020-07-10 15:09:06,052 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:06,052 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-10 15:09:06,053 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= main_~null~0.base main_~end~0.base)) [2020-07-10 15:09:06,054 INFO L263 TraceCheckUtils]: 0: Hoare triple {2310#true} call ULTIMATE.init(); {2310#true} is VALID [2020-07-10 15:09:06,054 INFO L280 TraceCheckUtils]: 1: Hoare triple {2310#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2310#true} is VALID [2020-07-10 15:09:06,055 INFO L280 TraceCheckUtils]: 2: Hoare triple {2310#true} assume true; {2310#true} is VALID [2020-07-10 15:09:06,055 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2310#true} {2310#true} #189#return; {2310#true} is VALID [2020-07-10 15:09:06,055 INFO L263 TraceCheckUtils]: 4: Hoare triple {2310#true} call #t~ret21 := main(); {2310#true} is VALID [2020-07-10 15:09:06,058 INFO L280 TraceCheckUtils]: 5: Hoare triple {2310#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; {2341#(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-10 15:09:06,060 INFO L280 TraceCheckUtils]: 6: Hoare triple {2341#(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; {2341#(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-10 15:09:06,063 INFO L280 TraceCheckUtils]: 7: Hoare triple {2341#(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; {2348#(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-10 15:09:06,068 INFO L280 TraceCheckUtils]: 8: Hoare triple {2348#(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); {2352#(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-10 15:09:06,070 INFO L280 TraceCheckUtils]: 9: Hoare triple {2352#(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); {2352#(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-10 15:09:06,071 INFO L280 TraceCheckUtils]: 10: Hoare triple {2352#(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; {2352#(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-10 15:09:06,072 INFO L280 TraceCheckUtils]: 11: Hoare triple {2352#(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; {2352#(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-10 15:09:06,074 INFO L280 TraceCheckUtils]: 12: Hoare triple {2352#(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); {2365#(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-10 15:09:06,075 INFO L280 TraceCheckUtils]: 13: Hoare triple {2365#(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; {2352#(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-10 15:09:06,076 INFO L280 TraceCheckUtils]: 14: Hoare triple {2352#(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; {2352#(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-10 15:09:06,079 INFO L280 TraceCheckUtils]: 15: Hoare triple {2352#(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); {2375#(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-10 15:09:06,080 INFO L280 TraceCheckUtils]: 16: Hoare triple {2375#(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; {2375#(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-10 15:09:06,082 INFO L280 TraceCheckUtils]: 17: Hoare triple {2375#(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; {2375#(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-10 15:09:06,083 INFO L280 TraceCheckUtils]: 18: Hoare triple {2375#(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; {2375#(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-10 15:09:06,086 INFO L280 TraceCheckUtils]: 19: Hoare triple {2375#(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; {2388#(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-10 15:09:06,087 INFO L280 TraceCheckUtils]: 20: Hoare triple {2388#(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); {2388#(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-10 15:09:06,089 INFO L280 TraceCheckUtils]: 21: Hoare triple {2388#(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; {2388#(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-10 15:09:06,090 INFO L280 TraceCheckUtils]: 22: Hoare triple {2388#(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); {2388#(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-10 15:09:06,092 INFO L280 TraceCheckUtils]: 23: Hoare triple {2388#(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; {2388#(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-10 15:09:06,093 INFO L280 TraceCheckUtils]: 24: Hoare triple {2388#(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; {2388#(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-10 15:09:06,095 INFO L280 TraceCheckUtils]: 25: Hoare triple {2388#(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); {2388#(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-10 15:09:06,096 INFO L280 TraceCheckUtils]: 26: Hoare triple {2388#(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; {2388#(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-10 15:09:06,098 INFO L280 TraceCheckUtils]: 27: Hoare triple {2388#(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; {2413#(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-10 15:09:06,100 INFO L280 TraceCheckUtils]: 28: Hoare triple {2413#(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); {2417#(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-10 15:09:06,101 INFO L280 TraceCheckUtils]: 29: Hoare triple {2417#(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; {2321#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:06,103 INFO L280 TraceCheckUtils]: 30: Hoare triple {2321#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2311#false} is VALID [2020-07-10 15:09:06,104 INFO L280 TraceCheckUtils]: 31: Hoare triple {2311#false} assume !false; {2311#false} is VALID [2020-07-10 15:09:06,118 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-10 15:09:06,118 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:09:06,119 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 18 [2020-07-10 15:09:06,119 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1186641316] [2020-07-10 15:09:06,119 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2020-07-10 15:09:06,120 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:06,120 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-10 15:09:06,225 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-10 15:09:06,226 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-10 15:09:06,226 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:06,226 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-10 15:09:06,227 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=265, Unknown=0, NotChecked=0, Total=306 [2020-07-10 15:09:06,227 INFO L87 Difference]: Start difference. First operand 39 states and 42 transitions. Second operand 18 states. [2020-07-10 15:09:13,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:13,414 INFO L93 Difference]: Finished difference Result 109 states and 120 transitions. [2020-07-10 15:09:13,414 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-10 15:09:13,414 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 32 [2020-07-10 15:09:13,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:13,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 15:09:13,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 118 transitions. [2020-07-10 15:09:13,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-10 15:09:13,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 118 transitions. [2020-07-10 15:09:13,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 118 transitions. [2020-07-10 15:09:13,688 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-10 15:09:13,690 INFO L225 Difference]: With dead ends: 109 [2020-07-10 15:09:13,690 INFO L226 Difference]: Without dead ends: 107 [2020-07-10 15:09:13,691 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-10 15:09:13,691 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2020-07-10 15:09:13,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 73. [2020-07-10 15:09:13,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:13,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 73 states. [2020-07-10 15:09:13,788 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 73 states. [2020-07-10 15:09:13,788 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 73 states. [2020-07-10 15:09:13,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:13,791 INFO L93 Difference]: Finished difference Result 107 states and 118 transitions. [2020-07-10 15:09:13,791 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 118 transitions. [2020-07-10 15:09:13,792 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:13,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:13,792 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 107 states. [2020-07-10 15:09:13,792 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 107 states. [2020-07-10 15:09:13,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:13,794 INFO L93 Difference]: Finished difference Result 107 states and 118 transitions. [2020-07-10 15:09:13,794 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 118 transitions. [2020-07-10 15:09:13,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:13,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:13,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:13,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:13,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2020-07-10 15:09:13,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 81 transitions. [2020-07-10 15:09:13,797 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 81 transitions. Word has length 32 [2020-07-10 15:09:13,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:13,797 INFO L479 AbstractCegarLoop]: Abstraction has 73 states and 81 transitions. [2020-07-10 15:09:13,797 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-10 15:09:13,797 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-10 15:09:13,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2020-07-10 15:09:13,798 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:13,798 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-10 15:09:14,011 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-10 15:09:14,012 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-10 15:09:14,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:14,013 INFO L82 PathProgramCache]: Analyzing trace with hash -243600310, now seen corresponding path program 1 times [2020-07-10 15:09:14,013 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:14,013 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1224503839] [2020-07-10 15:09:14,013 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:14,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:14,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:14,283 INFO L280 TraceCheckUtils]: 0: Hoare triple {2887#(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; {2872#true} is VALID [2020-07-10 15:09:14,283 INFO L280 TraceCheckUtils]: 1: Hoare triple {2872#true} assume true; {2872#true} is VALID [2020-07-10 15:09:14,283 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2872#true} {2872#true} #189#return; {2872#true} is VALID [2020-07-10 15:09:14,285 INFO L263 TraceCheckUtils]: 0: Hoare triple {2872#true} call ULTIMATE.init(); {2887#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:09:14,285 INFO L280 TraceCheckUtils]: 1: Hoare triple {2887#(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; {2872#true} is VALID [2020-07-10 15:09:14,285 INFO L280 TraceCheckUtils]: 2: Hoare triple {2872#true} assume true; {2872#true} is VALID [2020-07-10 15:09:14,285 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2872#true} {2872#true} #189#return; {2872#true} is VALID [2020-07-10 15:09:14,286 INFO L263 TraceCheckUtils]: 4: Hoare triple {2872#true} call #t~ret21 := main(); {2872#true} is VALID [2020-07-10 15:09:14,289 INFO L280 TraceCheckUtils]: 5: Hoare triple {2872#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; {2877#(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-10 15:09:14,291 INFO L280 TraceCheckUtils]: 6: Hoare triple {2877#(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; {2877#(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-10 15:09:14,294 INFO L280 TraceCheckUtils]: 7: Hoare triple {2877#(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; {2878#(and (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~end~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base))} is VALID [2020-07-10 15:09:14,299 INFO L280 TraceCheckUtils]: 8: Hoare triple {2878#(and (not (= main_~list~0.base main_~end~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~end~0.offset) (= (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); {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,300 INFO L280 TraceCheckUtils]: 9: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,300 INFO L280 TraceCheckUtils]: 10: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,301 INFO L280 TraceCheckUtils]: 11: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} goto; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,302 INFO L280 TraceCheckUtils]: 12: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,302 INFO L280 TraceCheckUtils]: 13: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,303 INFO L280 TraceCheckUtils]: 14: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} goto; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,304 INFO L280 TraceCheckUtils]: 15: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,304 INFO L280 TraceCheckUtils]: 16: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} goto; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,305 INFO L280 TraceCheckUtils]: 17: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,305 INFO L280 TraceCheckUtils]: 18: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} assume !(0 != #t~nondet2);havoc #t~nondet2; {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,306 INFO L280 TraceCheckUtils]: 19: Hoare triple {2879#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 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; {2880#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,308 INFO L280 TraceCheckUtils]: 20: Hoare triple {2880#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2880#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,309 INFO L280 TraceCheckUtils]: 21: Hoare triple {2880#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} goto; {2880#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,310 INFO L280 TraceCheckUtils]: 22: Hoare triple {2880#(= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8)))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {2881#(and (= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8))) (= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-10 15:09:14,312 INFO L280 TraceCheckUtils]: 23: Hoare triple {2881#(and (= ~unnamed1~0~BLACK (select (select |#memory_int| (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) 8))) (= |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; {2882#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,312 INFO L280 TraceCheckUtils]: 24: Hoare triple {2882#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (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) 8)))} goto; {2882#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,313 INFO L280 TraceCheckUtils]: 25: Hoare triple {2882#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8)) (select (select |#memory_int| (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) 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); {2883#(= |main_#t~mem13| (select (select |#memory_int| (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) 8)))} is VALID [2020-07-10 15:09:14,314 INFO L280 TraceCheckUtils]: 26: Hoare triple {2883#(= |main_#t~mem13| (select (select |#memory_int| (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) 8)))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {2884#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} is VALID [2020-07-10 15:09:14,316 INFO L280 TraceCheckUtils]: 27: Hoare triple {2884#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} 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; {2885#(not (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-10 15:09:14,317 INFO L280 TraceCheckUtils]: 28: Hoare triple {2885#(not (= ~unnamed1~0~RED (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); {2886#(not (= |main_#t~mem13| ~unnamed1~0~RED))} is VALID [2020-07-10 15:09:14,318 INFO L280 TraceCheckUtils]: 29: Hoare triple {2886#(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; {2873#false} is VALID [2020-07-10 15:09:14,318 INFO L280 TraceCheckUtils]: 30: Hoare triple {2873#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2873#false} is VALID [2020-07-10 15:09:14,319 INFO L280 TraceCheckUtils]: 31: Hoare triple {2873#false} assume !false; {2873#false} is VALID [2020-07-10 15:09:14,324 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-10 15:09:14,324 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1224503839] [2020-07-10 15:09:14,325 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [100062249] [2020-07-10 15:09:14,325 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-10 15:09:14,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:14,431 INFO L264 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 37 conjunts are in the unsatisfiable core [2020-07-10 15:09:14,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:14,449 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:14,484 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-10 15:09:14,485 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-10 15:09:14,485 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:14,497 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:14,498 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-10 15:09:14,498 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:22, output treesize:23 [2020-07-10 15:09:14,502 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:14,502 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-10 15:09:14,503 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-10 15:09:14,607 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:14,608 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-10 15:09:14,612 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:09:14,613 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:14,655 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:14,660 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:14,676 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-10 15:09:14,689 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:14,690 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-10 15:09:14,692 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:14,751 INFO L624 ElimStorePlain]: treesize reduction 16, result has 88.4 percent of original size [2020-07-10 15:09:14,754 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:14,781 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:14,782 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-10 15:09:14,782 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:14,834 INFO L624 ElimStorePlain]: treesize reduction 16, result has 77.8 percent of original size [2020-07-10 15:09:14,838 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-10 15:09:14,838 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:194, output treesize:58 [2020-07-10 15:09:14,860 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:14,860 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-10 15:09:14,860 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-10 15:09:14,958 INFO L440 ElimStorePlain]: Different costs {0=[|v_#memory_int_44|], 4=[|v_#memory_$Pointer$.base_36|], 6=[|v_#memory_$Pointer$.offset_35|]} [2020-07-10 15:09:14,965 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-10 15:09:14,965 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:14,996 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:15,014 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:15,014 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-10 15:09:15,020 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:15,040 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:15,051 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-10 15:09:15,055 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:15,072 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:15,072 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:15,073 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 3 variables, input treesize:125, output treesize:63 [2020-07-10 15:09:16,727 INFO L440 ElimStorePlain]: Different costs {0=[|#memory_$Pointer$.base|], 1=[|#memory_$Pointer$.offset|]} [2020-07-10 15:09:16,731 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:16,732 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-10 15:09:16,743 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:16,755 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:16,760 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-10 15:09:16,764 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:16,769 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:16,771 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-10 15:09:16,771 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:74, output treesize:11 [2020-07-10 15:09:16,774 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:16,775 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-10 15:09:16,775 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-10 15:09:16,815 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-10 15:09:16,819 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:16,821 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:16,822 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-10 15:09:16,822 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:15, output treesize:3 [2020-07-10 15:09:16,827 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:16,827 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-10 15:09:16,828 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (<= ~unnamed1~0~BLACK |main_#t~mem13|) [2020-07-10 15:09:16,864 INFO L263 TraceCheckUtils]: 0: Hoare triple {2872#true} call ULTIMATE.init(); {2872#true} is VALID [2020-07-10 15:09:16,864 INFO L280 TraceCheckUtils]: 1: Hoare triple {2872#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2872#true} is VALID [2020-07-10 15:09:16,864 INFO L280 TraceCheckUtils]: 2: Hoare triple {2872#true} assume true; {2872#true} is VALID [2020-07-10 15:09:16,865 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2872#true} {2872#true} #189#return; {2872#true} is VALID [2020-07-10 15:09:16,865 INFO L263 TraceCheckUtils]: 4: Hoare triple {2872#true} call #t~ret21 := main(); {2872#true} is VALID [2020-07-10 15:09:16,869 INFO L280 TraceCheckUtils]: 5: Hoare triple {2872#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; {2906#(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-10 15:09:16,871 INFO L280 TraceCheckUtils]: 6: Hoare triple {2906#(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; {2906#(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-10 15:09:16,874 INFO L280 TraceCheckUtils]: 7: Hoare triple {2906#(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; {2913#(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-10 15:09:16,876 INFO L280 TraceCheckUtils]: 8: Hoare triple {2913#(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); {2917#(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-10 15:09:16,877 INFO L280 TraceCheckUtils]: 9: Hoare triple {2917#(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); {2917#(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-10 15:09:16,878 INFO L280 TraceCheckUtils]: 10: Hoare triple {2917#(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; {2917#(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-10 15:09:16,878 INFO L280 TraceCheckUtils]: 11: Hoare triple {2917#(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; {2917#(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-10 15:09:16,885 INFO L280 TraceCheckUtils]: 12: Hoare triple {2917#(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); {2917#(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-10 15:09:16,886 INFO L280 TraceCheckUtils]: 13: Hoare triple {2917#(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; {2917#(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-10 15:09:16,887 INFO L280 TraceCheckUtils]: 14: Hoare triple {2917#(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; {2917#(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-10 15:09:16,888 INFO L280 TraceCheckUtils]: 15: Hoare triple {2917#(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); {2917#(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-10 15:09:16,889 INFO L280 TraceCheckUtils]: 16: Hoare triple {2917#(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; {2917#(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-10 15:09:16,889 INFO L280 TraceCheckUtils]: 17: Hoare triple {2917#(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; {2917#(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-10 15:09:16,890 INFO L280 TraceCheckUtils]: 18: Hoare triple {2917#(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; {2917#(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-10 15:09:16,891 INFO L280 TraceCheckUtils]: 19: Hoare triple {2917#(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; {2951#(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-10 15:09:16,893 INFO L280 TraceCheckUtils]: 20: Hoare triple {2951#(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); {2951#(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-10 15:09:16,894 INFO L280 TraceCheckUtils]: 21: Hoare triple {2951#(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; {2951#(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-10 15:09:16,895 INFO L280 TraceCheckUtils]: 22: Hoare triple {2951#(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); {2951#(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-10 15:09:16,896 INFO L280 TraceCheckUtils]: 23: Hoare triple {2951#(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; {2951#(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-10 15:09:16,898 INFO L280 TraceCheckUtils]: 24: Hoare triple {2951#(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; {2951#(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-10 15:09:16,902 INFO L280 TraceCheckUtils]: 25: Hoare triple {2951#(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); {2951#(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-10 15:09:16,902 INFO L280 TraceCheckUtils]: 26: Hoare triple {2951#(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; {2951#(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-10 15:09:16,903 INFO L280 TraceCheckUtils]: 27: Hoare triple {2951#(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; {2976#(and (= 0 main_~end~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) 8)))} is VALID [2020-07-10 15:09:16,904 INFO L280 TraceCheckUtils]: 28: Hoare triple {2976#(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); {2980#(<= ~unnamed1~0~BLACK |main_#t~mem13|)} is VALID [2020-07-10 15:09:16,904 INFO L280 TraceCheckUtils]: 29: Hoare triple {2980#(<= ~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; {2873#false} is VALID [2020-07-10 15:09:16,905 INFO L280 TraceCheckUtils]: 30: Hoare triple {2873#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2873#false} is VALID [2020-07-10 15:09:16,905 INFO L280 TraceCheckUtils]: 31: Hoare triple {2873#false} assume !false; {2873#false} is VALID [2020-07-10 15:09:16,913 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-10 15:09:16,914 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:09:16,914 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 19 [2020-07-10 15:09:16,914 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [250455567] [2020-07-10 15:09:16,915 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 32 [2020-07-10 15:09:16,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:16,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-10 15:09:17,005 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-10 15:09:17,006 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-10 15:09:17,006 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:17,006 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-10 15:09:17,007 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=297, Unknown=0, NotChecked=0, Total=342 [2020-07-10 15:09:17,007 INFO L87 Difference]: Start difference. First operand 73 states and 81 transitions. Second operand 19 states. [2020-07-10 15:09:20,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:20,671 INFO L93 Difference]: Finished difference Result 120 states and 132 transitions. [2020-07-10 15:09:20,671 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-10 15:09:20,671 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 32 [2020-07-10 15:09:20,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:20,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-10 15:09:20,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 104 transitions. [2020-07-10 15:09:20,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-10 15:09:20,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 104 transitions. [2020-07-10 15:09:20,680 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 104 transitions. [2020-07-10 15:09:20,848 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-10 15:09:20,852 INFO L225 Difference]: With dead ends: 120 [2020-07-10 15:09:20,852 INFO L226 Difference]: Without dead ends: 108 [2020-07-10 15:09:20,853 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=124, Invalid=578, Unknown=0, NotChecked=0, Total=702 [2020-07-10 15:09:20,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2020-07-10 15:09:21,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 82. [2020-07-10 15:09:21,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:21,010 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand 82 states. [2020-07-10 15:09:21,010 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 82 states. [2020-07-10 15:09:21,010 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 82 states. [2020-07-10 15:09:21,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:21,015 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2020-07-10 15:09:21,015 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2020-07-10 15:09:21,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:21,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:21,016 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 108 states. [2020-07-10 15:09:21,016 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 108 states. [2020-07-10 15:09:21,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:21,020 INFO L93 Difference]: Finished difference Result 108 states and 118 transitions. [2020-07-10 15:09:21,020 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 118 transitions. [2020-07-10 15:09:21,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:21,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:21,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:21,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:21,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-10 15:09:21,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 90 transitions. [2020-07-10 15:09:21,023 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 90 transitions. Word has length 32 [2020-07-10 15:09:21,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:21,023 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 90 transitions. [2020-07-10 15:09:21,024 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-10 15:09:21,024 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 90 transitions. [2020-07-10 15:09:21,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-10 15:09:21,025 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:21,025 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-10 15:09:21,233 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:21,234 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-10 15:09:21,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:21,235 INFO L82 PathProgramCache]: Analyzing trace with hash 145286649, now seen corresponding path program 2 times [2020-07-10 15:09:21,235 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:21,236 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1795172991] [2020-07-10 15:09:21,236 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:21,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,628 INFO L280 TraceCheckUtils]: 0: Hoare triple {3468#(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; {3452#true} is VALID [2020-07-10 15:09:21,629 INFO L280 TraceCheckUtils]: 1: Hoare triple {3452#true} assume true; {3452#true} is VALID [2020-07-10 15:09:21,629 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3452#true} {3452#true} #189#return; {3452#true} is VALID [2020-07-10 15:09:21,630 INFO L263 TraceCheckUtils]: 0: Hoare triple {3452#true} call ULTIMATE.init(); {3468#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:09:21,630 INFO L280 TraceCheckUtils]: 1: Hoare triple {3468#(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; {3452#true} is VALID [2020-07-10 15:09:21,630 INFO L280 TraceCheckUtils]: 2: Hoare triple {3452#true} assume true; {3452#true} is VALID [2020-07-10 15:09:21,630 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3452#true} {3452#true} #189#return; {3452#true} is VALID [2020-07-10 15:09:21,630 INFO L263 TraceCheckUtils]: 4: Hoare triple {3452#true} call #t~ret21 := main(); {3452#true} is VALID [2020-07-10 15:09:21,633 INFO L280 TraceCheckUtils]: 5: Hoare triple {3452#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; {3457#(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-10 15:09:21,634 INFO L280 TraceCheckUtils]: 6: Hoare triple {3457#(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; {3457#(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-10 15:09:21,636 INFO L280 TraceCheckUtils]: 7: Hoare triple {3457#(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; {3458#(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-10 15:09:21,641 INFO L280 TraceCheckUtils]: 8: Hoare triple {3458#(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); {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,642 INFO L280 TraceCheckUtils]: 9: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} call #t~mem10 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,642 INFO L280 TraceCheckUtils]: 10: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} assume !!(~unnamed1~0~BLACK == #t~mem10);havoc #t~mem10; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,643 INFO L280 TraceCheckUtils]: 11: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} goto; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,643 INFO L280 TraceCheckUtils]: 12: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} call #t~mem11.base, #t~mem11.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,644 INFO L280 TraceCheckUtils]: 13: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} assume !!(~null~0.base == #t~mem11.base && ~null~0.offset == #t~mem11.offset);havoc #t~mem11.base, #t~mem11.offset; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,644 INFO L280 TraceCheckUtils]: 14: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} goto; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,644 INFO L280 TraceCheckUtils]: 15: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,645 INFO L280 TraceCheckUtils]: 16: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} goto; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,646 INFO L280 TraceCheckUtils]: 17: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,646 INFO L280 TraceCheckUtils]: 18: Hoare triple {3459#(= ~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))) (+ (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)) 8)))} assume !(0 != #t~nondet2);havoc #t~nondet2; {3459#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,647 INFO L280 TraceCheckUtils]: 19: Hoare triple {3459#(= ~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))) (+ (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)) 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; {3460#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,647 INFO L280 TraceCheckUtils]: 20: Hoare triple {3460#(= ~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))) (+ (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)) 8)))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3460#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,648 INFO L280 TraceCheckUtils]: 21: Hoare triple {3460#(= ~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))) (+ (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)) 8)))} goto; {3460#(= ~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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,648 INFO L280 TraceCheckUtils]: 22: Hoare triple {3460#(= ~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))) (+ (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)) 8)))} call #t~mem12 := read~int(~end~0.base, 8 + ~end~0.offset, 4); {3461#(and (= ~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))) (+ (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)) 8))) (= |main_#t~mem12| (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-10 15:09:21,649 INFO L280 TraceCheckUtils]: 23: Hoare triple {3461#(and (= ~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))) (+ (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)) 8))) (= |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; {3462#(= (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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,654 INFO L280 TraceCheckUtils]: 24: Hoare triple {3462#(= (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))) (+ (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)) 8)))} goto; {3462#(= (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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,657 INFO L280 TraceCheckUtils]: 25: Hoare triple {3462#(= (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))) (+ (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)) 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); {3463#(= |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))) (+ (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)) 8)))} is VALID [2020-07-10 15:09:21,658 INFO L280 TraceCheckUtils]: 26: Hoare triple {3463#(= |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))) (+ (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)) 8)))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3464#(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))) (+ (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)) 8))))} is VALID [2020-07-10 15:09:21,659 INFO L280 TraceCheckUtils]: 27: Hoare triple {3464#(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))) (+ (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)) 8))))} 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; {3465#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} is VALID [2020-07-10 15:09:21,660 INFO L280 TraceCheckUtils]: 28: Hoare triple {3465#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 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); {3465#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} is VALID [2020-07-10 15:09:21,662 INFO L280 TraceCheckUtils]: 29: Hoare triple {3465#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3465#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} is VALID [2020-07-10 15:09:21,663 INFO L280 TraceCheckUtils]: 30: Hoare triple {3465#(not (= ~unnamed1~0~RED (select (select |#memory_int| (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) 8))))} 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; {3466#(not (= ~unnamed1~0~RED (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 8))))} is VALID [2020-07-10 15:09:21,666 INFO L280 TraceCheckUtils]: 31: Hoare triple {3466#(not (= ~unnamed1~0~RED (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); {3467#(not (= |main_#t~mem13| ~unnamed1~0~RED))} is VALID [2020-07-10 15:09:21,666 INFO L280 TraceCheckUtils]: 32: Hoare triple {3467#(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; {3453#false} is VALID [2020-07-10 15:09:21,666 INFO L280 TraceCheckUtils]: 33: Hoare triple {3453#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3453#false} is VALID [2020-07-10 15:09:21,667 INFO L280 TraceCheckUtils]: 34: Hoare triple {3453#false} assume !false; {3453#false} is VALID [2020-07-10 15:09:21,672 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-10 15:09:21,672 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1795172991] [2020-07-10 15:09:21,672 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [597060021] [2020-07-10 15:09:21,672 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-10 15:09:21,807 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-10 15:09:21,807 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-10 15:09:21,808 INFO L264 TraceCheckSpWp]: Trace formula consists of 172 conjuncts, 60 conjunts are in the unsatisfiable core [2020-07-10 15:09:21,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:21,829 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:21,863 INFO L350 Elim1Store]: treesize reduction 15, result has 25.0 percent of original size [2020-07-10 15:09:21,864 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-10 15:09:21,864 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:21,877 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:21,878 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-10 15:09:21,878 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:22, output treesize:23 [2020-07-10 15:09:21,883 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:21,883 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-10 15:09:21,884 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-10 15:09:22,002 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:22,003 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-10 15:09:22,005 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:09:22,006 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:22,099 INFO L624 ElimStorePlain]: treesize reduction 14, result has 93.5 percent of original size [2020-07-10 15:09:22,105 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:22,117 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:22,118 INFO L173 IndexEqualityManager]: detected equality via solver [2020-07-10 15:09:22,135 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:22,135 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-10 15:09:22,136 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:22,198 INFO L624 ElimStorePlain]: treesize reduction 16, result has 89.4 percent of original size [2020-07-10 15:09:22,201 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:22,223 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:22,236 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:22,237 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-10 15:09:22,237 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:22,302 INFO L624 ElimStorePlain]: treesize reduction 16, result has 81.2 percent of original size [2020-07-10 15:09:22,308 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-10 15:09:22,308 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 4 variables, input treesize:203, output treesize:82 [2020-07-10 15:09:22,328 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:22,328 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-10 15:09:22,329 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-10 15:09:22,603 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:22,604 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-10 15:09:22,607 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:09:22,610 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:09:22,612 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:23,106 WARN L193 SmtUtils]: Spent 493.00 ms on a formula simplification that was a NOOP. DAG size: 110 [2020-07-10 15:09:23,106 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:23,111 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-10 15:09:23,180 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-10 15:09:23,180 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:23,520 WARN L193 SmtUtils]: Spent 338.00 ms on a formula simplification that was a NOOP. DAG size: 105 [2020-07-10 15:09:23,520 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:23,571 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-10 15:09:23,573 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:23,862 WARN L193 SmtUtils]: Spent 288.00 ms on a formula simplification that was a NOOP. DAG size: 98 [2020-07-10 15:09:23,863 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:23,873 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-10 15:09:24,220 WARN L193 SmtUtils]: Spent 346.00 ms on a formula simplification that was a NOOP. DAG size: 94 [2020-07-10 15:09:24,221 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:24,247 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:24,251 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:24,252 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-10 15:09:24,255 INFO L544 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:24,666 WARN L193 SmtUtils]: Spent 409.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 91 [2020-07-10 15:09:24,667 INFO L624 ElimStorePlain]: treesize reduction 8, result has 98.3 percent of original size [2020-07-10 15:09:24,679 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:24,680 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-10 15:09:24,702 INFO L544 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:25,005 WARN L193 SmtUtils]: Spent 302.00 ms on a formula simplification. DAG size of input: 87 DAG size of output: 85 [2020-07-10 15:09:25,006 INFO L624 ElimStorePlain]: treesize reduction 24, result has 94.8 percent of original size [2020-07-10 15:09:25,048 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-10 15:09:25,051 INFO L544 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:25,181 WARN L193 SmtUtils]: Spent 129.00 ms on a formula simplification that was a NOOP. DAG size: 79 [2020-07-10 15:09:25,181 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:25,213 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:25,519 WARN L193 SmtUtils]: Spent 299.00 ms on a formula simplification. DAG size of input: 85 DAG size of output: 69 [2020-07-10 15:09:25,520 INFO L350 Elim1Store]: treesize reduction 160, result has 55.9 percent of original size [2020-07-10 15:09:25,520 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-10 15:09:25,540 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:25,562 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:25,569 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-10 15:09:25,578 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:25,594 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:25,601 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:25,608 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:25,612 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:25,637 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:25,645 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-10 15:09:25,655 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:25,663 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:25,676 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:25,680 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:25,700 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:25,710 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:25,715 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:25,749 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:25,758 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-10 15:09:25,768 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:25,775 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:25,784 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:25,804 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:25,815 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:25,848 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:25,859 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-10 15:09:25,871 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:25,880 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:25,893 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:25,897 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:25,923 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:25,930 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:25,936 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:25,976 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:25,986 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-10 15:09:26,000 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,005 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,010 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:26,020 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:26,046 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,062 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:26,066 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:26,093 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-10 15:09:26,103 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 12 disjuncts [2020-07-10 15:09:26,112 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,122 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,130 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 9 disjuncts [2020-07-10 15:09:26,136 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 9 disjuncts [2020-07-10 15:09:26,144 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 9 disjuncts [2020-07-10 15:09:26,168 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,183 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,189 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,193 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,196 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,225 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,231 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,236 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,257 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,266 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,272 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,284 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,292 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,307 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,321 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,333 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,372 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:26,386 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-10 15:09:26,398 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 12 disjuncts [2020-07-10 15:09:26,409 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,421 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,428 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,432 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,444 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,482 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,530 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,542 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,572 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,592 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,601 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,608 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,613 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,638 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,647 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,653 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,685 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,699 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,709 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 9 disjuncts [2020-07-10 15:09:26,717 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 9 disjuncts [2020-07-10 15:09:26,727 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 9 disjuncts [2020-07-10 15:09:26,764 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:26,777 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:26,789 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-10 15:09:26,802 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,812 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,827 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:26,832 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:26,846 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,851 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:26,855 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:26,888 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-10 15:09:26,898 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,909 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,917 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:26,924 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:26,928 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:26,954 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:26,964 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 13 disjuncts [2020-07-10 15:09:26,976 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:26,986 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:26,992 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 10 disjuncts [2020-07-10 15:09:27,016 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 10 disjuncts [2020-07-10 15:09:27,030 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 10 disjuncts [2020-07-10 15:09:27,045 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:27,053 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-10 15:09:27,064 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:27,071 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:27,074 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:27,088 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:27,110 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:27,123 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:27,126 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:27,153 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 14 disjuncts [2020-07-10 15:09:27,162 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 13 disjuncts [2020-07-10 15:09:27,171 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 12 disjuncts [2020-07-10 15:09:27,179 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:27,186 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:27,197 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:27,219 INFO L501 QuantifierPusher]: Distributing 4 conjuncts over 11 disjuncts [2020-07-10 15:09:27,230 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 11 disjuncts [2020-07-10 15:09:27,234 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 11 disjuncts [2020-07-10 15:09:27,256 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-10 15:09:27,516 WARN L193 SmtUtils]: Spent 259.00 ms on a formula simplification. DAG size of input: 111 DAG size of output: 70 [2020-07-10 15:09:27,517 INFO L624 ElimStorePlain]: treesize reduction 178, result has 52.2 percent of original size [2020-07-10 15:09:27,520 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:27,542 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:27,544 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:27,548 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:27,596 INFO L350 Elim1Store]: treesize reduction 5, result has 90.7 percent of original size [2020-07-10 15:09:27,597 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-10 15:09:27,599 INFO L544 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:27,715 WARN L193 SmtUtils]: Spent 115.00 ms on a formula simplification. DAG size of input: 71 DAG size of output: 61 [2020-07-10 15:09:27,716 INFO L624 ElimStorePlain]: treesize reduction 41, result has 72.8 percent of original size [2020-07-10 15:09:27,723 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-10 15:09:27,723 INFO L244 ElimStorePlain]: Needed 10 recursive calls to eliminate 10 variables, input treesize:530, output treesize:117 [2020-07-10 15:09:29,432 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:29,432 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-10 15:09:29,433 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-10 15:09:30,464 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:30,465 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-10 15:09:30,473 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-10 15:09:30,478 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-10 15:09:30,482 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-10 15:09:30,490 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-10 15:09:30,494 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-10 15:09:30,503 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-10 15:09:30,508 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 6 disjuncts [2020-07-10 15:09:30,513 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-10 15:09:30,523 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 5 disjuncts [2020-07-10 15:09:30,530 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 4 disjuncts [2020-07-10 15:09:30,535 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-10 15:09:30,598 INFO L624 ElimStorePlain]: treesize reduction 28, result has 70.8 percent of original size [2020-07-10 15:09:30,610 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:30,611 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-10 15:09:30,615 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:30,630 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:30,635 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-10 15:09:30,635 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:152, output treesize:21 [2020-07-10 15:09:30,639 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:30,639 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-10 15:09:30,639 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-10 15:09:30,704 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:30,705 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-10 15:09:30,706 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:30,716 INFO L624 ElimStorePlain]: treesize reduction 4, result has 66.7 percent of original size [2020-07-10 15:09:30,718 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-10 15:09:30,718 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:22, output treesize:3 [2020-07-10 15:09:30,724 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:30,724 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-10 15:09:30,725 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (= |main_#t~mem13| ~unnamed1~0~RED) [2020-07-10 15:09:30,758 INFO L263 TraceCheckUtils]: 0: Hoare triple {3452#true} call ULTIMATE.init(); {3452#true} is VALID [2020-07-10 15:09:30,759 INFO L280 TraceCheckUtils]: 1: Hoare triple {3452#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3452#true} is VALID [2020-07-10 15:09:30,759 INFO L280 TraceCheckUtils]: 2: Hoare triple {3452#true} assume true; {3452#true} is VALID [2020-07-10 15:09:30,759 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3452#true} {3452#true} #189#return; {3452#true} is VALID [2020-07-10 15:09:30,759 INFO L263 TraceCheckUtils]: 4: Hoare triple {3452#true} call #t~ret21 := main(); {3452#true} is VALID [2020-07-10 15:09:30,762 INFO L280 TraceCheckUtils]: 5: Hoare triple {3452#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; {3487#(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-10 15:09:30,762 INFO L280 TraceCheckUtils]: 6: Hoare triple {3487#(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; {3487#(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-10 15:09:30,765 INFO L280 TraceCheckUtils]: 7: Hoare triple {3487#(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; {3494#(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-10 15:09:30,770 INFO L280 TraceCheckUtils]: 8: Hoare triple {3494#(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); {3498#(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-10 15:09:30,771 INFO L280 TraceCheckUtils]: 9: Hoare triple {3498#(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); {3498#(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-10 15:09:30,773 INFO L280 TraceCheckUtils]: 10: Hoare triple {3498#(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; {3498#(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-10 15:09:30,774 INFO L280 TraceCheckUtils]: 11: Hoare triple {3498#(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; {3498#(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-10 15:09:30,777 INFO L280 TraceCheckUtils]: 12: Hoare triple {3498#(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); {3511#(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-10 15:09:30,779 INFO L280 TraceCheckUtils]: 13: Hoare triple {3511#(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; {3515#(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-10 15:09:30,780 INFO L280 TraceCheckUtils]: 14: Hoare triple {3515#(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; {3515#(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-10 15:09:30,781 INFO L280 TraceCheckUtils]: 15: Hoare triple {3515#(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); {3515#(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-10 15:09:30,782 INFO L280 TraceCheckUtils]: 16: Hoare triple {3515#(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; {3515#(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-10 15:09:30,783 INFO L280 TraceCheckUtils]: 17: Hoare triple {3515#(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; {3515#(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-10 15:09:30,783 INFO L280 TraceCheckUtils]: 18: Hoare triple {3515#(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; {3515#(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-10 15:09:30,786 INFO L280 TraceCheckUtils]: 19: Hoare triple {3515#(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; {3534#(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-10 15:09:30,788 INFO L280 TraceCheckUtils]: 20: Hoare triple {3534#(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); {3534#(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-10 15:09:30,789 INFO L280 TraceCheckUtils]: 21: Hoare triple {3534#(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; {3534#(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-10 15:09:30,790 INFO L280 TraceCheckUtils]: 22: Hoare triple {3534#(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); {3534#(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-10 15:09:30,793 INFO L280 TraceCheckUtils]: 23: Hoare triple {3534#(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; {3534#(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-10 15:09:30,794 INFO L280 TraceCheckUtils]: 24: Hoare triple {3534#(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; {3534#(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-10 15:09:30,795 INFO L280 TraceCheckUtils]: 25: Hoare triple {3534#(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); {3534#(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-10 15:09:30,796 INFO L280 TraceCheckUtils]: 26: Hoare triple {3534#(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; {3534#(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-10 15:09:30,799 INFO L280 TraceCheckUtils]: 27: Hoare triple {3534#(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; {3559#(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-10 15:09:30,800 INFO L280 TraceCheckUtils]: 28: Hoare triple {3559#(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); {3563#(= |main_#t~mem13| ~unnamed1~0~RED)} is VALID [2020-07-10 15:09:30,800 INFO L280 TraceCheckUtils]: 29: Hoare triple {3563#(= |main_#t~mem13| ~unnamed1~0~RED)} assume !(~unnamed1~0~RED == #t~mem13);havoc #t~mem13; {3453#false} is VALID [2020-07-10 15:09:30,800 INFO L280 TraceCheckUtils]: 30: Hoare triple {3453#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; {3453#false} is VALID [2020-07-10 15:09:30,800 INFO L280 TraceCheckUtils]: 31: Hoare triple {3453#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); {3453#false} is VALID [2020-07-10 15:09:30,801 INFO L280 TraceCheckUtils]: 32: Hoare triple {3453#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; {3453#false} is VALID [2020-07-10 15:09:30,801 INFO L280 TraceCheckUtils]: 33: Hoare triple {3453#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3453#false} is VALID [2020-07-10 15:09:30,801 INFO L280 TraceCheckUtils]: 34: Hoare triple {3453#false} assume !false; {3453#false} is VALID [2020-07-10 15:09:30,813 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-10 15:09:30,814 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:09:30,814 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 10] total 22 [2020-07-10 15:09:30,814 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1902684120] [2020-07-10 15:09:30,815 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 35 [2020-07-10 15:09:30,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:30,815 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-10 15:09:30,951 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-10 15:09:30,951 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-10 15:09:30,951 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:30,952 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-10 15:09:30,952 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=408, Unknown=0, NotChecked=0, Total=462 [2020-07-10 15:09:30,952 INFO L87 Difference]: Start difference. First operand 82 states and 90 transitions. Second operand 22 states. [2020-07-10 15:09:36,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:36,257 INFO L93 Difference]: Finished difference Result 138 states and 150 transitions. [2020-07-10 15:09:36,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-10 15:09:36,258 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 35 [2020-07-10 15:09:36,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:36,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-10 15:09:36,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 122 transitions. [2020-07-10 15:09:36,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-10 15:09:36,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 122 transitions. [2020-07-10 15:09:36,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 122 transitions. [2020-07-10 15:09:36,571 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-10 15:09:36,575 INFO L225 Difference]: With dead ends: 138 [2020-07-10 15:09:36,575 INFO L226 Difference]: Without dead ends: 126 [2020-07-10 15:09:36,576 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 173 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=145, Invalid=977, Unknown=0, NotChecked=0, Total=1122 [2020-07-10 15:09:36,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 126 states. [2020-07-10 15:09:36,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 126 to 103. [2020-07-10 15:09:36,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:36,744 INFO L82 GeneralOperation]: Start isEquivalent. First operand 126 states. Second operand 103 states. [2020-07-10 15:09:36,744 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 103 states. [2020-07-10 15:09:36,744 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 103 states. [2020-07-10 15:09:36,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:36,747 INFO L93 Difference]: Finished difference Result 126 states and 136 transitions. [2020-07-10 15:09:36,747 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 136 transitions. [2020-07-10 15:09:36,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:36,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:36,748 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 126 states. [2020-07-10 15:09:36,748 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 126 states. [2020-07-10 15:09:36,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:36,751 INFO L93 Difference]: Finished difference Result 126 states and 136 transitions. [2020-07-10 15:09:36,751 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 136 transitions. [2020-07-10 15:09:36,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:36,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:36,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:36,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:36,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-10 15:09:36,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 112 transitions. [2020-07-10 15:09:36,755 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 112 transitions. Word has length 35 [2020-07-10 15:09:36,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:36,755 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 112 transitions. [2020-07-10 15:09:36,755 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-10 15:09:36,755 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 112 transitions. [2020-07-10 15:09:36,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2020-07-10 15:09:36,758 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:36,759 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-10 15:09:36,971 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2020-07-10 15:09:36,972 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-10 15:09:36,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:36,972 INFO L82 PathProgramCache]: Analyzing trace with hash -969799515, now seen corresponding path program 1 times [2020-07-10 15:09:36,973 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:36,973 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [341134755] [2020-07-10 15:09:36,973 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:37,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:09:37,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:09:37,095 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-10 15:09:37,095 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 15:09:37,096 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:09:37,167 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1023-4 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1023-4 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1000-3 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1000-1 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1000-1 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1030-4 has no Hoare annotation [2020-07-10 15:09:37,168 WARN L170 areAnnotationChecker]: L1030-4 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1030-4 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1008 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1008 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1031-4 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1031-4 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1030-1 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1030-1 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1030-3 has no Hoare annotation [2020-07-10 15:09:37,169 WARN L170 areAnnotationChecker]: L1030-3 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1021-4 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1021-4 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1032-1 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1032-1 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1032-1 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1021 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1021 has no Hoare annotation [2020-07-10 15:09:37,170 WARN L170 areAnnotationChecker]: L1022-4 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1022-4 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1031-1 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1031-1 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1047-2 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1047-2 has no Hoare annotation [2020-07-10 15:09:37,171 WARN L170 areAnnotationChecker]: L1047-2 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1034 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1034 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1021-1 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1021-1 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1021-3 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1021-3 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1022 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1022 has no Hoare annotation [2020-07-10 15:09:37,172 WARN L170 areAnnotationChecker]: L1023-3 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1023-3 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1023-3 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1045-1 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1047 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1047 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1037-4 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1037-4 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1037-4 has no Hoare annotation [2020-07-10 15:09:37,173 WARN L170 areAnnotationChecker]: L1034-1 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1022-1 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1022-1 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1022-3 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1022-3 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1023 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1023 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1023-2 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: L1023-2 has no Hoare annotation [2020-07-10 15:09:37,174 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1038-4 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1038-4 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1037-3 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1037-3 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1038 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1038 has no Hoare annotation [2020-07-10 15:09:37,175 WARN L170 areAnnotationChecker]: L1038-1 has no Hoare annotation [2020-07-10 15:09:37,176 WARN L170 areAnnotationChecker]: L1038-1 has no Hoare annotation [2020-07-10 15:09:37,176 WARN L170 areAnnotationChecker]: L1038-3 has no Hoare annotation [2020-07-10 15:09:37,176 WARN L170 areAnnotationChecker]: L1038-3 has no Hoare annotation [2020-07-10 15:09:37,176 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-10 15:09:37,181 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:09:37 BoogieIcfgContainer [2020-07-10 15:09:37,181 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:09:37,183 INFO L168 Benchmark]: Toolchain (without parser) took 66713.57 ms. Allocated memory was 143.1 MB in the beginning and 443.5 MB in the end (delta: 300.4 MB). Free memory was 98.6 MB in the beginning and 224.6 MB in the end (delta: -126.0 MB). Peak memory consumption was 174.4 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:37,183 INFO L168 Benchmark]: CDTParser took 0.23 ms. Allocated memory is still 143.1 MB. Free memory was 118.1 MB in the beginning and 117.9 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-10 15:09:37,184 INFO L168 Benchmark]: CACSL2BoogieTranslator took 741.97 ms. Allocated memory was 143.1 MB in the beginning and 201.9 MB in the end (delta: 58.7 MB). Free memory was 98.3 MB in the beginning and 168.4 MB in the end (delta: -70.0 MB). Peak memory consumption was 24.5 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:37,185 INFO L168 Benchmark]: Boogie Preprocessor took 83.51 ms. Allocated memory is still 201.9 MB. Free memory was 168.4 MB in the beginning and 164.2 MB in the end (delta: 4.2 MB). Peak memory consumption was 4.2 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:37,185 INFO L168 Benchmark]: RCFGBuilder took 983.23 ms. Allocated memory is still 201.9 MB. Free memory was 164.2 MB in the beginning and 94.3 MB in the end (delta: 70.0 MB). Peak memory consumption was 70.0 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:37,185 INFO L168 Benchmark]: TraceAbstraction took 64897.58 ms. Allocated memory was 201.9 MB in the beginning and 443.5 MB in the end (delta: 241.7 MB). Free memory was 93.6 MB in the beginning and 224.6 MB in the end (delta: -131.0 MB). Peak memory consumption was 110.7 MB. Max. memory is 7.1 GB. [2020-07-10 15:09:37,188 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.23 ms. Allocated memory is still 143.1 MB. Free memory was 118.1 MB in the beginning and 117.9 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 741.97 ms. Allocated memory was 143.1 MB in the beginning and 201.9 MB in the end (delta: 58.7 MB). Free memory was 98.3 MB in the beginning and 168.4 MB in the end (delta: -70.0 MB). Peak memory consumption was 24.5 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 83.51 ms. Allocated memory is still 201.9 MB. Free memory was 168.4 MB in the beginning and 164.2 MB in the end (delta: 4.2 MB). Peak memory consumption was 4.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 983.23 ms. Allocated memory is still 201.9 MB. Free memory was 164.2 MB in the beginning and 94.3 MB in the end (delta: 70.0 MB). Peak memory consumption was 70.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 64897.58 ms. Allocated memory was 201.9 MB in the beginning and 443.5 MB in the end (delta: 241.7 MB). Free memory was 93.6 MB in the beginning and 224.6 MB in the end (delta: -131.0 MB). Peak memory consumption was 110.7 MB. 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))={-2:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1:0}, null={-2:0}] [L1021] EXPR end->colour VAL [end={-4:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1:0}, null={-2:0}] [L1030] COND FALSE !(!(null != end)) VAL [end={-1:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1:0}, null={-2:0}] [L1031] EXPR end->colour VAL [end={-1:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1:0}, null={-2:0}] [L1038] EXPR end->colour VAL [end={-4:0}, end->colour=1, list={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1:0}, null={-2:0}] [L1038] COND TRUE !(BLACK != end->colour) [L1038] __VERIFIER_error() VAL [end={-4:0}, list={-1:0}, malloc(sizeof(struct TSLL))={-2:0}, malloc(sizeof(struct TSLL))={-3:0}, malloc(sizeof(struct TSLL))={-4:0}, malloc(sizeof(struct TSLL))={-1: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: 64.7s, OverallIterations: 13, TraceHistogramMax: 3, AutomataDifference: 33.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 400 SDtfs, 664 SDslu, 1622 SDs, 0 SdLazy, 2082 SolverSat, 166 SolverUnsat, 2 SolverUnknown, 0 SolverNotchecked, 11.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 286 GetRequests, 146 SyntacticMatches, 3 SemanticMatches, 137 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 417 ImplicationChecksByTransitivity, 5.8s 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, 138 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.6s SatisfiabilityAnalysisTime, 26.7s InterpolantComputationTime, 422 NumberOfCodeBlocks, 422 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 370 ConstructedInterpolants, 44 QuantifiedInterpolants, 283845 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...