/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/sll-01-2.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:31:57,170 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:31:57,173 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:31:57,193 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:31:57,193 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:31:57,195 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:31:57,197 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:31:57,207 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:31:57,211 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:31:57,214 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:31:57,216 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:31:57,218 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:31:57,218 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:31:57,220 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:31:57,222 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:31:57,223 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:31:57,225 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:31:57,225 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:31:57,227 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:31:57,232 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:31:57,237 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:31:57,240 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:31:57,241 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:31:57,242 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:31:57,244 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:31:57,245 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:31:57,245 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:31:57,247 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:31:57,248 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:31:57,250 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:31:57,250 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:31:57,251 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:31:57,252 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:31:57,253 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:31:57,254 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:31:57,255 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:31:57,255 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:31:57,256 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:31:57,256 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:31:57,257 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:31:57,258 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:31:57,259 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-17 22:31:57,290 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:31:57,298 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:31:57,300 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:31:57,300 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:31:57,303 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:31:57,304 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:31:57,304 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:31:57,304 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:31:57,304 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:31:57,304 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:31:57,305 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:31:57,305 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:31:57,305 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:31:57,305 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:31:57,307 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:31:57,307 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:31:57,307 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:31:57,307 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:31:57,307 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:31:57,308 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:31:57,308 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:31:57,308 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:31:57,308 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:31:57,308 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:31:57,308 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:31:57,309 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:31:57,309 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:31:57,309 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:31:57,309 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:31:57,309 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:31:57,584 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:31:57,598 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:31:57,602 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:31:57,603 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:31:57,604 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:31:57,605 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/forester-heap/sll-01-2.i [2020-07-17 22:31:57,686 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/722058f14/3865631a3b5e46c88352d0e78590db10/FLAG6f2cdd5f2 [2020-07-17 22:31:58,286 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:31:58,287 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/forester-heap/sll-01-2.i [2020-07-17 22:31:58,305 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/722058f14/3865631a3b5e46c88352d0e78590db10/FLAG6f2cdd5f2 [2020-07-17 22:31:58,537 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/722058f14/3865631a3b5e46c88352d0e78590db10 [2020-07-17 22:31:58,548 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:31:58,552 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:31:58,555 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:31:58,555 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:31:58,558 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:31:58,560 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:31:58" (1/1) ... [2020-07-17 22:31:58,563 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@71195c2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:58, skipping insertion in model container [2020-07-17 22:31:58,564 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:31:58" (1/1) ... [2020-07-17 22:31:58,572 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:31:58,634 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:31:59,132 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:31:59,140 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:31:59,196 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:31:59,255 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:31:59,256 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59 WrapperNode [2020-07-17 22:31:59,256 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:31:59,257 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:31:59,257 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:31:59,257 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:31:59,271 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,272 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,289 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,290 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,322 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,337 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,341 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (1/1) ... [2020-07-17 22:31:59,349 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:31:59,350 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:31:59,350 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:31:59,350 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:31:59,351 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (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-17 22:31:59,411 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:31:59,412 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:31:59,412 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:31:59,412 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-17 22:31:59,412 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-17 22:31:59,412 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-17 22:31:59,413 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-17 22:31:59,413 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-17 22:31:59,414 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-17 22:31:59,414 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-17 22:31:59,414 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-17 22:31:59,414 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-17 22:31:59,415 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-17 22:31:59,416 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-17 22:31:59,416 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-17 22:31:59,416 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-17 22:31:59,417 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-17 22:31:59,417 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-17 22:31:59,417 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-17 22:31:59,417 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-17 22:31:59,418 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-17 22:31:59,418 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-17 22:31:59,419 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-17 22:31:59,419 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-17 22:31:59,420 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-17 22:31:59,421 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-17 22:31:59,421 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-17 22:31:59,421 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-17 22:31:59,422 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-17 22:31:59,422 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-17 22:31:59,422 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-17 22:31:59,422 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-17 22:31:59,423 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-17 22:31:59,423 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-17 22:31:59,423 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-17 22:31:59,423 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-17 22:31:59,423 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-17 22:31:59,423 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-17 22:31:59,424 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-17 22:31:59,424 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-17 22:31:59,424 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-17 22:31:59,424 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-17 22:31:59,424 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-17 22:31:59,425 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-17 22:31:59,426 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-17 22:31:59,426 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-17 22:31:59,426 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-17 22:31:59,426 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-17 22:31:59,426 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-17 22:31:59,426 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-17 22:31:59,427 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-17 22:31:59,428 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-17 22:31:59,428 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-17 22:31:59,428 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-17 22:31:59,428 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-17 22:31:59,429 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-17 22:31:59,430 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-17 22:31:59,430 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-17 22:31:59,430 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-17 22:31:59,430 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-17 22:31:59,430 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-17 22:31:59,431 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-17 22:31:59,431 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-17 22:31:59,432 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-17 22:31:59,432 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-17 22:31:59,432 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-17 22:31:59,432 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-17 22:31:59,432 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-17 22:31:59,432 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-17 22:31:59,433 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-17 22:31:59,433 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-17 22:31:59,433 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-17 22:31:59,433 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-17 22:31:59,434 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-17 22:31:59,434 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-17 22:31:59,435 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-17 22:31:59,435 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-17 22:31:59,435 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-17 22:31:59,436 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-17 22:31:59,436 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-17 22:31:59,436 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-17 22:31:59,436 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-17 22:31:59,436 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-17 22:31:59,437 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:31:59,438 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:31:59,439 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-17 22:31:59,439 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-17 22:31:59,439 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-17 22:31:59,439 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-17 22:31:59,439 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:31:59,439 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:32:00,288 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:32:00,289 INFO L295 CfgBuilder]: Removed 30 assume(true) statements. [2020-07-17 22:32:00,296 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:32:00 BoogieIcfgContainer [2020-07-17 22:32:00,297 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:32:00,299 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:32:00,300 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:32:00,303 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:32:00,305 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:31:58" (1/3) ... [2020-07-17 22:32:00,306 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@203d694d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:32:00, skipping insertion in model container [2020-07-17 22:32:00,306 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:31:59" (2/3) ... [2020-07-17 22:32:00,307 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@203d694d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:32:00, skipping insertion in model container [2020-07-17 22:32:00,308 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:32:00" (3/3) ... [2020-07-17 22:32:00,310 INFO L109 eAbstractionObserver]: Analyzing ICFG sll-01-2.i [2020-07-17 22:32:00,322 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:32:00,332 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 13 error locations. [2020-07-17 22:32:00,347 INFO L251 AbstractCegarLoop]: Starting to check reachability of 13 error locations. [2020-07-17 22:32:00,377 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:32:00,377 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:32:00,377 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:32:00,378 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:32:00,378 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:32:00,378 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:32:00,379 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:32:00,379 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:32:00,418 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states. [2020-07-17 22:32:00,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2020-07-17 22:32:00,427 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:00,428 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:00,438 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:00,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:00,445 INFO L82 PathProgramCache]: Analyzing trace with hash 11193106, now seen corresponding path program 1 times [2020-07-17 22:32:00,453 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:00,453 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1730495671] [2020-07-17 22:32:00,453 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:00,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:00,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:00,673 INFO L280 TraceCheckUtils]: 0: Hoare triple {98#(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; {92#true} is VALID [2020-07-17 22:32:00,674 INFO L280 TraceCheckUtils]: 1: Hoare triple {92#true} assume true; {92#true} is VALID [2020-07-17 22:32:00,674 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {92#true} {92#true} #337#return; {92#true} is VALID [2020-07-17 22:32:00,678 INFO L263 TraceCheckUtils]: 0: Hoare triple {92#true} call ULTIMATE.init(); {98#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:00,678 INFO L280 TraceCheckUtils]: 1: Hoare triple {98#(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; {92#true} is VALID [2020-07-17 22:32:00,679 INFO L280 TraceCheckUtils]: 2: Hoare triple {92#true} assume true; {92#true} is VALID [2020-07-17 22:32:00,679 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {92#true} {92#true} #337#return; {92#true} is VALID [2020-07-17 22:32:00,679 INFO L263 TraceCheckUtils]: 4: Hoare triple {92#true} call #t~ret28 := main(); {92#true} is VALID [2020-07-17 22:32:00,681 INFO L280 TraceCheckUtils]: 5: Hoare triple {92#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {97#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:00,682 INFO L280 TraceCheckUtils]: 6: Hoare triple {97#(not (= 0 main_~list~0.base))} assume !(~list~0.base != 0 || ~list~0.offset != 0); {93#false} is VALID [2020-07-17 22:32:00,682 INFO L280 TraceCheckUtils]: 7: Hoare triple {93#false} assume !false; {93#false} is VALID [2020-07-17 22:32:00,683 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-17 22:32:00,684 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1730495671] [2020-07-17 22:32:00,685 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:00,685 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:00,686 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1746125170] [2020-07-17 22:32:00,691 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 8 [2020-07-17 22:32:00,694 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:00,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:00,716 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:00,716 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:00,716 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:00,725 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:00,726 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:00,728 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 4 states. [2020-07-17 22:32:01,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:01,377 INFO L93 Difference]: Finished difference Result 188 states and 306 transitions. [2020-07-17 22:32:01,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:01,377 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 8 [2020-07-17 22:32:01,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:01,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:01,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 306 transitions. [2020-07-17 22:32:01,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:01,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 306 transitions. [2020-07-17 22:32:01,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 306 transitions. [2020-07-17 22:32:01,770 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:01,787 INFO L225 Difference]: With dead ends: 188 [2020-07-17 22:32:01,787 INFO L226 Difference]: Without dead ends: 100 [2020-07-17 22:32:01,792 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:01,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2020-07-17 22:32:01,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 82. [2020-07-17 22:32:01,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:01,844 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 82 states. [2020-07-17 22:32:01,845 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 82 states. [2020-07-17 22:32:01,845 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 82 states. [2020-07-17 22:32:01,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:01,853 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2020-07-17 22:32:01,854 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2020-07-17 22:32:01,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:01,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:01,855 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 100 states. [2020-07-17 22:32:01,856 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 100 states. [2020-07-17 22:32:01,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:01,864 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2020-07-17 22:32:01,864 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2020-07-17 22:32:01,865 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:01,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:01,866 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:01,866 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:01,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-17 22:32:01,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 92 transitions. [2020-07-17 22:32:01,872 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 92 transitions. Word has length 8 [2020-07-17 22:32:01,872 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:01,872 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 92 transitions. [2020-07-17 22:32:01,872 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:01,873 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 92 transitions. [2020-07-17 22:32:01,873 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-17 22:32:01,873 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:01,873 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:01,874 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:32:01,874 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:01,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:01,875 INFO L82 PathProgramCache]: Analyzing trace with hash -648207140, now seen corresponding path program 1 times [2020-07-17 22:32:01,875 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:01,875 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1498746249] [2020-07-17 22:32:01,876 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:01,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:01,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:01,956 INFO L280 TraceCheckUtils]: 0: Hoare triple {604#(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; {598#true} is VALID [2020-07-17 22:32:01,956 INFO L280 TraceCheckUtils]: 1: Hoare triple {598#true} assume true; {598#true} is VALID [2020-07-17 22:32:01,957 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {598#true} {598#true} #337#return; {598#true} is VALID [2020-07-17 22:32:01,958 INFO L263 TraceCheckUtils]: 0: Hoare triple {598#true} call ULTIMATE.init(); {604#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:01,958 INFO L280 TraceCheckUtils]: 1: Hoare triple {604#(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; {598#true} is VALID [2020-07-17 22:32:01,958 INFO L280 TraceCheckUtils]: 2: Hoare triple {598#true} assume true; {598#true} is VALID [2020-07-17 22:32:01,959 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {598#true} {598#true} #337#return; {598#true} is VALID [2020-07-17 22:32:01,959 INFO L263 TraceCheckUtils]: 4: Hoare triple {598#true} call #t~ret28 := main(); {598#true} is VALID [2020-07-17 22:32:01,959 INFO L280 TraceCheckUtils]: 5: Hoare triple {598#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {598#true} is VALID [2020-07-17 22:32:01,960 INFO L280 TraceCheckUtils]: 6: Hoare triple {598#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {598#true} is VALID [2020-07-17 22:32:01,960 INFO L280 TraceCheckUtils]: 7: Hoare triple {598#true} goto; {598#true} is VALID [2020-07-17 22:32:01,960 INFO L280 TraceCheckUtils]: 8: Hoare triple {598#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {598#true} is VALID [2020-07-17 22:32:01,961 INFO L280 TraceCheckUtils]: 9: Hoare triple {598#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {598#true} is VALID [2020-07-17 22:32:01,961 INFO L280 TraceCheckUtils]: 10: Hoare triple {598#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {598#true} is VALID [2020-07-17 22:32:01,962 INFO L280 TraceCheckUtils]: 11: Hoare triple {598#true} assume #t~short7; {603#|main_#t~short7|} is VALID [2020-07-17 22:32:01,964 INFO L280 TraceCheckUtils]: 12: Hoare triple {603#|main_#t~short7|} assume !#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {599#false} is VALID [2020-07-17 22:32:01,965 INFO L280 TraceCheckUtils]: 13: Hoare triple {599#false} assume !false; {599#false} is VALID [2020-07-17 22:32:01,966 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-17 22:32:01,966 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1498746249] [2020-07-17 22:32:01,967 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:01,967 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:01,967 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1905676860] [2020-07-17 22:32:01,969 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2020-07-17 22:32:01,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:01,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:01,985 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-17 22:32:01,985 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:01,985 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:01,986 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:01,986 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:01,986 INFO L87 Difference]: Start difference. First operand 82 states and 92 transitions. Second operand 4 states. [2020-07-17 22:32:02,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:02,342 INFO L93 Difference]: Finished difference Result 85 states and 95 transitions. [2020-07-17 22:32:02,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:02,343 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2020-07-17 22:32:02,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:02,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:02,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2020-07-17 22:32:02,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:02,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2020-07-17 22:32:02,348 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 95 transitions. [2020-07-17 22:32:02,459 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:02,462 INFO L225 Difference]: With dead ends: 85 [2020-07-17 22:32:02,463 INFO L226 Difference]: Without dead ends: 83 [2020-07-17 22:32:02,464 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:02,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2020-07-17 22:32:02,479 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2020-07-17 22:32:02,479 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:02,480 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 83 states. [2020-07-17 22:32:02,480 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 83 states. [2020-07-17 22:32:02,480 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 83 states. [2020-07-17 22:32:02,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:02,484 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2020-07-17 22:32:02,484 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 93 transitions. [2020-07-17 22:32:02,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:02,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:02,486 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 83 states. [2020-07-17 22:32:02,486 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 83 states. [2020-07-17 22:32:02,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:02,490 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2020-07-17 22:32:02,490 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 93 transitions. [2020-07-17 22:32:02,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:02,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:02,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:02,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:02,492 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2020-07-17 22:32:02,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 93 transitions. [2020-07-17 22:32:02,496 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 93 transitions. Word has length 14 [2020-07-17 22:32:02,496 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:02,496 INFO L479 AbstractCegarLoop]: Abstraction has 83 states and 93 transitions. [2020-07-17 22:32:02,496 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:02,496 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 93 transitions. [2020-07-17 22:32:02,497 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-17 22:32:02,497 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:02,497 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:02,498 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-17 22:32:02,498 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:02,498 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:02,498 INFO L82 PathProgramCache]: Analyzing trace with hash -648205218, now seen corresponding path program 1 times [2020-07-17 22:32:02,499 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:02,499 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1394636201] [2020-07-17 22:32:02,499 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:02,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:02,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:02,591 INFO L280 TraceCheckUtils]: 0: Hoare triple {968#(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; {961#true} is VALID [2020-07-17 22:32:02,591 INFO L280 TraceCheckUtils]: 1: Hoare triple {961#true} assume true; {961#true} is VALID [2020-07-17 22:32:02,591 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {961#true} {961#true} #337#return; {961#true} is VALID [2020-07-17 22:32:02,592 INFO L263 TraceCheckUtils]: 0: Hoare triple {961#true} call ULTIMATE.init(); {968#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:02,593 INFO L280 TraceCheckUtils]: 1: Hoare triple {968#(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; {961#true} is VALID [2020-07-17 22:32:02,593 INFO L280 TraceCheckUtils]: 2: Hoare triple {961#true} assume true; {961#true} is VALID [2020-07-17 22:32:02,593 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {961#true} {961#true} #337#return; {961#true} is VALID [2020-07-17 22:32:02,594 INFO L263 TraceCheckUtils]: 4: Hoare triple {961#true} call #t~ret28 := main(); {961#true} is VALID [2020-07-17 22:32:02,594 INFO L280 TraceCheckUtils]: 5: Hoare triple {961#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {961#true} is VALID [2020-07-17 22:32:02,594 INFO L280 TraceCheckUtils]: 6: Hoare triple {961#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {961#true} is VALID [2020-07-17 22:32:02,595 INFO L280 TraceCheckUtils]: 7: Hoare triple {961#true} goto; {961#true} is VALID [2020-07-17 22:32:02,595 INFO L280 TraceCheckUtils]: 8: Hoare triple {961#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {961#true} is VALID [2020-07-17 22:32:02,596 INFO L280 TraceCheckUtils]: 9: Hoare triple {961#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:02,597 INFO L280 TraceCheckUtils]: 10: Hoare triple {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:02,598 INFO L280 TraceCheckUtils]: 11: Hoare triple {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {967#|main_#t~short7|} is VALID [2020-07-17 22:32:02,599 INFO L280 TraceCheckUtils]: 12: Hoare triple {967#|main_#t~short7|} assume !#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {962#false} is VALID [2020-07-17 22:32:02,599 INFO L280 TraceCheckUtils]: 13: Hoare triple {962#false} assume !false; {962#false} is VALID [2020-07-17 22:32:02,600 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-17 22:32:02,601 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1394636201] [2020-07-17 22:32:02,601 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:02,601 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:32:02,601 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1883590382] [2020-07-17 22:32:02,602 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-17 22:32:02,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:02,602 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:32:02,619 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-17 22:32:02,619 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:32:02,619 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:02,620 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:32:02,620 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:02,620 INFO L87 Difference]: Start difference. First operand 83 states and 93 transitions. Second operand 5 states. [2020-07-17 22:32:03,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:03,279 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2020-07-17 22:32:03,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-17 22:32:03,279 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-17 22:32:03,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:03,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:03,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 156 transitions. [2020-07-17 22:32:03,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:03,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 156 transitions. [2020-07-17 22:32:03,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 156 transitions. [2020-07-17 22:32:03,484 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-17 22:32:03,488 INFO L225 Difference]: With dead ends: 140 [2020-07-17 22:32:03,488 INFO L226 Difference]: Without dead ends: 138 [2020-07-17 22:32:03,489 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-17 22:32:03,490 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2020-07-17 22:32:03,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 85. [2020-07-17 22:32:03,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:03,510 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 85 states. [2020-07-17 22:32:03,510 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 85 states. [2020-07-17 22:32:03,510 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 85 states. [2020-07-17 22:32:03,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:03,516 INFO L93 Difference]: Finished difference Result 138 states and 155 transitions. [2020-07-17 22:32:03,517 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 155 transitions. [2020-07-17 22:32:03,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:03,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:03,519 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 138 states. [2020-07-17 22:32:03,519 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 138 states. [2020-07-17 22:32:03,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:03,525 INFO L93 Difference]: Finished difference Result 138 states and 155 transitions. [2020-07-17 22:32:03,525 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 155 transitions. [2020-07-17 22:32:03,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:03,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:03,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:03,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:03,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2020-07-17 22:32:03,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 96 transitions. [2020-07-17 22:32:03,530 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 96 transitions. Word has length 14 [2020-07-17 22:32:03,530 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:03,530 INFO L479 AbstractCegarLoop]: Abstraction has 85 states and 96 transitions. [2020-07-17 22:32:03,531 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:32:03,531 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 96 transitions. [2020-07-17 22:32:03,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-17 22:32:03,531 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:03,532 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:03,532 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-17 22:32:03,532 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:03,533 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:03,533 INFO L82 PathProgramCache]: Analyzing trace with hash -646358176, now seen corresponding path program 1 times [2020-07-17 22:32:03,533 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:03,533 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1751741918] [2020-07-17 22:32:03,533 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:03,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:03,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:03,625 INFO L280 TraceCheckUtils]: 0: Hoare triple {1505#(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; {1498#true} is VALID [2020-07-17 22:32:03,625 INFO L280 TraceCheckUtils]: 1: Hoare triple {1498#true} assume true; {1498#true} is VALID [2020-07-17 22:32:03,625 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1498#true} {1498#true} #337#return; {1498#true} is VALID [2020-07-17 22:32:03,627 INFO L263 TraceCheckUtils]: 0: Hoare triple {1498#true} call ULTIMATE.init(); {1505#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:03,627 INFO L280 TraceCheckUtils]: 1: Hoare triple {1505#(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; {1498#true} is VALID [2020-07-17 22:32:03,628 INFO L280 TraceCheckUtils]: 2: Hoare triple {1498#true} assume true; {1498#true} is VALID [2020-07-17 22:32:03,628 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1498#true} {1498#true} #337#return; {1498#true} is VALID [2020-07-17 22:32:03,629 INFO L263 TraceCheckUtils]: 4: Hoare triple {1498#true} call #t~ret28 := main(); {1498#true} is VALID [2020-07-17 22:32:03,629 INFO L280 TraceCheckUtils]: 5: Hoare triple {1498#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {1498#true} is VALID [2020-07-17 22:32:03,630 INFO L280 TraceCheckUtils]: 6: Hoare triple {1498#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {1498#true} is VALID [2020-07-17 22:32:03,630 INFO L280 TraceCheckUtils]: 7: Hoare triple {1498#true} goto; {1498#true} is VALID [2020-07-17 22:32:03,630 INFO L280 TraceCheckUtils]: 8: Hoare triple {1498#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {1498#true} is VALID [2020-07-17 22:32:03,631 INFO L280 TraceCheckUtils]: 9: Hoare triple {1498#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {1498#true} is VALID [2020-07-17 22:32:03,632 INFO L280 TraceCheckUtils]: 10: Hoare triple {1498#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {1503#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:03,633 INFO L280 TraceCheckUtils]: 11: Hoare triple {1503#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {1504#|main_#t~short7|} is VALID [2020-07-17 22:32:03,633 INFO L280 TraceCheckUtils]: 12: Hoare triple {1504#|main_#t~short7|} assume !#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {1499#false} is VALID [2020-07-17 22:32:03,634 INFO L280 TraceCheckUtils]: 13: Hoare triple {1499#false} assume !false; {1499#false} is VALID [2020-07-17 22:32:03,634 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-17 22:32:03,635 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1751741918] [2020-07-17 22:32:03,635 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:03,635 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:32:03,635 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [228754279] [2020-07-17 22:32:03,636 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-17 22:32:03,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:03,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:32:03,654 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-17 22:32:03,654 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:32:03,655 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:03,655 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:32:03,655 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:03,655 INFO L87 Difference]: Start difference. First operand 85 states and 96 transitions. Second operand 5 states. [2020-07-17 22:32:04,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:04,097 INFO L93 Difference]: Finished difference Result 85 states and 96 transitions. [2020-07-17 22:32:04,097 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-17 22:32:04,098 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-17 22:32:04,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:04,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:04,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2020-07-17 22:32:04,101 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:04,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2020-07-17 22:32:04,106 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 93 transitions. [2020-07-17 22:32:04,197 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:04,198 INFO L225 Difference]: With dead ends: 85 [2020-07-17 22:32:04,199 INFO L226 Difference]: Without dead ends: 83 [2020-07-17 22:32:04,199 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:04,200 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2020-07-17 22:32:04,228 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 80. [2020-07-17 22:32:04,228 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:04,229 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 80 states. [2020-07-17 22:32:04,229 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 80 states. [2020-07-17 22:32:04,229 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 80 states. [2020-07-17 22:32:04,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:04,233 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2020-07-17 22:32:04,233 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 94 transitions. [2020-07-17 22:32:04,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:04,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:04,234 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 83 states. [2020-07-17 22:32:04,234 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 83 states. [2020-07-17 22:32:04,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:04,239 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2020-07-17 22:32:04,239 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 94 transitions. [2020-07-17 22:32:04,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:04,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:04,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:04,239 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:04,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2020-07-17 22:32:04,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 90 transitions. [2020-07-17 22:32:04,243 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 90 transitions. Word has length 14 [2020-07-17 22:32:04,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:04,243 INFO L479 AbstractCegarLoop]: Abstraction has 80 states and 90 transitions. [2020-07-17 22:32:04,243 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:32:04,244 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 90 transitions. [2020-07-17 22:32:04,244 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2020-07-17 22:32:04,244 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:04,244 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:04,244 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-17 22:32:04,245 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:04,245 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:04,245 INFO L82 PathProgramCache]: Analyzing trace with hash 1093009051, now seen corresponding path program 1 times [2020-07-17 22:32:04,245 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:04,246 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [531260652] [2020-07-17 22:32:04,246 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:04,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:04,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:04,348 INFO L280 TraceCheckUtils]: 0: Hoare triple {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1859#true} is VALID [2020-07-17 22:32:04,349 INFO L280 TraceCheckUtils]: 1: Hoare triple {1859#true} assume true; {1859#true} is VALID [2020-07-17 22:32:04,349 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1859#true} {1859#true} #337#return; {1859#true} is VALID [2020-07-17 22:32:04,350 INFO L263 TraceCheckUtils]: 0: Hoare triple {1859#true} call ULTIMATE.init(); {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:04,350 INFO L280 TraceCheckUtils]: 1: Hoare triple {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1859#true} is VALID [2020-07-17 22:32:04,351 INFO L280 TraceCheckUtils]: 2: Hoare triple {1859#true} assume true; {1859#true} is VALID [2020-07-17 22:32:04,351 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1859#true} {1859#true} #337#return; {1859#true} is VALID [2020-07-17 22:32:04,351 INFO L263 TraceCheckUtils]: 4: Hoare triple {1859#true} call #t~ret28 := main(); {1859#true} is VALID [2020-07-17 22:32:04,352 INFO L280 TraceCheckUtils]: 5: Hoare triple {1859#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {1859#true} is VALID [2020-07-17 22:32:04,352 INFO L280 TraceCheckUtils]: 6: Hoare triple {1859#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {1859#true} is VALID [2020-07-17 22:32:04,352 INFO L280 TraceCheckUtils]: 7: Hoare triple {1859#true} goto; {1859#true} is VALID [2020-07-17 22:32:04,353 INFO L280 TraceCheckUtils]: 8: Hoare triple {1859#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {1859#true} is VALID [2020-07-17 22:32:04,353 INFO L280 TraceCheckUtils]: 9: Hoare triple {1859#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {1859#true} is VALID [2020-07-17 22:32:04,353 INFO L280 TraceCheckUtils]: 10: Hoare triple {1859#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {1859#true} is VALID [2020-07-17 22:32:04,353 INFO L280 TraceCheckUtils]: 11: Hoare triple {1859#true} assume #t~short7; {1859#true} is VALID [2020-07-17 22:32:04,354 INFO L280 TraceCheckUtils]: 12: Hoare triple {1859#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {1859#true} is VALID [2020-07-17 22:32:04,354 INFO L280 TraceCheckUtils]: 13: Hoare triple {1859#true} goto; {1859#true} is VALID [2020-07-17 22:32:04,354 INFO L280 TraceCheckUtils]: 14: Hoare triple {1859#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1859#true} is VALID [2020-07-17 22:32:04,355 INFO L280 TraceCheckUtils]: 15: Hoare triple {1859#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {1859#true} is VALID [2020-07-17 22:32:04,356 INFO L280 TraceCheckUtils]: 16: Hoare triple {1859#true} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {1864#(not (= 0 main_~end~0.base))} is VALID [2020-07-17 22:32:04,357 INFO L280 TraceCheckUtils]: 17: Hoare triple {1864#(not (= 0 main_~end~0.base))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {1860#false} is VALID [2020-07-17 22:32:04,358 INFO L280 TraceCheckUtils]: 18: Hoare triple {1860#false} assume !false; {1860#false} is VALID [2020-07-17 22:32:04,359 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-17 22:32:04,359 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [531260652] [2020-07-17 22:32:04,359 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:04,359 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:04,360 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283505730] [2020-07-17 22:32:04,360 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 19 [2020-07-17 22:32:04,360 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:04,361 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:04,381 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:04,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:04,382 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:04,382 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:04,382 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:04,383 INFO L87 Difference]: Start difference. First operand 80 states and 90 transitions. Second operand 4 states. [2020-07-17 22:32:04,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:04,767 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2020-07-17 22:32:04,767 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:04,767 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 19 [2020-07-17 22:32:04,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:04,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:04,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2020-07-17 22:32:04,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:04,772 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2020-07-17 22:32:04,772 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 94 transitions. [2020-07-17 22:32:04,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:04,872 INFO L225 Difference]: With dead ends: 83 [2020-07-17 22:32:04,872 INFO L226 Difference]: Without dead ends: 79 [2020-07-17 22:32:04,873 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:04,874 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2020-07-17 22:32:04,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2020-07-17 22:32:04,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:04,901 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand 76 states. [2020-07-17 22:32:04,901 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 76 states. [2020-07-17 22:32:04,901 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 76 states. [2020-07-17 22:32:04,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:04,904 INFO L93 Difference]: Finished difference Result 79 states and 90 transitions. [2020-07-17 22:32:04,904 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 90 transitions. [2020-07-17 22:32:04,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:04,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:04,904 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 79 states. [2020-07-17 22:32:04,904 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 79 states. [2020-07-17 22:32:04,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:04,907 INFO L93 Difference]: Finished difference Result 79 states and 90 transitions. [2020-07-17 22:32:04,907 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 90 transitions. [2020-07-17 22:32:04,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:04,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:04,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:04,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:04,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-17 22:32:04,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 86 transitions. [2020-07-17 22:32:04,911 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 86 transitions. Word has length 19 [2020-07-17 22:32:04,911 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:04,911 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 86 transitions. [2020-07-17 22:32:04,911 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:04,911 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 86 transitions. [2020-07-17 22:32:04,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-17 22:32:04,912 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:04,912 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:04,912 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-17 22:32:04,912 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:04,912 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:04,913 INFO L82 PathProgramCache]: Analyzing trace with hash -476453587, now seen corresponding path program 1 times [2020-07-17 22:32:04,913 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:04,913 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [90392640] [2020-07-17 22:32:04,913 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:04,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:04,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:04,976 INFO L280 TraceCheckUtils]: 0: Hoare triple {2213#(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; {2206#true} is VALID [2020-07-17 22:32:04,977 INFO L280 TraceCheckUtils]: 1: Hoare triple {2206#true} assume true; {2206#true} is VALID [2020-07-17 22:32:04,977 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2206#true} {2206#true} #337#return; {2206#true} is VALID [2020-07-17 22:32:04,978 INFO L263 TraceCheckUtils]: 0: Hoare triple {2206#true} call ULTIMATE.init(); {2213#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:04,978 INFO L280 TraceCheckUtils]: 1: Hoare triple {2213#(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; {2206#true} is VALID [2020-07-17 22:32:04,979 INFO L280 TraceCheckUtils]: 2: Hoare triple {2206#true} assume true; {2206#true} is VALID [2020-07-17 22:32:04,979 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2206#true} {2206#true} #337#return; {2206#true} is VALID [2020-07-17 22:32:04,979 INFO L263 TraceCheckUtils]: 4: Hoare triple {2206#true} call #t~ret28 := main(); {2206#true} is VALID [2020-07-17 22:32:04,980 INFO L280 TraceCheckUtils]: 5: Hoare triple {2206#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,981 INFO L280 TraceCheckUtils]: 6: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,982 INFO L280 TraceCheckUtils]: 7: Hoare triple {2211#(not (= 0 main_~list~0.base))} goto; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,982 INFO L280 TraceCheckUtils]: 8: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,983 INFO L280 TraceCheckUtils]: 9: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,983 INFO L280 TraceCheckUtils]: 10: Hoare triple {2211#(not (= 0 main_~list~0.base))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,984 INFO L280 TraceCheckUtils]: 11: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume #t~short7; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,984 INFO L280 TraceCheckUtils]: 12: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,985 INFO L280 TraceCheckUtils]: 13: Hoare triple {2211#(not (= 0 main_~list~0.base))} goto; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,986 INFO L280 TraceCheckUtils]: 14: Hoare triple {2211#(not (= 0 main_~list~0.base))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,987 INFO L280 TraceCheckUtils]: 15: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,988 INFO L280 TraceCheckUtils]: 16: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume !(0 != #t~nondet8);havoc #t~nondet8; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:04,993 INFO L280 TraceCheckUtils]: 17: Hoare triple {2211#(not (= 0 main_~list~0.base))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2212#(not (= 0 main_~end~0.base))} is VALID [2020-07-17 22:32:04,994 INFO L280 TraceCheckUtils]: 18: Hoare triple {2212#(not (= 0 main_~end~0.base))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {2207#false} is VALID [2020-07-17 22:32:04,994 INFO L280 TraceCheckUtils]: 19: Hoare triple {2207#false} assume !false; {2207#false} is VALID [2020-07-17 22:32:04,995 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-17 22:32:04,995 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [90392640] [2020-07-17 22:32:04,995 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:04,995 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:32:04,996 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2096246670] [2020-07-17 22:32:04,996 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 20 [2020-07-17 22:32:04,996 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:04,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:32:05,015 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:05,016 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:32:05,016 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:05,016 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:32:05,016 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:05,017 INFO L87 Difference]: Start difference. First operand 76 states and 86 transitions. Second operand 5 states. [2020-07-17 22:32:05,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:05,453 INFO L93 Difference]: Finished difference Result 136 states and 152 transitions. [2020-07-17 22:32:05,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-17 22:32:05,453 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 20 [2020-07-17 22:32:05,454 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:05,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:05,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 152 transitions. [2020-07-17 22:32:05,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:05,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 152 transitions. [2020-07-17 22:32:05,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 152 transitions. [2020-07-17 22:32:05,620 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:05,623 INFO L225 Difference]: With dead ends: 136 [2020-07-17 22:32:05,623 INFO L226 Difference]: Without dead ends: 116 [2020-07-17 22:32:05,624 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-17 22:32:05,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2020-07-17 22:32:05,650 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 75. [2020-07-17 22:32:05,651 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:05,651 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 75 states. [2020-07-17 22:32:05,651 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 75 states. [2020-07-17 22:32:05,651 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 75 states. [2020-07-17 22:32:05,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:05,655 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2020-07-17 22:32:05,655 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 130 transitions. [2020-07-17 22:32:05,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:05,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:05,656 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 116 states. [2020-07-17 22:32:05,656 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 116 states. [2020-07-17 22:32:05,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:05,660 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2020-07-17 22:32:05,660 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 130 transitions. [2020-07-17 22:32:05,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:05,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:05,660 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:05,661 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:05,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2020-07-17 22:32:05,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 85 transitions. [2020-07-17 22:32:05,663 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 85 transitions. Word has length 20 [2020-07-17 22:32:05,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:05,664 INFO L479 AbstractCegarLoop]: Abstraction has 75 states and 85 transitions. [2020-07-17 22:32:05,664 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:32:05,664 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 85 transitions. [2020-07-17 22:32:05,664 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2020-07-17 22:32:05,664 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:05,665 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:05,665 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-17 22:32:05,665 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:05,665 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:05,665 INFO L82 PathProgramCache]: Analyzing trace with hash 337242584, now seen corresponding path program 1 times [2020-07-17 22:32:05,666 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:05,666 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1549875690] [2020-07-17 22:32:05,666 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:05,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:05,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:05,730 INFO L280 TraceCheckUtils]: 0: Hoare triple {2690#(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; {2684#true} is VALID [2020-07-17 22:32:05,730 INFO L280 TraceCheckUtils]: 1: Hoare triple {2684#true} assume true; {2684#true} is VALID [2020-07-17 22:32:05,730 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2684#true} {2684#true} #337#return; {2684#true} is VALID [2020-07-17 22:32:05,732 INFO L263 TraceCheckUtils]: 0: Hoare triple {2684#true} call ULTIMATE.init(); {2690#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:05,732 INFO L280 TraceCheckUtils]: 1: Hoare triple {2690#(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; {2684#true} is VALID [2020-07-17 22:32:05,732 INFO L280 TraceCheckUtils]: 2: Hoare triple {2684#true} assume true; {2684#true} is VALID [2020-07-17 22:32:05,733 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2684#true} {2684#true} #337#return; {2684#true} is VALID [2020-07-17 22:32:05,733 INFO L263 TraceCheckUtils]: 4: Hoare triple {2684#true} call #t~ret28 := main(); {2684#true} is VALID [2020-07-17 22:32:05,733 INFO L280 TraceCheckUtils]: 5: Hoare triple {2684#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {2684#true} is VALID [2020-07-17 22:32:05,733 INFO L280 TraceCheckUtils]: 6: Hoare triple {2684#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {2684#true} is VALID [2020-07-17 22:32:05,734 INFO L280 TraceCheckUtils]: 7: Hoare triple {2684#true} goto; {2684#true} is VALID [2020-07-17 22:32:05,734 INFO L280 TraceCheckUtils]: 8: Hoare triple {2684#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {2684#true} is VALID [2020-07-17 22:32:05,734 INFO L280 TraceCheckUtils]: 9: Hoare triple {2684#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {2684#true} is VALID [2020-07-17 22:32:05,734 INFO L280 TraceCheckUtils]: 10: Hoare triple {2684#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {2684#true} is VALID [2020-07-17 22:32:05,735 INFO L280 TraceCheckUtils]: 11: Hoare triple {2684#true} assume #t~short7; {2684#true} is VALID [2020-07-17 22:32:05,735 INFO L280 TraceCheckUtils]: 12: Hoare triple {2684#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {2684#true} is VALID [2020-07-17 22:32:05,735 INFO L280 TraceCheckUtils]: 13: Hoare triple {2684#true} goto; {2684#true} is VALID [2020-07-17 22:32:05,735 INFO L280 TraceCheckUtils]: 14: Hoare triple {2684#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2684#true} is VALID [2020-07-17 22:32:05,736 INFO L280 TraceCheckUtils]: 15: Hoare triple {2684#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {2684#true} is VALID [2020-07-17 22:32:05,736 INFO L280 TraceCheckUtils]: 16: Hoare triple {2684#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {2684#true} is VALID [2020-07-17 22:32:05,736 INFO L280 TraceCheckUtils]: 17: Hoare triple {2684#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2684#true} is VALID [2020-07-17 22:32:05,736 INFO L280 TraceCheckUtils]: 18: Hoare triple {2684#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {2684#true} is VALID [2020-07-17 22:32:05,737 INFO L280 TraceCheckUtils]: 19: Hoare triple {2684#true} goto; {2684#true} is VALID [2020-07-17 22:32:05,738 INFO L280 TraceCheckUtils]: 20: Hoare triple {2684#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {2689#(= 0 main_~len~0)} is VALID [2020-07-17 22:32:05,741 INFO L280 TraceCheckUtils]: 21: Hoare triple {2689#(= 0 main_~len~0)} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {2689#(= 0 main_~len~0)} is VALID [2020-07-17 22:32:05,742 INFO L280 TraceCheckUtils]: 22: Hoare triple {2689#(= 0 main_~len~0)} assume !(~len~0 <= 1); {2685#false} is VALID [2020-07-17 22:32:05,742 INFO L280 TraceCheckUtils]: 23: Hoare triple {2685#false} assume !false; {2685#false} is VALID [2020-07-17 22:32:05,743 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-17 22:32:05,743 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1549875690] [2020-07-17 22:32:05,743 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:05,744 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:05,744 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [596751334] [2020-07-17 22:32:05,744 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2020-07-17 22:32:05,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:05,745 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:05,770 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:05,771 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:05,771 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:05,771 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:05,771 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:05,772 INFO L87 Difference]: Start difference. First operand 75 states and 85 transitions. Second operand 4 states. [2020-07-17 22:32:06,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:06,101 INFO L93 Difference]: Finished difference Result 141 states and 161 transitions. [2020-07-17 22:32:06,101 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:06,101 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2020-07-17 22:32:06,101 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:06,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:06,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 160 transitions. [2020-07-17 22:32:06,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:06,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 160 transitions. [2020-07-17 22:32:06,108 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 160 transitions. [2020-07-17 22:32:06,269 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:06,271 INFO L225 Difference]: With dead ends: 141 [2020-07-17 22:32:06,271 INFO L226 Difference]: Without dead ends: 99 [2020-07-17 22:32:06,272 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:06,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2020-07-17 22:32:06,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 78. [2020-07-17 22:32:06,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:06,296 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 78 states. [2020-07-17 22:32:06,296 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 78 states. [2020-07-17 22:32:06,296 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 78 states. [2020-07-17 22:32:06,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:06,299 INFO L93 Difference]: Finished difference Result 99 states and 112 transitions. [2020-07-17 22:32:06,299 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 112 transitions. [2020-07-17 22:32:06,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:06,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:06,300 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 99 states. [2020-07-17 22:32:06,300 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 99 states. [2020-07-17 22:32:06,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:06,304 INFO L93 Difference]: Finished difference Result 99 states and 112 transitions. [2020-07-17 22:32:06,304 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 112 transitions. [2020-07-17 22:32:06,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:06,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:06,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:06,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:06,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2020-07-17 22:32:06,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 89 transitions. [2020-07-17 22:32:06,308 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 89 transitions. Word has length 24 [2020-07-17 22:32:06,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:06,308 INFO L479 AbstractCegarLoop]: Abstraction has 78 states and 89 transitions. [2020-07-17 22:32:06,308 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:06,308 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 89 transitions. [2020-07-17 22:32:06,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-17 22:32:06,309 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:06,309 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:06,309 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-17 22:32:06,310 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:06,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:06,310 INFO L82 PathProgramCache]: Analyzing trace with hash 1864575058, now seen corresponding path program 1 times [2020-07-17 22:32:06,310 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:06,311 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [255005129] [2020-07-17 22:32:06,311 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:06,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:06,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:06,362 INFO L280 TraceCheckUtils]: 0: Hoare triple {3141#(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; {3135#true} is VALID [2020-07-17 22:32:06,363 INFO L280 TraceCheckUtils]: 1: Hoare triple {3135#true} assume true; {3135#true} is VALID [2020-07-17 22:32:06,363 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3135#true} {3135#true} #337#return; {3135#true} is VALID [2020-07-17 22:32:06,364 INFO L263 TraceCheckUtils]: 0: Hoare triple {3135#true} call ULTIMATE.init(); {3141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:06,364 INFO L280 TraceCheckUtils]: 1: Hoare triple {3141#(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; {3135#true} is VALID [2020-07-17 22:32:06,365 INFO L280 TraceCheckUtils]: 2: Hoare triple {3135#true} assume true; {3135#true} is VALID [2020-07-17 22:32:06,365 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3135#true} {3135#true} #337#return; {3135#true} is VALID [2020-07-17 22:32:06,365 INFO L263 TraceCheckUtils]: 4: Hoare triple {3135#true} call #t~ret28 := main(); {3135#true} is VALID [2020-07-17 22:32:06,366 INFO L280 TraceCheckUtils]: 5: Hoare triple {3135#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {3135#true} is VALID [2020-07-17 22:32:06,366 INFO L280 TraceCheckUtils]: 6: Hoare triple {3135#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {3135#true} is VALID [2020-07-17 22:32:06,366 INFO L280 TraceCheckUtils]: 7: Hoare triple {3135#true} goto; {3135#true} is VALID [2020-07-17 22:32:06,366 INFO L280 TraceCheckUtils]: 8: Hoare triple {3135#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {3135#true} is VALID [2020-07-17 22:32:06,367 INFO L280 TraceCheckUtils]: 9: Hoare triple {3135#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {3135#true} is VALID [2020-07-17 22:32:06,367 INFO L280 TraceCheckUtils]: 10: Hoare triple {3135#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {3135#true} is VALID [2020-07-17 22:32:06,368 INFO L280 TraceCheckUtils]: 11: Hoare triple {3135#true} assume #t~short7; {3135#true} is VALID [2020-07-17 22:32:06,368 INFO L280 TraceCheckUtils]: 12: Hoare triple {3135#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {3135#true} is VALID [2020-07-17 22:32:06,368 INFO L280 TraceCheckUtils]: 13: Hoare triple {3135#true} goto; {3135#true} is VALID [2020-07-17 22:32:06,368 INFO L280 TraceCheckUtils]: 14: Hoare triple {3135#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3135#true} is VALID [2020-07-17 22:32:06,369 INFO L280 TraceCheckUtils]: 15: Hoare triple {3135#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {3135#true} is VALID [2020-07-17 22:32:06,369 INFO L280 TraceCheckUtils]: 16: Hoare triple {3135#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {3135#true} is VALID [2020-07-17 22:32:06,369 INFO L280 TraceCheckUtils]: 17: Hoare triple {3135#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3135#true} is VALID [2020-07-17 22:32:06,370 INFO L280 TraceCheckUtils]: 18: Hoare triple {3135#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {3135#true} is VALID [2020-07-17 22:32:06,370 INFO L280 TraceCheckUtils]: 19: Hoare triple {3135#true} goto; {3135#true} is VALID [2020-07-17 22:32:06,370 INFO L280 TraceCheckUtils]: 20: Hoare triple {3135#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {3135#true} is VALID [2020-07-17 22:32:06,371 INFO L280 TraceCheckUtils]: 21: Hoare triple {3135#true} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} is VALID [2020-07-17 22:32:06,372 INFO L280 TraceCheckUtils]: 22: Hoare triple {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} assume 0 == ~len~0;~len~0 := 1; {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} is VALID [2020-07-17 22:32:06,373 INFO L280 TraceCheckUtils]: 23: Hoare triple {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {3136#false} is VALID [2020-07-17 22:32:06,373 INFO L280 TraceCheckUtils]: 24: Hoare triple {3136#false} assume !false; {3136#false} is VALID [2020-07-17 22:32:06,375 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-17 22:32:06,375 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [255005129] [2020-07-17 22:32:06,375 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:06,376 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:06,376 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2091544067] [2020-07-17 22:32:06,376 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 25 [2020-07-17 22:32:06,377 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:06,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:06,403 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:06,403 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:06,404 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:06,404 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:06,404 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:06,404 INFO L87 Difference]: Start difference. First operand 78 states and 89 transitions. Second operand 4 states. [2020-07-17 22:32:06,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:06,708 INFO L93 Difference]: Finished difference Result 78 states and 89 transitions. [2020-07-17 22:32:06,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:06,709 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 25 [2020-07-17 22:32:06,709 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:06,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:06,711 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2020-07-17 22:32:06,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:06,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2020-07-17 22:32:06,713 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 84 transitions. [2020-07-17 22:32:06,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:06,797 INFO L225 Difference]: With dead ends: 78 [2020-07-17 22:32:06,798 INFO L226 Difference]: Without dead ends: 76 [2020-07-17 22:32:06,798 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:06,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2020-07-17 22:32:06,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2020-07-17 22:32:06,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:06,823 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 76 states. [2020-07-17 22:32:06,824 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 76 states. [2020-07-17 22:32:06,824 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 76 states. [2020-07-17 22:32:06,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:06,826 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2020-07-17 22:32:06,827 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-17 22:32:06,827 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:06,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:06,827 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 76 states. [2020-07-17 22:32:06,828 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 76 states. [2020-07-17 22:32:06,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:06,830 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2020-07-17 22:32:06,830 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-17 22:32:06,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:06,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:06,831 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:06,831 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:06,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-17 22:32:06,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2020-07-17 22:32:06,834 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 25 [2020-07-17 22:32:06,834 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:06,834 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2020-07-17 22:32:06,834 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:06,834 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-17 22:32:06,835 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-17 22:32:06,835 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:06,835 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:06,835 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-17 22:32:06,835 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:06,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:06,836 INFO L82 PathProgramCache]: Analyzing trace with hash -660297045, now seen corresponding path program 1 times [2020-07-17 22:32:06,836 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:06,836 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1130771955] [2020-07-17 22:32:06,836 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:06,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:06,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:06,893 INFO L280 TraceCheckUtils]: 0: Hoare triple {3479#(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; {3472#true} is VALID [2020-07-17 22:32:06,893 INFO L280 TraceCheckUtils]: 1: Hoare triple {3472#true} assume true; {3472#true} is VALID [2020-07-17 22:32:06,894 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3472#true} {3472#true} #337#return; {3472#true} is VALID [2020-07-17 22:32:06,895 INFO L263 TraceCheckUtils]: 0: Hoare triple {3472#true} call ULTIMATE.init(); {3479#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:06,895 INFO L280 TraceCheckUtils]: 1: Hoare triple {3479#(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; {3472#true} is VALID [2020-07-17 22:32:06,895 INFO L280 TraceCheckUtils]: 2: Hoare triple {3472#true} assume true; {3472#true} is VALID [2020-07-17 22:32:06,895 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3472#true} {3472#true} #337#return; {3472#true} is VALID [2020-07-17 22:32:06,896 INFO L263 TraceCheckUtils]: 4: Hoare triple {3472#true} call #t~ret28 := main(); {3472#true} is VALID [2020-07-17 22:32:06,896 INFO L280 TraceCheckUtils]: 5: Hoare triple {3472#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {3472#true} is VALID [2020-07-17 22:32:06,896 INFO L280 TraceCheckUtils]: 6: Hoare triple {3472#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {3472#true} is VALID [2020-07-17 22:32:06,896 INFO L280 TraceCheckUtils]: 7: Hoare triple {3472#true} goto; {3472#true} is VALID [2020-07-17 22:32:06,897 INFO L280 TraceCheckUtils]: 8: Hoare triple {3472#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {3472#true} is VALID [2020-07-17 22:32:06,898 INFO L280 TraceCheckUtils]: 9: Hoare triple {3472#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {3477#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:06,899 INFO L280 TraceCheckUtils]: 10: Hoare triple {3477#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {3478#(not |main_#t~short7|)} is VALID [2020-07-17 22:32:06,899 INFO L280 TraceCheckUtils]: 11: Hoare triple {3478#(not |main_#t~short7|)} assume #t~short7; {3473#false} is VALID [2020-07-17 22:32:06,900 INFO L280 TraceCheckUtils]: 12: Hoare triple {3473#false} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {3473#false} is VALID [2020-07-17 22:32:06,900 INFO L280 TraceCheckUtils]: 13: Hoare triple {3473#false} goto; {3473#false} is VALID [2020-07-17 22:32:06,900 INFO L280 TraceCheckUtils]: 14: Hoare triple {3473#false} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3473#false} is VALID [2020-07-17 22:32:06,900 INFO L280 TraceCheckUtils]: 15: Hoare triple {3473#false} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {3473#false} is VALID [2020-07-17 22:32:06,901 INFO L280 TraceCheckUtils]: 16: Hoare triple {3473#false} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {3473#false} is VALID [2020-07-17 22:32:06,901 INFO L280 TraceCheckUtils]: 17: Hoare triple {3473#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {3473#false} is VALID [2020-07-17 22:32:06,901 INFO L280 TraceCheckUtils]: 18: Hoare triple {3473#false} goto; {3473#false} is VALID [2020-07-17 22:32:06,901 INFO L280 TraceCheckUtils]: 19: Hoare triple {3473#false} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {3473#false} is VALID [2020-07-17 22:32:06,902 INFO L280 TraceCheckUtils]: 20: Hoare triple {3473#false} goto; {3473#false} is VALID [2020-07-17 22:32:06,902 INFO L280 TraceCheckUtils]: 21: Hoare triple {3473#false} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {3473#false} is VALID [2020-07-17 22:32:06,902 INFO L280 TraceCheckUtils]: 22: Hoare triple {3473#false} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {3473#false} is VALID [2020-07-17 22:32:06,902 INFO L280 TraceCheckUtils]: 23: Hoare triple {3473#false} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {3473#false} is VALID [2020-07-17 22:32:06,903 INFO L280 TraceCheckUtils]: 24: Hoare triple {3473#false} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {3473#false} is VALID [2020-07-17 22:32:06,903 INFO L280 TraceCheckUtils]: 25: Hoare triple {3473#false} assume !#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {3473#false} is VALID [2020-07-17 22:32:06,903 INFO L280 TraceCheckUtils]: 26: Hoare triple {3473#false} assume !false; {3473#false} is VALID [2020-07-17 22:32:06,904 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-17 22:32:06,905 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1130771955] [2020-07-17 22:32:06,905 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:06,905 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:32:06,905 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097866383] [2020-07-17 22:32:06,906 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-17 22:32:06,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:06,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:32:06,941 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:06,941 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:32:06,941 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:06,942 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:32:06,942 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:06,942 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand 5 states. [2020-07-17 22:32:07,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:07,485 INFO L93 Difference]: Finished difference Result 194 states and 222 transitions. [2020-07-17 22:32:07,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-17 22:32:07,486 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-17 22:32:07,486 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:07,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:07,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 207 transitions. [2020-07-17 22:32:07,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:07,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 207 transitions. [2020-07-17 22:32:07,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 207 transitions. [2020-07-17 22:32:07,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:07,724 INFO L225 Difference]: With dead ends: 194 [2020-07-17 22:32:07,724 INFO L226 Difference]: Without dead ends: 130 [2020-07-17 22:32:07,725 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-17 22:32:07,726 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2020-07-17 22:32:07,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 78. [2020-07-17 22:32:07,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:07,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 78 states. [2020-07-17 22:32:07,755 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 78 states. [2020-07-17 22:32:07,755 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 78 states. [2020-07-17 22:32:07,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:07,760 INFO L93 Difference]: Finished difference Result 130 states and 148 transitions. [2020-07-17 22:32:07,760 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 148 transitions. [2020-07-17 22:32:07,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:07,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:07,760 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 130 states. [2020-07-17 22:32:07,761 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 130 states. [2020-07-17 22:32:07,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:07,764 INFO L93 Difference]: Finished difference Result 130 states and 148 transitions. [2020-07-17 22:32:07,764 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 148 transitions. [2020-07-17 22:32:07,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:07,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:07,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:07,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:07,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2020-07-17 22:32:07,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 89 transitions. [2020-07-17 22:32:07,767 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 89 transitions. Word has length 27 [2020-07-17 22:32:07,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:07,767 INFO L479 AbstractCegarLoop]: Abstraction has 78 states and 89 transitions. [2020-07-17 22:32:07,767 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:32:07,767 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 89 transitions. [2020-07-17 22:32:07,768 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-17 22:32:07,768 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:07,768 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:07,768 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-17 22:32:07,769 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:07,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:07,769 INFO L82 PathProgramCache]: Analyzing trace with hash -1681365399, now seen corresponding path program 1 times [2020-07-17 22:32:07,769 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:07,769 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1054099285] [2020-07-17 22:32:07,770 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:07,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:07,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:07,854 INFO L280 TraceCheckUtils]: 0: Hoare triple {4056#(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; {4049#true} is VALID [2020-07-17 22:32:07,855 INFO L280 TraceCheckUtils]: 1: Hoare triple {4049#true} assume true; {4049#true} is VALID [2020-07-17 22:32:07,855 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4049#true} {4049#true} #337#return; {4049#true} is VALID [2020-07-17 22:32:07,857 INFO L263 TraceCheckUtils]: 0: Hoare triple {4049#true} call ULTIMATE.init(); {4056#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:07,857 INFO L280 TraceCheckUtils]: 1: Hoare triple {4056#(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; {4049#true} is VALID [2020-07-17 22:32:07,857 INFO L280 TraceCheckUtils]: 2: Hoare triple {4049#true} assume true; {4049#true} is VALID [2020-07-17 22:32:07,857 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4049#true} {4049#true} #337#return; {4049#true} is VALID [2020-07-17 22:32:07,858 INFO L263 TraceCheckUtils]: 4: Hoare triple {4049#true} call #t~ret28 := main(); {4049#true} is VALID [2020-07-17 22:32:07,858 INFO L280 TraceCheckUtils]: 5: Hoare triple {4049#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {4049#true} is VALID [2020-07-17 22:32:07,858 INFO L280 TraceCheckUtils]: 6: Hoare triple {4049#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {4049#true} is VALID [2020-07-17 22:32:07,858 INFO L280 TraceCheckUtils]: 7: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-17 22:32:07,859 INFO L280 TraceCheckUtils]: 8: Hoare triple {4049#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {4049#true} is VALID [2020-07-17 22:32:07,859 INFO L280 TraceCheckUtils]: 9: Hoare triple {4049#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {4049#true} is VALID [2020-07-17 22:32:07,859 INFO L280 TraceCheckUtils]: 10: Hoare triple {4049#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {4049#true} is VALID [2020-07-17 22:32:07,859 INFO L280 TraceCheckUtils]: 11: Hoare triple {4049#true} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {4049#true} is VALID [2020-07-17 22:32:07,859 INFO L280 TraceCheckUtils]: 12: Hoare triple {4049#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {4049#true} is VALID [2020-07-17 22:32:07,860 INFO L280 TraceCheckUtils]: 13: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-17 22:32:07,860 INFO L280 TraceCheckUtils]: 14: Hoare triple {4049#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4049#true} is VALID [2020-07-17 22:32:07,860 INFO L280 TraceCheckUtils]: 15: Hoare triple {4049#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {4049#true} is VALID [2020-07-17 22:32:07,860 INFO L280 TraceCheckUtils]: 16: Hoare triple {4049#true} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {4049#true} is VALID [2020-07-17 22:32:07,861 INFO L280 TraceCheckUtils]: 17: Hoare triple {4049#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {4049#true} is VALID [2020-07-17 22:32:07,861 INFO L280 TraceCheckUtils]: 18: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-17 22:32:07,861 INFO L280 TraceCheckUtils]: 19: Hoare triple {4049#true} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {4049#true} is VALID [2020-07-17 22:32:07,861 INFO L280 TraceCheckUtils]: 20: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-17 22:32:07,861 INFO L280 TraceCheckUtils]: 21: Hoare triple {4049#true} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {4049#true} is VALID [2020-07-17 22:32:07,862 INFO L280 TraceCheckUtils]: 22: Hoare triple {4049#true} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {4049#true} is VALID [2020-07-17 22:32:07,866 INFO L280 TraceCheckUtils]: 23: Hoare triple {4049#true} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {4054#(or (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))) |main_#t~short17|)} is VALID [2020-07-17 22:32:07,867 INFO L280 TraceCheckUtils]: 24: Hoare triple {4054#(or (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))) |main_#t~short17|)} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {4055#|main_#t~short17|} is VALID [2020-07-17 22:32:07,869 INFO L280 TraceCheckUtils]: 25: Hoare triple {4055#|main_#t~short17|} assume !#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {4050#false} is VALID [2020-07-17 22:32:07,870 INFO L280 TraceCheckUtils]: 26: Hoare triple {4050#false} assume !false; {4050#false} is VALID [2020-07-17 22:32:07,871 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-17 22:32:07,871 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1054099285] [2020-07-17 22:32:07,872 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:07,872 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:32:07,872 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1895188549] [2020-07-17 22:32:07,873 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-17 22:32:07,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:07,873 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:32:07,904 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:07,904 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:32:07,904 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:07,905 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:32:07,905 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:07,905 INFO L87 Difference]: Start difference. First operand 78 states and 89 transitions. Second operand 5 states. [2020-07-17 22:32:08,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:08,271 INFO L93 Difference]: Finished difference Result 79 states and 90 transitions. [2020-07-17 22:32:08,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-17 22:32:08,271 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-17 22:32:08,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:08,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:08,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2020-07-17 22:32:08,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:08,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2020-07-17 22:32:08,275 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2020-07-17 22:32:08,361 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:08,363 INFO L225 Difference]: With dead ends: 79 [2020-07-17 22:32:08,363 INFO L226 Difference]: Without dead ends: 77 [2020-07-17 22:32:08,364 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:08,364 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2020-07-17 22:32:08,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 76. [2020-07-17 22:32:08,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:08,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 76 states. [2020-07-17 22:32:08,389 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 76 states. [2020-07-17 22:32:08,389 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 76 states. [2020-07-17 22:32:08,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:08,391 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2020-07-17 22:32:08,391 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2020-07-17 22:32:08,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:08,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:08,392 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 77 states. [2020-07-17 22:32:08,392 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 77 states. [2020-07-17 22:32:08,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:08,393 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2020-07-17 22:32:08,393 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2020-07-17 22:32:08,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:08,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:08,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:08,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:08,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-17 22:32:08,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2020-07-17 22:32:08,395 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 27 [2020-07-17 22:32:08,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:08,396 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2020-07-17 22:32:08,396 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:32:08,396 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-17 22:32:08,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:32:08,396 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:08,396 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:08,397 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-17 22:32:08,397 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:08,397 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:08,397 INFO L82 PathProgramCache]: Analyzing trace with hash -840739825, now seen corresponding path program 1 times [2020-07-17 22:32:08,397 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:08,398 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [910116119] [2020-07-17 22:32:08,398 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:08,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:08,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:08,492 INFO L280 TraceCheckUtils]: 0: Hoare triple {4398#(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; {4390#true} is VALID [2020-07-17 22:32:08,492 INFO L280 TraceCheckUtils]: 1: Hoare triple {4390#true} assume true; {4390#true} is VALID [2020-07-17 22:32:08,493 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4390#true} {4390#true} #337#return; {4390#true} is VALID [2020-07-17 22:32:08,494 INFO L263 TraceCheckUtils]: 0: Hoare triple {4390#true} call ULTIMATE.init(); {4398#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:08,494 INFO L280 TraceCheckUtils]: 1: Hoare triple {4398#(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; {4390#true} is VALID [2020-07-17 22:32:08,494 INFO L280 TraceCheckUtils]: 2: Hoare triple {4390#true} assume true; {4390#true} is VALID [2020-07-17 22:32:08,494 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4390#true} {4390#true} #337#return; {4390#true} is VALID [2020-07-17 22:32:08,495 INFO L263 TraceCheckUtils]: 4: Hoare triple {4390#true} call #t~ret28 := main(); {4390#true} is VALID [2020-07-17 22:32:08,495 INFO L280 TraceCheckUtils]: 5: Hoare triple {4390#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {4390#true} is VALID [2020-07-17 22:32:08,495 INFO L280 TraceCheckUtils]: 6: Hoare triple {4390#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {4390#true} is VALID [2020-07-17 22:32:08,495 INFO L280 TraceCheckUtils]: 7: Hoare triple {4390#true} goto; {4390#true} is VALID [2020-07-17 22:32:08,495 INFO L280 TraceCheckUtils]: 8: Hoare triple {4390#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {4390#true} is VALID [2020-07-17 22:32:08,497 INFO L280 TraceCheckUtils]: 9: Hoare triple {4390#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,498 INFO L280 TraceCheckUtils]: 10: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,499 INFO L280 TraceCheckUtils]: 11: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,499 INFO L280 TraceCheckUtils]: 12: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,500 INFO L280 TraceCheckUtils]: 13: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,501 INFO L280 TraceCheckUtils]: 14: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,501 INFO L280 TraceCheckUtils]: 15: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,502 INFO L280 TraceCheckUtils]: 16: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:08,503 INFO L280 TraceCheckUtils]: 17: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:08,504 INFO L280 TraceCheckUtils]: 18: Hoare triple {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:08,504 INFO L280 TraceCheckUtils]: 19: Hoare triple {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} goto; {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:08,505 INFO L280 TraceCheckUtils]: 20: Hoare triple {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {4397#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} is VALID [2020-07-17 22:32:08,506 INFO L280 TraceCheckUtils]: 21: Hoare triple {4397#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4391#false} is VALID [2020-07-17 22:32:08,506 INFO L280 TraceCheckUtils]: 22: Hoare triple {4391#false} assume 0 == ~len~0;~len~0 := 1; {4391#false} is VALID [2020-07-17 22:32:08,507 INFO L280 TraceCheckUtils]: 23: Hoare triple {4391#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4391#false} is VALID [2020-07-17 22:32:08,507 INFO L280 TraceCheckUtils]: 24: Hoare triple {4391#false} goto; {4391#false} is VALID [2020-07-17 22:32:08,507 INFO L280 TraceCheckUtils]: 25: Hoare triple {4391#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {4391#false} is VALID [2020-07-17 22:32:08,507 INFO L280 TraceCheckUtils]: 26: Hoare triple {4391#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {4391#false} is VALID [2020-07-17 22:32:08,508 INFO L280 TraceCheckUtils]: 27: Hoare triple {4391#false} assume !false; {4391#false} is VALID [2020-07-17 22:32:08,510 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-17 22:32:08,511 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [910116119] [2020-07-17 22:32:08,511 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:08,511 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:32:08,511 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [381602197] [2020-07-17 22:32:08,512 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-17 22:32:08,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:08,512 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:32:08,549 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:08,549 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:32:08,550 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:08,550 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:32:08,550 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:32:08,551 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand 6 states. [2020-07-17 22:32:09,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:09,504 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2020-07-17 22:32:09,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:32:09,504 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-17 22:32:09,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:09,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:32:09,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 197 transitions. [2020-07-17 22:32:09,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:32:09,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 197 transitions. [2020-07-17 22:32:09,509 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 197 transitions. [2020-07-17 22:32:09,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:09,755 INFO L225 Difference]: With dead ends: 182 [2020-07-17 22:32:09,755 INFO L226 Difference]: Without dead ends: 139 [2020-07-17 22:32:09,756 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:32:09,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2020-07-17 22:32:09,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 86. [2020-07-17 22:32:09,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:09,798 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 86 states. [2020-07-17 22:32:09,798 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 86 states. [2020-07-17 22:32:09,798 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 86 states. [2020-07-17 22:32:09,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:09,801 INFO L93 Difference]: Finished difference Result 139 states and 159 transitions. [2020-07-17 22:32:09,801 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 159 transitions. [2020-07-17 22:32:09,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:09,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:09,802 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 139 states. [2020-07-17 22:32:09,802 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 139 states. [2020-07-17 22:32:09,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:09,805 INFO L93 Difference]: Finished difference Result 139 states and 159 transitions. [2020-07-17 22:32:09,805 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 159 transitions. [2020-07-17 22:32:09,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:09,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:09,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:09,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:09,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2020-07-17 22:32:09,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 98 transitions. [2020-07-17 22:32:09,808 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 98 transitions. Word has length 28 [2020-07-17 22:32:09,809 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:09,809 INFO L479 AbstractCegarLoop]: Abstraction has 86 states and 98 transitions. [2020-07-17 22:32:09,809 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:32:09,809 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 98 transitions. [2020-07-17 22:32:09,809 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-17 22:32:09,810 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:09,810 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:09,810 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-17 22:32:09,810 INFO L427 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:09,810 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:09,811 INFO L82 PathProgramCache]: Analyzing trace with hash -941335665, now seen corresponding path program 1 times [2020-07-17 22:32:09,811 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:09,811 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1199816880] [2020-07-17 22:32:09,811 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:09,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:10,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:10,036 INFO L280 TraceCheckUtils]: 0: Hoare triple {4998#(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; {4988#true} is VALID [2020-07-17 22:32:10,037 INFO L280 TraceCheckUtils]: 1: Hoare triple {4988#true} assume true; {4988#true} is VALID [2020-07-17 22:32:10,037 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4988#true} {4988#true} #337#return; {4988#true} is VALID [2020-07-17 22:32:10,038 INFO L263 TraceCheckUtils]: 0: Hoare triple {4988#true} call ULTIMATE.init(); {4998#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:10,038 INFO L280 TraceCheckUtils]: 1: Hoare triple {4998#(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; {4988#true} is VALID [2020-07-17 22:32:10,038 INFO L280 TraceCheckUtils]: 2: Hoare triple {4988#true} assume true; {4988#true} is VALID [2020-07-17 22:32:10,039 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4988#true} {4988#true} #337#return; {4988#true} is VALID [2020-07-17 22:32:10,039 INFO L263 TraceCheckUtils]: 4: Hoare triple {4988#true} call #t~ret28 := main(); {4988#true} is VALID [2020-07-17 22:32:10,040 INFO L280 TraceCheckUtils]: 5: Hoare triple {4988#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:10,041 INFO L280 TraceCheckUtils]: 6: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:10,042 INFO L280 TraceCheckUtils]: 7: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:10,043 INFO L280 TraceCheckUtils]: 8: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:10,045 INFO L280 TraceCheckUtils]: 9: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,046 INFO L280 TraceCheckUtils]: 10: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,047 INFO L280 TraceCheckUtils]: 11: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume #t~short7; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,048 INFO L280 TraceCheckUtils]: 12: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,049 INFO L280 TraceCheckUtils]: 13: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} goto; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,050 INFO L280 TraceCheckUtils]: 14: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,051 INFO L280 TraceCheckUtils]: 15: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,052 INFO L280 TraceCheckUtils]: 16: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:10,053 INFO L280 TraceCheckUtils]: 17: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} is VALID [2020-07-17 22:32:10,054 INFO L280 TraceCheckUtils]: 18: Hoare triple {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} is VALID [2020-07-17 22:32:10,055 INFO L280 TraceCheckUtils]: 19: Hoare triple {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} goto; {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} is VALID [2020-07-17 22:32:10,056 INFO L280 TraceCheckUtils]: 20: Hoare triple {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-17 22:32:10,057 INFO L280 TraceCheckUtils]: 21: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-17 22:32:10,058 INFO L280 TraceCheckUtils]: 22: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} assume 0 == ~len~0;~len~0 := 1; {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-17 22:32:10,058 INFO L280 TraceCheckUtils]: 23: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-17 22:32:10,059 INFO L280 TraceCheckUtils]: 24: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} goto; {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-17 22:32:10,060 INFO L280 TraceCheckUtils]: 25: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {4997#(and (= 0 |main_#t~mem19.offset|) (= 0 |main_#t~mem19.base|))} is VALID [2020-07-17 22:32:10,061 INFO L280 TraceCheckUtils]: 26: Hoare triple {4997#(and (= 0 |main_#t~mem19.offset|) (= 0 |main_#t~mem19.base|))} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {4989#false} is VALID [2020-07-17 22:32:10,061 INFO L280 TraceCheckUtils]: 27: Hoare triple {4989#false} assume !false; {4989#false} is VALID [2020-07-17 22:32:10,065 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-17 22:32:10,065 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1199816880] [2020-07-17 22:32:10,066 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:10,066 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-17 22:32:10,066 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [446990609] [2020-07-17 22:32:10,067 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2020-07-17 22:32:10,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:10,067 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:32:10,108 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:10,108 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:32:10,109 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:10,109 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:32:10,109 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:32:10,109 INFO L87 Difference]: Start difference. First operand 86 states and 98 transitions. Second operand 8 states. [2020-07-17 22:32:12,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:12,134 INFO L93 Difference]: Finished difference Result 231 states and 258 transitions. [2020-07-17 22:32:12,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-17 22:32:12,134 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2020-07-17 22:32:12,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:12,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:32:12,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 241 transitions. [2020-07-17 22:32:12,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:32:12,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 241 transitions. [2020-07-17 22:32:12,141 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 241 transitions. [2020-07-17 22:32:12,511 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 241 edges. 241 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:12,516 INFO L225 Difference]: With dead ends: 231 [2020-07-17 22:32:12,516 INFO L226 Difference]: Without dead ends: 229 [2020-07-17 22:32:12,517 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:32:12,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2020-07-17 22:32:12,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 98. [2020-07-17 22:32:12,574 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:12,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand 98 states. [2020-07-17 22:32:12,574 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand 98 states. [2020-07-17 22:32:12,574 INFO L87 Difference]: Start difference. First operand 229 states. Second operand 98 states. [2020-07-17 22:32:12,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:12,580 INFO L93 Difference]: Finished difference Result 229 states and 256 transitions. [2020-07-17 22:32:12,580 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 256 transitions. [2020-07-17 22:32:12,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:12,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:12,581 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 229 states. [2020-07-17 22:32:12,581 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 229 states. [2020-07-17 22:32:12,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:12,586 INFO L93 Difference]: Finished difference Result 229 states and 256 transitions. [2020-07-17 22:32:12,586 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 256 transitions. [2020-07-17 22:32:12,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:12,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:12,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:12,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:12,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2020-07-17 22:32:12,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 112 transitions. [2020-07-17 22:32:12,589 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 112 transitions. Word has length 28 [2020-07-17 22:32:12,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:12,590 INFO L479 AbstractCegarLoop]: Abstraction has 98 states and 112 transitions. [2020-07-17 22:32:12,590 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:32:12,590 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 112 transitions. [2020-07-17 22:32:12,591 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-17 22:32:12,592 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:12,592 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:12,592 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-17 22:32:12,593 INFO L427 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:12,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:12,593 INFO L82 PathProgramCache]: Analyzing trace with hash 1932526751, now seen corresponding path program 1 times [2020-07-17 22:32:12,594 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:12,594 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [438143491] [2020-07-17 22:32:12,594 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:12,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:12,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:12,712 INFO L280 TraceCheckUtils]: 0: Hoare triple {5848#(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; {5841#true} is VALID [2020-07-17 22:32:12,713 INFO L280 TraceCheckUtils]: 1: Hoare triple {5841#true} assume true; {5841#true} is VALID [2020-07-17 22:32:12,713 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5841#true} {5841#true} #337#return; {5841#true} is VALID [2020-07-17 22:32:12,714 INFO L263 TraceCheckUtils]: 0: Hoare triple {5841#true} call ULTIMATE.init(); {5848#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:12,714 INFO L280 TraceCheckUtils]: 1: Hoare triple {5848#(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; {5841#true} is VALID [2020-07-17 22:32:12,715 INFO L280 TraceCheckUtils]: 2: Hoare triple {5841#true} assume true; {5841#true} is VALID [2020-07-17 22:32:12,715 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5841#true} {5841#true} #337#return; {5841#true} is VALID [2020-07-17 22:32:12,715 INFO L263 TraceCheckUtils]: 4: Hoare triple {5841#true} call #t~ret28 := main(); {5841#true} is VALID [2020-07-17 22:32:12,715 INFO L280 TraceCheckUtils]: 5: Hoare triple {5841#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {5841#true} is VALID [2020-07-17 22:32:12,715 INFO L280 TraceCheckUtils]: 6: Hoare triple {5841#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {5841#true} is VALID [2020-07-17 22:32:12,716 INFO L280 TraceCheckUtils]: 7: Hoare triple {5841#true} goto; {5841#true} is VALID [2020-07-17 22:32:12,716 INFO L280 TraceCheckUtils]: 8: Hoare triple {5841#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {5841#true} is VALID [2020-07-17 22:32:12,717 INFO L280 TraceCheckUtils]: 9: Hoare triple {5841#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,718 INFO L280 TraceCheckUtils]: 10: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,719 INFO L280 TraceCheckUtils]: 11: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,719 INFO L280 TraceCheckUtils]: 12: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,720 INFO L280 TraceCheckUtils]: 13: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,721 INFO L280 TraceCheckUtils]: 14: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,722 INFO L280 TraceCheckUtils]: 15: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,722 INFO L280 TraceCheckUtils]: 16: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,723 INFO L280 TraceCheckUtils]: 17: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,724 INFO L280 TraceCheckUtils]: 18: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,725 INFO L280 TraceCheckUtils]: 19: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,726 INFO L280 TraceCheckUtils]: 20: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,728 INFO L280 TraceCheckUtils]: 21: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,729 INFO L280 TraceCheckUtils]: 22: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~len~0 <= 1); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,730 INFO L280 TraceCheckUtils]: 23: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,731 INFO L280 TraceCheckUtils]: 24: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,731 INFO L280 TraceCheckUtils]: 25: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:12,732 INFO L280 TraceCheckUtils]: 26: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {5847#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-17 22:32:12,733 INFO L280 TraceCheckUtils]: 27: Hoare triple {5847#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume 0 != ~end~0.base || 0 != ~end~0.offset; {5842#false} is VALID [2020-07-17 22:32:12,733 INFO L280 TraceCheckUtils]: 28: Hoare triple {5842#false} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {5842#false} is VALID [2020-07-17 22:32:12,734 INFO L280 TraceCheckUtils]: 29: Hoare triple {5842#false} assume !false; {5842#false} is VALID [2020-07-17 22:32:12,738 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:32:12,738 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [438143491] [2020-07-17 22:32:12,738 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:12,739 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-17 22:32:12,739 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [172839885] [2020-07-17 22:32:12,741 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2020-07-17 22:32:12,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:12,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-17 22:32:12,776 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:12,776 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-17 22:32:12,776 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:12,776 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-17 22:32:12,777 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-17 22:32:12,777 INFO L87 Difference]: Start difference. First operand 98 states and 112 transitions. Second operand 5 states. [2020-07-17 22:32:13,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:13,382 INFO L93 Difference]: Finished difference Result 145 states and 166 transitions. [2020-07-17 22:32:13,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-17 22:32:13,383 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2020-07-17 22:32:13,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:13,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:13,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2020-07-17 22:32:13,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-17 22:32:13,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2020-07-17 22:32:13,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 141 transitions. [2020-07-17 22:32:13,559 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:13,562 INFO L225 Difference]: With dead ends: 145 [2020-07-17 22:32:13,562 INFO L226 Difference]: Without dead ends: 127 [2020-07-17 22:32:13,563 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-17 22:32:13,563 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2020-07-17 22:32:13,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 119. [2020-07-17 22:32:13,629 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:13,629 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand 119 states. [2020-07-17 22:32:13,629 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 119 states. [2020-07-17 22:32:13,629 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 119 states. [2020-07-17 22:32:13,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:13,632 INFO L93 Difference]: Finished difference Result 127 states and 146 transitions. [2020-07-17 22:32:13,633 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 146 transitions. [2020-07-17 22:32:13,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:13,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:13,633 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 127 states. [2020-07-17 22:32:13,634 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 127 states. [2020-07-17 22:32:13,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:13,637 INFO L93 Difference]: Finished difference Result 127 states and 146 transitions. [2020-07-17 22:32:13,637 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 146 transitions. [2020-07-17 22:32:13,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:13,638 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:13,638 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:13,638 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:13,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 119 states. [2020-07-17 22:32:13,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 141 transitions. [2020-07-17 22:32:13,642 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 141 transitions. Word has length 30 [2020-07-17 22:32:13,642 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:13,642 INFO L479 AbstractCegarLoop]: Abstraction has 119 states and 141 transitions. [2020-07-17 22:32:13,643 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-17 22:32:13,643 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 141 transitions. [2020-07-17 22:32:13,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-17 22:32:13,643 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:13,644 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:13,644 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-17 22:32:13,644 INFO L427 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:13,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:13,645 INFO L82 PathProgramCache]: Analyzing trace with hash -250794977, now seen corresponding path program 1 times [2020-07-17 22:32:13,645 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:13,652 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1478114139] [2020-07-17 22:32:13,652 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:13,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:13,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:13,721 INFO L280 TraceCheckUtils]: 0: Hoare triple {6416#(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; {6410#true} is VALID [2020-07-17 22:32:13,721 INFO L280 TraceCheckUtils]: 1: Hoare triple {6410#true} assume true; {6410#true} is VALID [2020-07-17 22:32:13,722 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {6410#true} {6410#true} #337#return; {6410#true} is VALID [2020-07-17 22:32:13,723 INFO L263 TraceCheckUtils]: 0: Hoare triple {6410#true} call ULTIMATE.init(); {6416#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:13,723 INFO L280 TraceCheckUtils]: 1: Hoare triple {6416#(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; {6410#true} is VALID [2020-07-17 22:32:13,723 INFO L280 TraceCheckUtils]: 2: Hoare triple {6410#true} assume true; {6410#true} is VALID [2020-07-17 22:32:13,723 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {6410#true} {6410#true} #337#return; {6410#true} is VALID [2020-07-17 22:32:13,724 INFO L263 TraceCheckUtils]: 4: Hoare triple {6410#true} call #t~ret28 := main(); {6410#true} is VALID [2020-07-17 22:32:13,724 INFO L280 TraceCheckUtils]: 5: Hoare triple {6410#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {6410#true} is VALID [2020-07-17 22:32:13,724 INFO L280 TraceCheckUtils]: 6: Hoare triple {6410#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {6410#true} is VALID [2020-07-17 22:32:13,724 INFO L280 TraceCheckUtils]: 7: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-17 22:32:13,725 INFO L280 TraceCheckUtils]: 8: Hoare triple {6410#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {6410#true} is VALID [2020-07-17 22:32:13,725 INFO L280 TraceCheckUtils]: 9: Hoare triple {6410#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {6410#true} is VALID [2020-07-17 22:32:13,725 INFO L280 TraceCheckUtils]: 10: Hoare triple {6410#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {6410#true} is VALID [2020-07-17 22:32:13,725 INFO L280 TraceCheckUtils]: 11: Hoare triple {6410#true} assume #t~short7; {6410#true} is VALID [2020-07-17 22:32:13,725 INFO L280 TraceCheckUtils]: 12: Hoare triple {6410#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {6410#true} is VALID [2020-07-17 22:32:13,726 INFO L280 TraceCheckUtils]: 13: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-17 22:32:13,726 INFO L280 TraceCheckUtils]: 14: Hoare triple {6410#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6410#true} is VALID [2020-07-17 22:32:13,726 INFO L280 TraceCheckUtils]: 15: Hoare triple {6410#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {6410#true} is VALID [2020-07-17 22:32:13,726 INFO L280 TraceCheckUtils]: 16: Hoare triple {6410#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {6410#true} is VALID [2020-07-17 22:32:13,726 INFO L280 TraceCheckUtils]: 17: Hoare triple {6410#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6410#true} is VALID [2020-07-17 22:32:13,727 INFO L280 TraceCheckUtils]: 18: Hoare triple {6410#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {6410#true} is VALID [2020-07-17 22:32:13,727 INFO L280 TraceCheckUtils]: 19: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-17 22:32:13,727 INFO L280 TraceCheckUtils]: 20: Hoare triple {6410#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {6410#true} is VALID [2020-07-17 22:32:13,727 INFO L280 TraceCheckUtils]: 21: Hoare triple {6410#true} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {6410#true} is VALID [2020-07-17 22:32:13,727 INFO L280 TraceCheckUtils]: 22: Hoare triple {6410#true} assume !!(~len~0 <= 1); {6410#true} is VALID [2020-07-17 22:32:13,728 INFO L280 TraceCheckUtils]: 23: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-17 22:32:13,728 INFO L280 TraceCheckUtils]: 24: Hoare triple {6410#true} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {6410#true} is VALID [2020-07-17 22:32:13,728 INFO L280 TraceCheckUtils]: 25: Hoare triple {6410#true} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {6410#true} is VALID [2020-07-17 22:32:13,728 INFO L280 TraceCheckUtils]: 26: Hoare triple {6410#true} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {6410#true} is VALID [2020-07-17 22:32:13,730 INFO L280 TraceCheckUtils]: 27: Hoare triple {6410#true} assume 0 != ~end~0.base || 0 != ~end~0.offset; {6415#(or (not (= 0 main_~end~0.base)) (not (= 0 main_~end~0.offset)))} is VALID [2020-07-17 22:32:13,730 INFO L280 TraceCheckUtils]: 28: Hoare triple {6415#(or (not (= 0 main_~end~0.base)) (not (= 0 main_~end~0.offset)))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {6411#false} is VALID [2020-07-17 22:32:13,731 INFO L280 TraceCheckUtils]: 29: Hoare triple {6411#false} assume !false; {6411#false} is VALID [2020-07-17 22:32:13,733 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:32:13,733 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1478114139] [2020-07-17 22:32:13,733 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:13,733 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:13,734 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [18157465] [2020-07-17 22:32:13,734 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 30 [2020-07-17 22:32:13,734 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:13,735 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:13,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:13,763 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:13,763 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:13,763 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:13,763 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:13,764 INFO L87 Difference]: Start difference. First operand 119 states and 141 transitions. Second operand 4 states. [2020-07-17 22:32:14,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:14,124 INFO L93 Difference]: Finished difference Result 119 states and 141 transitions. [2020-07-17 22:32:14,124 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:14,125 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 30 [2020-07-17 22:32:14,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:14,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:14,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 85 transitions. [2020-07-17 22:32:14,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:14,127 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 85 transitions. [2020-07-17 22:32:14,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 85 transitions. [2020-07-17 22:32:14,227 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:14,229 INFO L225 Difference]: With dead ends: 119 [2020-07-17 22:32:14,229 INFO L226 Difference]: Without dead ends: 117 [2020-07-17 22:32:14,229 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:14,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2020-07-17 22:32:14,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 117. [2020-07-17 22:32:14,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:14,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 117 states. [2020-07-17 22:32:14,310 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 117 states. [2020-07-17 22:32:14,310 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 117 states. [2020-07-17 22:32:14,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:14,312 INFO L93 Difference]: Finished difference Result 117 states and 139 transitions. [2020-07-17 22:32:14,313 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2020-07-17 22:32:14,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:14,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:14,313 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 117 states. [2020-07-17 22:32:14,314 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 117 states. [2020-07-17 22:32:14,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:14,316 INFO L93 Difference]: Finished difference Result 117 states and 139 transitions. [2020-07-17 22:32:14,317 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2020-07-17 22:32:14,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:14,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:14,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:14,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:14,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2020-07-17 22:32:14,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 139 transitions. [2020-07-17 22:32:14,320 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 139 transitions. Word has length 30 [2020-07-17 22:32:14,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:14,321 INFO L479 AbstractCegarLoop]: Abstraction has 117 states and 139 transitions. [2020-07-17 22:32:14,321 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:14,321 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2020-07-17 22:32:14,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-17 22:32:14,322 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:14,322 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:14,322 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-17 22:32:14,322 INFO L427 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:14,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:14,323 INFO L82 PathProgramCache]: Analyzing trace with hash -1485208190, now seen corresponding path program 1 times [2020-07-17 22:32:14,323 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:14,323 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1184735090] [2020-07-17 22:32:14,323 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:14,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:14,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:14,506 INFO L280 TraceCheckUtils]: 0: Hoare triple {6937#(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; {6927#true} is VALID [2020-07-17 22:32:14,506 INFO L280 TraceCheckUtils]: 1: Hoare triple {6927#true} assume true; {6927#true} is VALID [2020-07-17 22:32:14,506 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {6927#true} {6927#true} #337#return; {6927#true} is VALID [2020-07-17 22:32:14,507 INFO L263 TraceCheckUtils]: 0: Hoare triple {6927#true} call ULTIMATE.init(); {6937#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:14,508 INFO L280 TraceCheckUtils]: 1: Hoare triple {6937#(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; {6927#true} is VALID [2020-07-17 22:32:14,508 INFO L280 TraceCheckUtils]: 2: Hoare triple {6927#true} assume true; {6927#true} is VALID [2020-07-17 22:32:14,508 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {6927#true} {6927#true} #337#return; {6927#true} is VALID [2020-07-17 22:32:14,508 INFO L263 TraceCheckUtils]: 4: Hoare triple {6927#true} call #t~ret28 := main(); {6927#true} is VALID [2020-07-17 22:32:14,510 INFO L280 TraceCheckUtils]: 5: Hoare triple {6927#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:14,510 INFO L280 TraceCheckUtils]: 6: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:14,511 INFO L280 TraceCheckUtils]: 7: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:14,512 INFO L280 TraceCheckUtils]: 8: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:14,514 INFO L280 TraceCheckUtils]: 9: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,515 INFO L280 TraceCheckUtils]: 10: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,516 INFO L280 TraceCheckUtils]: 11: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume #t~short7; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,517 INFO L280 TraceCheckUtils]: 12: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,518 INFO L280 TraceCheckUtils]: 13: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} goto; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,519 INFO L280 TraceCheckUtils]: 14: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,520 INFO L280 TraceCheckUtils]: 15: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,521 INFO L280 TraceCheckUtils]: 16: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume !(0 != #t~nondet8);havoc #t~nondet8; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,522 INFO L280 TraceCheckUtils]: 17: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,523 INFO L280 TraceCheckUtils]: 18: Hoare triple {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,524 INFO L280 TraceCheckUtils]: 19: Hoare triple {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} goto; {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} is VALID [2020-07-17 22:32:14,525 INFO L280 TraceCheckUtils]: 20: Hoare triple {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,526 INFO L280 TraceCheckUtils]: 21: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,527 INFO L280 TraceCheckUtils]: 22: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume 0 == ~len~0;~len~0 := 1; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,528 INFO L280 TraceCheckUtils]: 23: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,529 INFO L280 TraceCheckUtils]: 24: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} goto; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,530 INFO L280 TraceCheckUtils]: 25: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,531 INFO L280 TraceCheckUtils]: 26: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume !!(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,532 INFO L280 TraceCheckUtils]: 27: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} goto; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-17 22:32:14,533 INFO L280 TraceCheckUtils]: 28: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~inner~0.base, ~inner~0.offset, 4); {6936#(and (= 0 |main_#t~mem20.base|) (= 0 |main_#t~mem20.offset|))} is VALID [2020-07-17 22:32:14,533 INFO L280 TraceCheckUtils]: 29: Hoare triple {6936#(and (= 0 |main_#t~mem20.base|) (= 0 |main_#t~mem20.offset|))} assume !(0 == #t~mem20.base && 0 == #t~mem20.offset);havoc #t~mem20.base, #t~mem20.offset; {6928#false} is VALID [2020-07-17 22:32:14,534 INFO L280 TraceCheckUtils]: 30: Hoare triple {6928#false} assume !false; {6928#false} is VALID [2020-07-17 22:32:14,539 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-17 22:32:14,539 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1184735090] [2020-07-17 22:32:14,539 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:14,539 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-17 22:32:14,540 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [404199055] [2020-07-17 22:32:14,540 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 31 [2020-07-17 22:32:14,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:14,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:32:14,584 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:14,584 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:32:14,584 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:14,584 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:32:14,585 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:32:14,585 INFO L87 Difference]: Start difference. First operand 117 states and 139 transitions. Second operand 8 states. [2020-07-17 22:32:16,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:16,556 INFO L93 Difference]: Finished difference Result 240 states and 275 transitions. [2020-07-17 22:32:16,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-17 22:32:16,556 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 31 [2020-07-17 22:32:16,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:16,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:32:16,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 229 transitions. [2020-07-17 22:32:16,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:32:16,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 229 transitions. [2020-07-17 22:32:16,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 229 transitions. [2020-07-17 22:32:16,983 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 229 edges. 229 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:16,988 INFO L225 Difference]: With dead ends: 240 [2020-07-17 22:32:16,988 INFO L226 Difference]: Without dead ends: 238 [2020-07-17 22:32:16,988 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:32:16,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2020-07-17 22:32:17,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 120. [2020-07-17 22:32:17,074 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:17,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand 120 states. [2020-07-17 22:32:17,075 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand 120 states. [2020-07-17 22:32:17,075 INFO L87 Difference]: Start difference. First operand 238 states. Second operand 120 states. [2020-07-17 22:32:17,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:17,082 INFO L93 Difference]: Finished difference Result 238 states and 273 transitions. [2020-07-17 22:32:17,082 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 273 transitions. [2020-07-17 22:32:17,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:17,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:17,083 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 238 states. [2020-07-17 22:32:17,083 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 238 states. [2020-07-17 22:32:17,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:17,089 INFO L93 Difference]: Finished difference Result 238 states and 273 transitions. [2020-07-17 22:32:17,089 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 273 transitions. [2020-07-17 22:32:17,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:17,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:17,090 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:17,090 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:17,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2020-07-17 22:32:17,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 142 transitions. [2020-07-17 22:32:17,093 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 142 transitions. Word has length 31 [2020-07-17 22:32:17,093 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:17,093 INFO L479 AbstractCegarLoop]: Abstraction has 120 states and 142 transitions. [2020-07-17 22:32:17,093 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:32:17,094 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2020-07-17 22:32:17,094 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-17 22:32:17,094 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:17,094 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, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:17,095 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-17 22:32:17,095 INFO L427 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:17,095 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:17,095 INFO L82 PathProgramCache]: Analyzing trace with hash 1679328926, now seen corresponding path program 1 times [2020-07-17 22:32:17,095 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:17,096 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668456679] [2020-07-17 22:32:17,096 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:17,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:17,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:17,222 INFO L280 TraceCheckUtils]: 0: Hoare triple {7841#(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; {7833#true} is VALID [2020-07-17 22:32:17,223 INFO L280 TraceCheckUtils]: 1: Hoare triple {7833#true} assume true; {7833#true} is VALID [2020-07-17 22:32:17,223 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7833#true} {7833#true} #337#return; {7833#true} is VALID [2020-07-17 22:32:17,225 INFO L263 TraceCheckUtils]: 0: Hoare triple {7833#true} call ULTIMATE.init(); {7841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:17,225 INFO L280 TraceCheckUtils]: 1: Hoare triple {7841#(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; {7833#true} is VALID [2020-07-17 22:32:17,226 INFO L280 TraceCheckUtils]: 2: Hoare triple {7833#true} assume true; {7833#true} is VALID [2020-07-17 22:32:17,226 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7833#true} {7833#true} #337#return; {7833#true} is VALID [2020-07-17 22:32:17,226 INFO L263 TraceCheckUtils]: 4: Hoare triple {7833#true} call #t~ret28 := main(); {7833#true} is VALID [2020-07-17 22:32:17,228 INFO L280 TraceCheckUtils]: 5: Hoare triple {7833#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,228 INFO L280 TraceCheckUtils]: 6: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,229 INFO L280 TraceCheckUtils]: 7: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} goto; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,230 INFO L280 TraceCheckUtils]: 8: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,231 INFO L280 TraceCheckUtils]: 9: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,232 INFO L280 TraceCheckUtils]: 10: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,233 INFO L280 TraceCheckUtils]: 11: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,234 INFO L280 TraceCheckUtils]: 12: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,235 INFO L280 TraceCheckUtils]: 13: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} goto; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,236 INFO L280 TraceCheckUtils]: 14: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,237 INFO L280 TraceCheckUtils]: 15: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,237 INFO L280 TraceCheckUtils]: 16: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !(0 != #t~nondet8);havoc #t~nondet8; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-17 22:32:17,238 INFO L280 TraceCheckUtils]: 17: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,239 INFO L280 TraceCheckUtils]: 18: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,240 INFO L280 TraceCheckUtils]: 19: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,241 INFO L280 TraceCheckUtils]: 20: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,241 INFO L280 TraceCheckUtils]: 21: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,242 INFO L280 TraceCheckUtils]: 22: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(~len~0 <= 1); {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,243 INFO L280 TraceCheckUtils]: 23: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,244 INFO L280 TraceCheckUtils]: 24: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-17 22:32:17,246 INFO L280 TraceCheckUtils]: 25: Hoare triple {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7834#false} is VALID [2020-07-17 22:32:17,246 INFO L280 TraceCheckUtils]: 26: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-17 22:32:17,246 INFO L280 TraceCheckUtils]: 27: Hoare triple {7834#false} assume 0 == ~len~0;~len~0 := 1; {7834#false} is VALID [2020-07-17 22:32:17,246 INFO L280 TraceCheckUtils]: 28: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-17 22:32:17,247 INFO L280 TraceCheckUtils]: 29: Hoare triple {7834#false} goto; {7834#false} is VALID [2020-07-17 22:32:17,247 INFO L280 TraceCheckUtils]: 30: Hoare triple {7834#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {7834#false} is VALID [2020-07-17 22:32:17,247 INFO L280 TraceCheckUtils]: 31: Hoare triple {7834#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {7834#false} is VALID [2020-07-17 22:32:17,247 INFO L280 TraceCheckUtils]: 32: Hoare triple {7834#false} assume !false; {7834#false} is VALID [2020-07-17 22:32:17,251 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-17 22:32:17,252 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668456679] [2020-07-17 22:32:17,254 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1123326920] [2020-07-17 22:32:17,255 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-17 22:32:17,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:17,359 INFO L264 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 17 conjunts are in the unsatisfiable core [2020-07-17 22:32:17,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:17,376 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:32:17,461 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-17 22:32:17,461 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,470 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,474 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 11 treesize of output 7 [2020-07-17 22:32:17,475 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,481 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,482 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,482 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:18 [2020-07-17 22:32:17,543 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:17,546 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-17 22:32:17,547 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,569 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,573 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:17,575 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-17 22:32:17,580 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,595 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,595 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,595 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:44, output treesize:36 [2020-07-17 22:32:17,774 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 22 treesize of output 10 [2020-07-17 22:32:17,777 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,785 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,791 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,791 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 1 case distinctions, treesize of input 22 treesize of output 10 [2020-07-17 22:32:17,796 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:17,801 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:17,801 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-17 22:32:17,802 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:43, output treesize:7 [2020-07-17 22:32:17,805 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:17,805 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|, v_main_~end~0.base_30, |#memory_$Pointer$.base|]. (let ((.cse2 (select |#memory_$Pointer$.base| v_main_~end~0.base_30)) (.cse0 (select |#memory_$Pointer$.offset| v_main_~end~0.base_30))) (let ((.cse1 (select .cse0 0)) (.cse3 (select .cse2 0))) (and (= (select .cse0 4) 0) (= .cse1 main_~end~0.offset) (= 0 (select .cse2 4)) (= 0 .cse3) (= .cse1 0) (= .cse3 main_~end~0.base)))) [2020-07-17 22:32:17,806 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~end~0.base) (= 0 main_~end~0.offset)) [2020-07-17 22:32:17,816 INFO L263 TraceCheckUtils]: 0: Hoare triple {7833#true} call ULTIMATE.init(); {7833#true} is VALID [2020-07-17 22:32:17,816 INFO L280 TraceCheckUtils]: 1: Hoare triple {7833#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7833#true} is VALID [2020-07-17 22:32:17,816 INFO L280 TraceCheckUtils]: 2: Hoare triple {7833#true} assume true; {7833#true} is VALID [2020-07-17 22:32:17,816 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7833#true} {7833#true} #337#return; {7833#true} is VALID [2020-07-17 22:32:17,817 INFO L263 TraceCheckUtils]: 4: Hoare triple {7833#true} call #t~ret28 := main(); {7833#true} is VALID [2020-07-17 22:32:17,818 INFO L280 TraceCheckUtils]: 5: Hoare triple {7833#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-17 22:32:17,819 INFO L280 TraceCheckUtils]: 6: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-17 22:32:17,820 INFO L280 TraceCheckUtils]: 7: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} goto; {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-17 22:32:17,821 INFO L280 TraceCheckUtils]: 8: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-17 22:32:17,822 INFO L280 TraceCheckUtils]: 9: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,823 INFO L280 TraceCheckUtils]: 10: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,824 INFO L280 TraceCheckUtils]: 11: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,825 INFO L280 TraceCheckUtils]: 12: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,826 INFO L280 TraceCheckUtils]: 13: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,826 INFO L280 TraceCheckUtils]: 14: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,827 INFO L280 TraceCheckUtils]: 15: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,828 INFO L280 TraceCheckUtils]: 16: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:17,828 INFO L280 TraceCheckUtils]: 17: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,829 INFO L280 TraceCheckUtils]: 18: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,830 INFO L280 TraceCheckUtils]: 19: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,835 INFO L280 TraceCheckUtils]: 20: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,837 INFO L280 TraceCheckUtils]: 21: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,838 INFO L280 TraceCheckUtils]: 22: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(~len~0 <= 1); {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,841 INFO L280 TraceCheckUtils]: 23: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:17,842 INFO L280 TraceCheckUtils]: 24: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-17 22:32:17,843 INFO L280 TraceCheckUtils]: 25: Hoare triple {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7834#false} is VALID [2020-07-17 22:32:17,843 INFO L280 TraceCheckUtils]: 26: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-17 22:32:17,843 INFO L280 TraceCheckUtils]: 27: Hoare triple {7834#false} assume 0 == ~len~0;~len~0 := 1; {7834#false} is VALID [2020-07-17 22:32:17,843 INFO L280 TraceCheckUtils]: 28: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-17 22:32:17,844 INFO L280 TraceCheckUtils]: 29: Hoare triple {7834#false} goto; {7834#false} is VALID [2020-07-17 22:32:17,844 INFO L280 TraceCheckUtils]: 30: Hoare triple {7834#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {7834#false} is VALID [2020-07-17 22:32:17,844 INFO L280 TraceCheckUtils]: 31: Hoare triple {7834#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {7834#false} is VALID [2020-07-17 22:32:17,844 INFO L280 TraceCheckUtils]: 32: Hoare triple {7834#false} assume !false; {7834#false} is VALID [2020-07-17 22:32:17,849 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-17 22:32:17,850 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:32:17,850 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2020-07-17 22:32:17,850 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1151168127] [2020-07-17 22:32:17,851 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 33 [2020-07-17 22:32:17,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:17,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:32:17,924 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:17,924 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:32:17,924 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:17,924 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:32:17,925 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:32:17,925 INFO L87 Difference]: Start difference. First operand 120 states and 142 transitions. Second operand 9 states. [2020-07-17 22:32:19,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:19,389 INFO L93 Difference]: Finished difference Result 208 states and 242 transitions. [2020-07-17 22:32:19,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-17 22:32:19,389 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 33 [2020-07-17 22:32:19,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:19,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:32:19,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 193 transitions. [2020-07-17 22:32:19,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:32:19,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 193 transitions. [2020-07-17 22:32:19,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 193 transitions. [2020-07-17 22:32:19,623 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:19,627 INFO L225 Difference]: With dead ends: 208 [2020-07-17 22:32:19,627 INFO L226 Difference]: Without dead ends: 146 [2020-07-17 22:32:19,628 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:32:19,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2020-07-17 22:32:19,738 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 122. [2020-07-17 22:32:19,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:19,739 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand 122 states. [2020-07-17 22:32:19,739 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand 122 states. [2020-07-17 22:32:19,739 INFO L87 Difference]: Start difference. First operand 146 states. Second operand 122 states. [2020-07-17 22:32:19,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:19,746 INFO L93 Difference]: Finished difference Result 146 states and 164 transitions. [2020-07-17 22:32:19,746 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 164 transitions. [2020-07-17 22:32:19,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:19,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:19,747 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 146 states. [2020-07-17 22:32:19,748 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 146 states. [2020-07-17 22:32:19,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:19,753 INFO L93 Difference]: Finished difference Result 146 states and 164 transitions. [2020-07-17 22:32:19,753 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 164 transitions. [2020-07-17 22:32:19,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:19,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:19,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:19,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:19,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2020-07-17 22:32:19,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 142 transitions. [2020-07-17 22:32:19,759 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 142 transitions. Word has length 33 [2020-07-17 22:32:19,759 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:19,759 INFO L479 AbstractCegarLoop]: Abstraction has 122 states and 142 transitions. [2020-07-17 22:32:19,759 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:32:19,759 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 142 transitions. [2020-07-17 22:32:19,760 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-17 22:32:19,760 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:19,760 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:19,974 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2020-07-17 22:32:19,974 INFO L427 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:19,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:19,975 INFO L82 PathProgramCache]: Analyzing trace with hash 1814124928, now seen corresponding path program 1 times [2020-07-17 22:32:19,975 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:19,976 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [432598415] [2020-07-17 22:32:19,976 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:20,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:20,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:20,096 INFO L280 TraceCheckUtils]: 0: Hoare triple {8624#(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; {8615#true} is VALID [2020-07-17 22:32:20,096 INFO L280 TraceCheckUtils]: 1: Hoare triple {8615#true} assume true; {8615#true} is VALID [2020-07-17 22:32:20,097 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {8615#true} {8615#true} #337#return; {8615#true} is VALID [2020-07-17 22:32:20,098 INFO L263 TraceCheckUtils]: 0: Hoare triple {8615#true} call ULTIMATE.init(); {8624#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:20,098 INFO L280 TraceCheckUtils]: 1: Hoare triple {8624#(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; {8615#true} is VALID [2020-07-17 22:32:20,098 INFO L280 TraceCheckUtils]: 2: Hoare triple {8615#true} assume true; {8615#true} is VALID [2020-07-17 22:32:20,098 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {8615#true} {8615#true} #337#return; {8615#true} is VALID [2020-07-17 22:32:20,099 INFO L263 TraceCheckUtils]: 4: Hoare triple {8615#true} call #t~ret28 := main(); {8615#true} is VALID [2020-07-17 22:32:20,099 INFO L280 TraceCheckUtils]: 5: Hoare triple {8615#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {8615#true} is VALID [2020-07-17 22:32:20,099 INFO L280 TraceCheckUtils]: 6: Hoare triple {8615#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {8615#true} is VALID [2020-07-17 22:32:20,099 INFO L280 TraceCheckUtils]: 7: Hoare triple {8615#true} goto; {8615#true} is VALID [2020-07-17 22:32:20,099 INFO L280 TraceCheckUtils]: 8: Hoare triple {8615#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {8615#true} is VALID [2020-07-17 22:32:20,100 INFO L280 TraceCheckUtils]: 9: Hoare triple {8615#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {8615#true} is VALID [2020-07-17 22:32:20,101 INFO L280 TraceCheckUtils]: 10: Hoare triple {8615#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {8620#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not |main_#t~short7|) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,101 INFO L280 TraceCheckUtils]: 11: Hoare triple {8620#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not |main_#t~short7|) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume #t~short7; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,102 INFO L280 TraceCheckUtils]: 12: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,102 INFO L280 TraceCheckUtils]: 13: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} goto; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,103 INFO L280 TraceCheckUtils]: 14: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,103 INFO L280 TraceCheckUtils]: 15: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,104 INFO L280 TraceCheckUtils]: 16: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:20,105 INFO L280 TraceCheckUtils]: 17: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} is VALID [2020-07-17 22:32:20,105 INFO L280 TraceCheckUtils]: 18: Hoare triple {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} is VALID [2020-07-17 22:32:20,106 INFO L280 TraceCheckUtils]: 19: Hoare triple {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} goto; {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} is VALID [2020-07-17 22:32:20,106 INFO L280 TraceCheckUtils]: 20: Hoare triple {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {8623#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} is VALID [2020-07-17 22:32:20,107 INFO L280 TraceCheckUtils]: 21: Hoare triple {8623#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {8616#false} is VALID [2020-07-17 22:32:20,107 INFO L280 TraceCheckUtils]: 22: Hoare triple {8616#false} assume !!(~len~0 <= 1); {8616#false} is VALID [2020-07-17 22:32:20,107 INFO L280 TraceCheckUtils]: 23: Hoare triple {8616#false} goto; {8616#false} is VALID [2020-07-17 22:32:20,108 INFO L280 TraceCheckUtils]: 24: Hoare triple {8616#false} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {8616#false} is VALID [2020-07-17 22:32:20,108 INFO L280 TraceCheckUtils]: 25: Hoare triple {8616#false} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {8616#false} is VALID [2020-07-17 22:32:20,108 INFO L280 TraceCheckUtils]: 26: Hoare triple {8616#false} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {8616#false} is VALID [2020-07-17 22:32:20,108 INFO L280 TraceCheckUtils]: 27: Hoare triple {8616#false} assume 0 != ~end~0.base || 0 != ~end~0.offset; {8616#false} is VALID [2020-07-17 22:32:20,109 INFO L280 TraceCheckUtils]: 28: Hoare triple {8616#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {8616#false} is VALID [2020-07-17 22:32:20,109 INFO L280 TraceCheckUtils]: 29: Hoare triple {8616#false} goto; {8616#false} is VALID [2020-07-17 22:32:20,109 INFO L280 TraceCheckUtils]: 30: Hoare triple {8616#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {8616#false} is VALID [2020-07-17 22:32:20,109 INFO L280 TraceCheckUtils]: 31: Hoare triple {8616#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {8616#false} is VALID [2020-07-17 22:32:20,109 INFO L280 TraceCheckUtils]: 32: Hoare triple {8616#false} assume !false; {8616#false} is VALID [2020-07-17 22:32:20,112 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:32:20,112 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [432598415] [2020-07-17 22:32:20,113 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:20,113 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-17 22:32:20,113 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1507580029] [2020-07-17 22:32:20,114 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 33 [2020-07-17 22:32:20,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:20,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-17 22:32:20,148 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:20,148 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-17 22:32:20,148 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:20,148 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-17 22:32:20,148 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:32:20,149 INFO L87 Difference]: Start difference. First operand 122 states and 142 transitions. Second operand 7 states. [2020-07-17 22:32:21,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:21,173 INFO L93 Difference]: Finished difference Result 198 states and 225 transitions. [2020-07-17 22:32:21,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-17 22:32:21,173 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 33 [2020-07-17 22:32:21,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:21,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:32:21,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 153 transitions. [2020-07-17 22:32:21,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:32:21,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 153 transitions. [2020-07-17 22:32:21,179 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 153 transitions. [2020-07-17 22:32:21,370 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:21,374 INFO L225 Difference]: With dead ends: 198 [2020-07-17 22:32:21,374 INFO L226 Difference]: Without dead ends: 178 [2020-07-17 22:32:21,375 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:32:21,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 178 states. [2020-07-17 22:32:21,511 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 178 to 132. [2020-07-17 22:32:21,511 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:21,512 INFO L82 GeneralOperation]: Start isEquivalent. First operand 178 states. Second operand 132 states. [2020-07-17 22:32:21,512 INFO L74 IsIncluded]: Start isIncluded. First operand 178 states. Second operand 132 states. [2020-07-17 22:32:21,512 INFO L87 Difference]: Start difference. First operand 178 states. Second operand 132 states. [2020-07-17 22:32:21,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:21,519 INFO L93 Difference]: Finished difference Result 178 states and 203 transitions. [2020-07-17 22:32:21,519 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 203 transitions. [2020-07-17 22:32:21,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:21,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:21,520 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 178 states. [2020-07-17 22:32:21,520 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 178 states. [2020-07-17 22:32:21,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:21,526 INFO L93 Difference]: Finished difference Result 178 states and 203 transitions. [2020-07-17 22:32:21,527 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 203 transitions. [2020-07-17 22:32:21,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:21,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:21,527 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:21,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:21,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2020-07-17 22:32:21,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 153 transitions. [2020-07-17 22:32:21,532 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 153 transitions. Word has length 33 [2020-07-17 22:32:21,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:21,532 INFO L479 AbstractCegarLoop]: Abstraction has 132 states and 153 transitions. [2020-07-17 22:32:21,532 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-17 22:32:21,532 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 153 transitions. [2020-07-17 22:32:21,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-17 22:32:21,533 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:21,533 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:21,533 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-17 22:32:21,534 INFO L427 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:21,534 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:21,534 INFO L82 PathProgramCache]: Analyzing trace with hash 2032979646, now seen corresponding path program 1 times [2020-07-17 22:32:21,534 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:21,534 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1490600003] [2020-07-17 22:32:21,535 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:21,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:21,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:21,635 INFO L280 TraceCheckUtils]: 0: Hoare triple {9370#(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; {9362#true} is VALID [2020-07-17 22:32:21,635 INFO L280 TraceCheckUtils]: 1: Hoare triple {9362#true} assume true; {9362#true} is VALID [2020-07-17 22:32:21,635 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9362#true} {9362#true} #337#return; {9362#true} is VALID [2020-07-17 22:32:21,636 INFO L263 TraceCheckUtils]: 0: Hoare triple {9362#true} call ULTIMATE.init(); {9370#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:21,636 INFO L280 TraceCheckUtils]: 1: Hoare triple {9370#(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; {9362#true} is VALID [2020-07-17 22:32:21,637 INFO L280 TraceCheckUtils]: 2: Hoare triple {9362#true} assume true; {9362#true} is VALID [2020-07-17 22:32:21,637 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {9362#true} {9362#true} #337#return; {9362#true} is VALID [2020-07-17 22:32:21,637 INFO L263 TraceCheckUtils]: 4: Hoare triple {9362#true} call #t~ret28 := main(); {9362#true} is VALID [2020-07-17 22:32:21,637 INFO L280 TraceCheckUtils]: 5: Hoare triple {9362#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {9362#true} is VALID [2020-07-17 22:32:21,637 INFO L280 TraceCheckUtils]: 6: Hoare triple {9362#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {9362#true} is VALID [2020-07-17 22:32:21,638 INFO L280 TraceCheckUtils]: 7: Hoare triple {9362#true} goto; {9362#true} is VALID [2020-07-17 22:32:21,638 INFO L280 TraceCheckUtils]: 8: Hoare triple {9362#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {9362#true} is VALID [2020-07-17 22:32:21,638 INFO L280 TraceCheckUtils]: 9: Hoare triple {9362#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {9362#true} is VALID [2020-07-17 22:32:21,639 INFO L280 TraceCheckUtils]: 10: Hoare triple {9362#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {9367#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-17 22:32:21,640 INFO L280 TraceCheckUtils]: 11: Hoare triple {9367#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,641 INFO L280 TraceCheckUtils]: 12: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,641 INFO L280 TraceCheckUtils]: 13: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,643 INFO L280 TraceCheckUtils]: 14: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,643 INFO L280 TraceCheckUtils]: 15: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,644 INFO L280 TraceCheckUtils]: 16: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,645 INFO L280 TraceCheckUtils]: 17: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,645 INFO L280 TraceCheckUtils]: 18: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,646 INFO L280 TraceCheckUtils]: 19: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,659 INFO L280 TraceCheckUtils]: 20: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,660 INFO L280 TraceCheckUtils]: 21: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,661 INFO L280 TraceCheckUtils]: 22: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~len~0 <= 1); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,663 INFO L280 TraceCheckUtils]: 23: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,663 INFO L280 TraceCheckUtils]: 24: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,664 INFO L280 TraceCheckUtils]: 25: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:21,665 INFO L280 TraceCheckUtils]: 26: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {9369#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-17 22:32:21,666 INFO L280 TraceCheckUtils]: 27: Hoare triple {9369#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume 0 != ~end~0.base || 0 != ~end~0.offset; {9363#false} is VALID [2020-07-17 22:32:21,666 INFO L280 TraceCheckUtils]: 28: Hoare triple {9363#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {9363#false} is VALID [2020-07-17 22:32:21,666 INFO L280 TraceCheckUtils]: 29: Hoare triple {9363#false} goto; {9363#false} is VALID [2020-07-17 22:32:21,666 INFO L280 TraceCheckUtils]: 30: Hoare triple {9363#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {9363#false} is VALID [2020-07-17 22:32:21,666 INFO L280 TraceCheckUtils]: 31: Hoare triple {9363#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {9363#false} is VALID [2020-07-17 22:32:21,666 INFO L280 TraceCheckUtils]: 32: Hoare triple {9363#false} assume !false; {9363#false} is VALID [2020-07-17 22:32:21,670 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:32:21,670 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1490600003] [2020-07-17 22:32:21,670 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:21,670 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:32:21,670 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [254226172] [2020-07-17 22:32:21,673 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 33 [2020-07-17 22:32:21,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:21,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:32:21,712 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:21,712 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:32:21,713 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:21,713 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:32:21,713 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:32:21,713 INFO L87 Difference]: Start difference. First operand 132 states and 153 transitions. Second operand 6 states. [2020-07-17 22:32:22,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:22,445 INFO L93 Difference]: Finished difference Result 182 states and 208 transitions. [2020-07-17 22:32:22,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:32:22,445 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 33 [2020-07-17 22:32:22,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:22,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:32:22,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 137 transitions. [2020-07-17 22:32:22,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:32:22,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 137 transitions. [2020-07-17 22:32:22,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 137 transitions. [2020-07-17 22:32:22,600 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:22,604 INFO L225 Difference]: With dead ends: 182 [2020-07-17 22:32:22,604 INFO L226 Difference]: Without dead ends: 166 [2020-07-17 22:32:22,605 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:32:22,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2020-07-17 22:32:22,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 152. [2020-07-17 22:32:22,731 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:22,731 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand 152 states. [2020-07-17 22:32:22,731 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 152 states. [2020-07-17 22:32:22,732 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 152 states. [2020-07-17 22:32:22,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:22,737 INFO L93 Difference]: Finished difference Result 166 states and 190 transitions. [2020-07-17 22:32:22,737 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 190 transitions. [2020-07-17 22:32:22,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:22,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:22,738 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 166 states. [2020-07-17 22:32:22,738 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 166 states. [2020-07-17 22:32:22,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:22,743 INFO L93 Difference]: Finished difference Result 166 states and 190 transitions. [2020-07-17 22:32:22,744 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 190 transitions. [2020-07-17 22:32:22,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:22,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:22,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:22,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:22,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 152 states. [2020-07-17 22:32:22,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 179 transitions. [2020-07-17 22:32:22,750 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 179 transitions. Word has length 33 [2020-07-17 22:32:22,750 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:22,750 INFO L479 AbstractCegarLoop]: Abstraction has 152 states and 179 transitions. [2020-07-17 22:32:22,750 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:32:22,750 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 179 transitions. [2020-07-17 22:32:22,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-17 22:32:22,751 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:22,751 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:22,751 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-17 22:32:22,752 INFO L427 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:22,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:22,752 INFO L82 PathProgramCache]: Analyzing trace with hash 270360779, now seen corresponding path program 1 times [2020-07-17 22:32:22,752 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:22,752 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1091358039] [2020-07-17 22:32:22,753 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:22,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:22,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:22,867 INFO L280 TraceCheckUtils]: 0: Hoare triple {10095#(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; {10086#true} is VALID [2020-07-17 22:32:22,867 INFO L280 TraceCheckUtils]: 1: Hoare triple {10086#true} assume true; {10086#true} is VALID [2020-07-17 22:32:22,868 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {10086#true} {10086#true} #337#return; {10086#true} is VALID [2020-07-17 22:32:22,868 INFO L263 TraceCheckUtils]: 0: Hoare triple {10086#true} call ULTIMATE.init(); {10095#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:22,869 INFO L280 TraceCheckUtils]: 1: Hoare triple {10095#(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; {10086#true} is VALID [2020-07-17 22:32:22,869 INFO L280 TraceCheckUtils]: 2: Hoare triple {10086#true} assume true; {10086#true} is VALID [2020-07-17 22:32:22,869 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10086#true} {10086#true} #337#return; {10086#true} is VALID [2020-07-17 22:32:22,869 INFO L263 TraceCheckUtils]: 4: Hoare triple {10086#true} call #t~ret28 := main(); {10086#true} is VALID [2020-07-17 22:32:22,869 INFO L280 TraceCheckUtils]: 5: Hoare triple {10086#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {10086#true} is VALID [2020-07-17 22:32:22,869 INFO L280 TraceCheckUtils]: 6: Hoare triple {10086#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {10086#true} is VALID [2020-07-17 22:32:22,870 INFO L280 TraceCheckUtils]: 7: Hoare triple {10086#true} goto; {10086#true} is VALID [2020-07-17 22:32:22,870 INFO L280 TraceCheckUtils]: 8: Hoare triple {10086#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {10086#true} is VALID [2020-07-17 22:32:22,870 INFO L280 TraceCheckUtils]: 9: Hoare triple {10086#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {10086#true} is VALID [2020-07-17 22:32:22,870 INFO L280 TraceCheckUtils]: 10: Hoare triple {10086#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {10086#true} is VALID [2020-07-17 22:32:22,870 INFO L280 TraceCheckUtils]: 11: Hoare triple {10086#true} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {10086#true} is VALID [2020-07-17 22:32:22,871 INFO L280 TraceCheckUtils]: 12: Hoare triple {10086#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {10086#true} is VALID [2020-07-17 22:32:22,871 INFO L280 TraceCheckUtils]: 13: Hoare triple {10086#true} goto; {10086#true} is VALID [2020-07-17 22:32:22,871 INFO L280 TraceCheckUtils]: 14: Hoare triple {10086#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10086#true} is VALID [2020-07-17 22:32:22,871 INFO L280 TraceCheckUtils]: 15: Hoare triple {10086#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {10086#true} is VALID [2020-07-17 22:32:22,871 INFO L280 TraceCheckUtils]: 16: Hoare triple {10086#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {10086#true} is VALID [2020-07-17 22:32:22,872 INFO L280 TraceCheckUtils]: 17: Hoare triple {10086#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,873 INFO L280 TraceCheckUtils]: 18: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,874 INFO L280 TraceCheckUtils]: 19: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} goto; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,875 INFO L280 TraceCheckUtils]: 20: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,875 INFO L280 TraceCheckUtils]: 21: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,876 INFO L280 TraceCheckUtils]: 22: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !!(~len~0 <= 1); {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,877 INFO L280 TraceCheckUtils]: 23: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} goto; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:22,878 INFO L280 TraceCheckUtils]: 24: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {10092#(and (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) 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-17 22:32:22,878 INFO L280 TraceCheckUtils]: 25: Hoare triple {10092#(and (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:22,879 INFO L280 TraceCheckUtils]: 26: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:22,880 INFO L280 TraceCheckUtils]: 27: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:22,881 INFO L280 TraceCheckUtils]: 28: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~list~0.base, ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem27.base, #t~mem27.offset;call ULTIMATE.dealloc(~list~0.base, ~list~0.offset);~list~0.base, ~list~0.offset := ~end~0.base, ~end~0.offset; {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:22,882 INFO L280 TraceCheckUtils]: 29: Hoare triple {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10087#false} is VALID [2020-07-17 22:32:22,882 INFO L280 TraceCheckUtils]: 30: Hoare triple {10087#false} assume 0 != ~end~0.base || 0 != ~end~0.offset; {10087#false} is VALID [2020-07-17 22:32:22,882 INFO L280 TraceCheckUtils]: 31: Hoare triple {10087#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10087#false} is VALID [2020-07-17 22:32:22,882 INFO L280 TraceCheckUtils]: 32: Hoare triple {10087#false} goto; {10087#false} is VALID [2020-07-17 22:32:22,882 INFO L280 TraceCheckUtils]: 33: Hoare triple {10087#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {10087#false} is VALID [2020-07-17 22:32:22,883 INFO L280 TraceCheckUtils]: 34: Hoare triple {10087#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {10087#false} is VALID [2020-07-17 22:32:22,883 INFO L280 TraceCheckUtils]: 35: Hoare triple {10087#false} assume !false; {10087#false} is VALID [2020-07-17 22:32:22,885 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:32:22,885 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1091358039] [2020-07-17 22:32:22,885 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689395563] [2020-07-17 22:32:22,886 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-17 22:32:22,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:22,992 INFO L264 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 13 conjunts are in the unsatisfiable core [2020-07-17 22:32:23,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:23,005 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:32:23,022 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 11 treesize of output 7 [2020-07-17 22:32:23,023 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,030 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:23,036 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 11 treesize of output 7 [2020-07-17 22:32:23,036 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,041 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:23,041 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,041 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:23, output treesize:15 [2020-07-17 22:32:23,065 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:23,066 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-17 22:32:23,069 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,078 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:23,084 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:23,086 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-17 22:32:23,087 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,095 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:23,095 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,096 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:41, output treesize:33 [2020-07-17 22:32:23,221 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:23,222 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-17 22:32:23,226 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,235 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:23,240 INFO L350 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2020-07-17 22:32:23,240 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-17 22:32:23,243 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:23,250 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:23,250 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-17 22:32:23,251 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:47, output treesize:7 [2020-07-17 22:32:23,255 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:23,256 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~list~0.base_14, v_main_~list~0.offset_14, |#memory_$Pointer$.offset|]. (let ((.cse2 (select |#memory_$Pointer$.offset| v_main_~list~0.base_14)) (.cse4 (select |#memory_$Pointer$.base| v_main_~list~0.base_14))) (let ((.cse1 (select .cse4 v_main_~list~0.offset_14)) (.cse0 (select .cse2 v_main_~list~0.offset_14)) (.cse3 (+ v_main_~list~0.offset_14 4))) (and (= 0 .cse0) (= main_~list~0.base .cse1) (= 0 .cse1) (= main_~list~0.offset .cse0) (= 0 (select .cse2 .cse3)) (= 0 (select .cse4 .cse3))))) [2020-07-17 22:32:23,256 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~list~0.offset) (= 0 main_~list~0.base)) [2020-07-17 22:32:23,264 INFO L263 TraceCheckUtils]: 0: Hoare triple {10086#true} call ULTIMATE.init(); {10086#true} is VALID [2020-07-17 22:32:23,265 INFO L280 TraceCheckUtils]: 1: Hoare triple {10086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10086#true} is VALID [2020-07-17 22:32:23,265 INFO L280 TraceCheckUtils]: 2: Hoare triple {10086#true} assume true; {10086#true} is VALID [2020-07-17 22:32:23,265 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10086#true} {10086#true} #337#return; {10086#true} is VALID [2020-07-17 22:32:23,265 INFO L263 TraceCheckUtils]: 4: Hoare triple {10086#true} call #t~ret28 := main(); {10086#true} is VALID [2020-07-17 22:32:23,267 INFO L280 TraceCheckUtils]: 5: Hoare triple {10086#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:23,269 INFO L280 TraceCheckUtils]: 6: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:23,270 INFO L280 TraceCheckUtils]: 7: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} goto; {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:23,271 INFO L280 TraceCheckUtils]: 8: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-17 22:32:23,272 INFO L280 TraceCheckUtils]: 9: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,274 INFO L280 TraceCheckUtils]: 10: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,276 INFO L280 TraceCheckUtils]: 11: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,278 INFO L280 TraceCheckUtils]: 12: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,279 INFO L280 TraceCheckUtils]: 13: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,280 INFO L280 TraceCheckUtils]: 14: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,281 INFO L280 TraceCheckUtils]: 15: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,282 INFO L280 TraceCheckUtils]: 16: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,284 INFO L280 TraceCheckUtils]: 17: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,285 INFO L280 TraceCheckUtils]: 18: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,286 INFO L280 TraceCheckUtils]: 19: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,288 INFO L280 TraceCheckUtils]: 20: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,289 INFO L280 TraceCheckUtils]: 21: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,290 INFO L280 TraceCheckUtils]: 22: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~len~0 <= 1); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,291 INFO L280 TraceCheckUtils]: 23: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,292 INFO L280 TraceCheckUtils]: 24: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,293 INFO L280 TraceCheckUtils]: 25: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,294 INFO L280 TraceCheckUtils]: 26: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,296 INFO L280 TraceCheckUtils]: 27: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:23,297 INFO L280 TraceCheckUtils]: 28: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~list~0.base, ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem27.base, #t~mem27.offset;call ULTIMATE.dealloc(~list~0.base, ~list~0.offset);~list~0.base, ~list~0.offset := ~end~0.base, ~end~0.offset; {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} is VALID [2020-07-17 22:32:23,298 INFO L280 TraceCheckUtils]: 29: Hoare triple {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10087#false} is VALID [2020-07-17 22:32:23,298 INFO L280 TraceCheckUtils]: 30: Hoare triple {10087#false} assume 0 != ~end~0.base || 0 != ~end~0.offset; {10087#false} is VALID [2020-07-17 22:32:23,299 INFO L280 TraceCheckUtils]: 31: Hoare triple {10087#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10087#false} is VALID [2020-07-17 22:32:23,299 INFO L280 TraceCheckUtils]: 32: Hoare triple {10087#false} goto; {10087#false} is VALID [2020-07-17 22:32:23,299 INFO L280 TraceCheckUtils]: 33: Hoare triple {10087#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {10087#false} is VALID [2020-07-17 22:32:23,300 INFO L280 TraceCheckUtils]: 34: Hoare triple {10087#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {10087#false} is VALID [2020-07-17 22:32:23,300 INFO L280 TraceCheckUtils]: 35: Hoare triple {10087#false} assume !false; {10087#false} is VALID [2020-07-17 22:32:23,307 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:32:23,308 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:32:23,308 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 8 [2020-07-17 22:32:23,308 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1427813908] [2020-07-17 22:32:23,309 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 36 [2020-07-17 22:32:23,310 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:23,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:32:23,408 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:23,409 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:32:23,409 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:23,409 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:32:23,410 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:32:23,410 INFO L87 Difference]: Start difference. First operand 152 states and 179 transitions. Second operand 8 states. [2020-07-17 22:32:24,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:24,828 INFO L93 Difference]: Finished difference Result 248 states and 283 transitions. [2020-07-17 22:32:24,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-17 22:32:24,828 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 36 [2020-07-17 22:32:24,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:24,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:32:24,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 217 transitions. [2020-07-17 22:32:24,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:32:24,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 217 transitions. [2020-07-17 22:32:24,835 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 217 transitions. [2020-07-17 22:32:25,077 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:25,082 INFO L225 Difference]: With dead ends: 248 [2020-07-17 22:32:25,083 INFO L226 Difference]: Without dead ends: 210 [2020-07-17 22:32:25,083 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:32:25,084 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2020-07-17 22:32:25,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 169. [2020-07-17 22:32:25,233 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:25,233 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand 169 states. [2020-07-17 22:32:25,233 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand 169 states. [2020-07-17 22:32:25,233 INFO L87 Difference]: Start difference. First operand 210 states. Second operand 169 states. [2020-07-17 22:32:25,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:25,239 INFO L93 Difference]: Finished difference Result 210 states and 239 transitions. [2020-07-17 22:32:25,239 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 239 transitions. [2020-07-17 22:32:25,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:25,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:25,240 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand 210 states. [2020-07-17 22:32:25,240 INFO L87 Difference]: Start difference. First operand 169 states. Second operand 210 states. [2020-07-17 22:32:25,246 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:25,246 INFO L93 Difference]: Finished difference Result 210 states and 239 transitions. [2020-07-17 22:32:25,247 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 239 transitions. [2020-07-17 22:32:25,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:25,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:25,248 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:25,248 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:25,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 169 states. [2020-07-17 22:32:25,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 202 transitions. [2020-07-17 22:32:25,252 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 202 transitions. Word has length 36 [2020-07-17 22:32:25,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:25,253 INFO L479 AbstractCegarLoop]: Abstraction has 169 states and 202 transitions. [2020-07-17 22:32:25,253 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:32:25,253 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 202 transitions. [2020-07-17 22:32:25,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-17 22:32:25,253 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:25,254 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:25,468 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:32:25,469 INFO L427 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:25,469 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:25,469 INFO L82 PathProgramCache]: Analyzing trace with hash -620993698, now seen corresponding path program 1 times [2020-07-17 22:32:25,469 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:25,469 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [657371370] [2020-07-17 22:32:25,470 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:25,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:25,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:25,538 INFO L280 TraceCheckUtils]: 0: Hoare triple {11110#(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; {11104#true} is VALID [2020-07-17 22:32:25,539 INFO L280 TraceCheckUtils]: 1: Hoare triple {11104#true} assume true; {11104#true} is VALID [2020-07-17 22:32:25,539 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {11104#true} {11104#true} #337#return; {11104#true} is VALID [2020-07-17 22:32:25,540 INFO L263 TraceCheckUtils]: 0: Hoare triple {11104#true} call ULTIMATE.init(); {11110#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:25,540 INFO L280 TraceCheckUtils]: 1: Hoare triple {11110#(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; {11104#true} is VALID [2020-07-17 22:32:25,540 INFO L280 TraceCheckUtils]: 2: Hoare triple {11104#true} assume true; {11104#true} is VALID [2020-07-17 22:32:25,540 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {11104#true} {11104#true} #337#return; {11104#true} is VALID [2020-07-17 22:32:25,541 INFO L263 TraceCheckUtils]: 4: Hoare triple {11104#true} call #t~ret28 := main(); {11104#true} is VALID [2020-07-17 22:32:25,541 INFO L280 TraceCheckUtils]: 5: Hoare triple {11104#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {11104#true} is VALID [2020-07-17 22:32:25,541 INFO L280 TraceCheckUtils]: 6: Hoare triple {11104#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {11104#true} is VALID [2020-07-17 22:32:25,541 INFO L280 TraceCheckUtils]: 7: Hoare triple {11104#true} goto; {11104#true} is VALID [2020-07-17 22:32:25,541 INFO L280 TraceCheckUtils]: 8: Hoare triple {11104#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {11104#true} is VALID [2020-07-17 22:32:25,542 INFO L280 TraceCheckUtils]: 9: Hoare triple {11104#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {11104#true} is VALID [2020-07-17 22:32:25,542 INFO L280 TraceCheckUtils]: 10: Hoare triple {11104#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {11104#true} is VALID [2020-07-17 22:32:25,542 INFO L280 TraceCheckUtils]: 11: Hoare triple {11104#true} assume #t~short7; {11104#true} is VALID [2020-07-17 22:32:25,542 INFO L280 TraceCheckUtils]: 12: Hoare triple {11104#true} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {11104#true} is VALID [2020-07-17 22:32:25,542 INFO L280 TraceCheckUtils]: 13: Hoare triple {11104#true} goto; {11104#true} is VALID [2020-07-17 22:32:25,543 INFO L280 TraceCheckUtils]: 14: Hoare triple {11104#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {11104#true} is VALID [2020-07-17 22:32:25,543 INFO L280 TraceCheckUtils]: 15: Hoare triple {11104#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {11104#true} is VALID [2020-07-17 22:32:25,543 INFO L280 TraceCheckUtils]: 16: Hoare triple {11104#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {11104#true} is VALID [2020-07-17 22:32:25,543 INFO L280 TraceCheckUtils]: 17: Hoare triple {11104#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {11104#true} is VALID [2020-07-17 22:32:25,543 INFO L280 TraceCheckUtils]: 18: Hoare triple {11104#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {11104#true} is VALID [2020-07-17 22:32:25,544 INFO L280 TraceCheckUtils]: 19: Hoare triple {11104#true} goto; {11104#true} is VALID [2020-07-17 22:32:25,544 INFO L280 TraceCheckUtils]: 20: Hoare triple {11104#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {11104#true} is VALID [2020-07-17 22:32:25,544 INFO L280 TraceCheckUtils]: 21: Hoare triple {11104#true} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {11104#true} is VALID [2020-07-17 22:32:25,545 INFO L280 TraceCheckUtils]: 22: Hoare triple {11104#true} assume 0 == ~len~0;~len~0 := 1; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,545 INFO L280 TraceCheckUtils]: 23: Hoare triple {11109#(= 1 main_~len~0)} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,546 INFO L280 TraceCheckUtils]: 24: Hoare triple {11109#(= 1 main_~len~0)} goto; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,546 INFO L280 TraceCheckUtils]: 25: Hoare triple {11109#(= 1 main_~len~0)} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,547 INFO L280 TraceCheckUtils]: 26: Hoare triple {11109#(= 1 main_~len~0)} assume !!(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,547 INFO L280 TraceCheckUtils]: 27: Hoare triple {11109#(= 1 main_~len~0)} goto; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,548 INFO L280 TraceCheckUtils]: 28: Hoare triple {11109#(= 1 main_~len~0)} call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~inner~0.base, ~inner~0.offset, 4); {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,548 INFO L280 TraceCheckUtils]: 29: Hoare triple {11109#(= 1 main_~len~0)} assume !!(0 == #t~mem20.base && 0 == #t~mem20.offset);havoc #t~mem20.base, #t~mem20.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,549 INFO L280 TraceCheckUtils]: 30: Hoare triple {11109#(= 1 main_~len~0)} goto; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,550 INFO L280 TraceCheckUtils]: 31: Hoare triple {11109#(= 1 main_~len~0)} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem21.base, #t~mem21.offset;havoc #t~mem21.base, #t~mem21.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,550 INFO L280 TraceCheckUtils]: 32: Hoare triple {11109#(= 1 main_~len~0)} assume 1 == ~len~0;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,551 INFO L280 TraceCheckUtils]: 33: Hoare triple {11109#(= 1 main_~len~0)} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {11109#(= 1 main_~len~0)} is VALID [2020-07-17 22:32:25,551 INFO L280 TraceCheckUtils]: 34: Hoare triple {11109#(= 1 main_~len~0)} assume !(~len~0 <= 1); {11105#false} is VALID [2020-07-17 22:32:25,551 INFO L280 TraceCheckUtils]: 35: Hoare triple {11105#false} assume !false; {11105#false} is VALID [2020-07-17 22:32:25,553 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:32:25,553 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [657371370] [2020-07-17 22:32:25,553 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:32:25,553 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:32:25,553 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [575478751] [2020-07-17 22:32:25,554 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 36 [2020-07-17 22:32:25,554 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:25,554 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:32:25,592 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-17 22:32:25,592 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:32:25,592 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:25,593 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:32:25,593 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:25,593 INFO L87 Difference]: Start difference. First operand 169 states and 202 transitions. Second operand 4 states. [2020-07-17 22:32:26,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:26,181 INFO L93 Difference]: Finished difference Result 354 states and 437 transitions. [2020-07-17 22:32:26,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:32:26,181 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 36 [2020-07-17 22:32:26,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:32:26,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:26,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 163 transitions. [2020-07-17 22:32:26,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:32:26,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 163 transitions. [2020-07-17 22:32:26,186 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 163 transitions. [2020-07-17 22:32:26,343 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:26,350 INFO L225 Difference]: With dead ends: 354 [2020-07-17 22:32:26,350 INFO L226 Difference]: Without dead ends: 258 [2020-07-17 22:32:26,352 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:32:26,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2020-07-17 22:32:26,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 218. [2020-07-17 22:32:26,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:32:26,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 258 states. Second operand 218 states. [2020-07-17 22:32:26,580 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 218 states. [2020-07-17 22:32:26,580 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 218 states. [2020-07-17 22:32:26,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:26,585 INFO L93 Difference]: Finished difference Result 258 states and 304 transitions. [2020-07-17 22:32:26,585 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 304 transitions. [2020-07-17 22:32:26,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:26,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:26,586 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand 258 states. [2020-07-17 22:32:26,586 INFO L87 Difference]: Start difference. First operand 218 states. Second operand 258 states. [2020-07-17 22:32:26,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:32:26,591 INFO L93 Difference]: Finished difference Result 258 states and 304 transitions. [2020-07-17 22:32:26,592 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 304 transitions. [2020-07-17 22:32:26,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:32:26,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:32:26,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:32:26,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:32:26,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 218 states. [2020-07-17 22:32:26,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 218 states to 218 states and 262 transitions. [2020-07-17 22:32:26,601 INFO L78 Accepts]: Start accepts. Automaton has 218 states and 262 transitions. Word has length 36 [2020-07-17 22:32:26,601 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:32:26,601 INFO L479 AbstractCegarLoop]: Abstraction has 218 states and 262 transitions. [2020-07-17 22:32:26,602 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:32:26,602 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 262 transitions. [2020-07-17 22:32:26,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-17 22:32:26,602 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:32:26,602 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:32:26,603 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2020-07-17 22:32:26,603 INFO L427 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:32:26,603 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:32:26,603 INFO L82 PathProgramCache]: Analyzing trace with hash -366933706, now seen corresponding path program 1 times [2020-07-17 22:32:26,603 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:32:26,604 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [19499609] [2020-07-17 22:32:26,604 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:32:26,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,020 INFO L280 TraceCheckUtils]: 0: Hoare triple {12276#(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; {12264#true} is VALID [2020-07-17 22:32:27,021 INFO L280 TraceCheckUtils]: 1: Hoare triple {12264#true} assume true; {12264#true} is VALID [2020-07-17 22:32:27,021 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {12264#true} {12264#true} #337#return; {12264#true} is VALID [2020-07-17 22:32:27,022 INFO L263 TraceCheckUtils]: 0: Hoare triple {12264#true} call ULTIMATE.init(); {12276#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:32:27,022 INFO L280 TraceCheckUtils]: 1: Hoare triple {12276#(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; {12264#true} is VALID [2020-07-17 22:32:27,022 INFO L280 TraceCheckUtils]: 2: Hoare triple {12264#true} assume true; {12264#true} is VALID [2020-07-17 22:32:27,023 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12264#true} {12264#true} #337#return; {12264#true} is VALID [2020-07-17 22:32:27,023 INFO L263 TraceCheckUtils]: 4: Hoare triple {12264#true} call #t~ret28 := main(); {12264#true} is VALID [2020-07-17 22:32:27,025 INFO L280 TraceCheckUtils]: 5: Hoare triple {12264#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,026 INFO L280 TraceCheckUtils]: 6: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,027 INFO L280 TraceCheckUtils]: 7: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,028 INFO L280 TraceCheckUtils]: 8: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,029 INFO L280 TraceCheckUtils]: 9: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,030 INFO L280 TraceCheckUtils]: 10: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,031 INFO L280 TraceCheckUtils]: 11: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,032 INFO L280 TraceCheckUtils]: 12: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,033 INFO L280 TraceCheckUtils]: 13: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} goto; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:27,034 INFO L280 TraceCheckUtils]: 14: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-17 22:32:27,035 INFO L280 TraceCheckUtils]: 15: Hoare triple {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-17 22:32:27,040 INFO L280 TraceCheckUtils]: 16: Hoare triple {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,041 INFO L280 TraceCheckUtils]: 17: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,042 INFO L280 TraceCheckUtils]: 18: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,043 INFO L280 TraceCheckUtils]: 19: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,044 INFO L280 TraceCheckUtils]: 20: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,045 INFO L280 TraceCheckUtils]: 21: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,046 INFO L280 TraceCheckUtils]: 22: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,047 INFO L280 TraceCheckUtils]: 23: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,048 INFO L280 TraceCheckUtils]: 24: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,049 INFO L280 TraceCheckUtils]: 25: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,050 INFO L280 TraceCheckUtils]: 26: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,053 INFO L280 TraceCheckUtils]: 27: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,054 INFO L280 TraceCheckUtils]: 28: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-17 22:32:27,055 INFO L280 TraceCheckUtils]: 29: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:27,056 INFO L280 TraceCheckUtils]: 30: Hoare triple {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:27,057 INFO L280 TraceCheckUtils]: 31: Hoare triple {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} goto; {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:27,058 INFO L280 TraceCheckUtils]: 32: Hoare triple {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} is VALID [2020-07-17 22:32:27,058 INFO L280 TraceCheckUtils]: 33: Hoare triple {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-17 22:32:27,059 INFO L280 TraceCheckUtils]: 34: Hoare triple {12265#false} assume 0 == ~len~0;~len~0 := 1; {12265#false} is VALID [2020-07-17 22:32:27,059 INFO L280 TraceCheckUtils]: 35: Hoare triple {12265#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-17 22:32:27,059 INFO L280 TraceCheckUtils]: 36: Hoare triple {12265#false} goto; {12265#false} is VALID [2020-07-17 22:32:27,059 INFO L280 TraceCheckUtils]: 37: Hoare triple {12265#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {12265#false} is VALID [2020-07-17 22:32:27,060 INFO L280 TraceCheckUtils]: 38: Hoare triple {12265#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {12265#false} is VALID [2020-07-17 22:32:27,060 INFO L280 TraceCheckUtils]: 39: Hoare triple {12265#false} assume !false; {12265#false} is VALID [2020-07-17 22:32:27,070 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-17 22:32:27,070 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [19499609] [2020-07-17 22:32:27,070 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1319059906] [2020-07-17 22:32:27,070 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-17 22:32:27,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,175 INFO L264 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 33 conjunts are in the unsatisfiable core [2020-07-17 22:32:27,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:32:27,203 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:32:27,232 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 0 case distinctions, treesize of input 6 treesize of output 5 [2020-07-17 22:32:27,233 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,238 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,239 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,239 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2020-07-17 22:32:27,241 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:27,241 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_19|]. (and (= |#valid| (store |v_#valid_19| main_~list~0.base 1)) (= 0 main_~list~0.offset)) [2020-07-17 22:32:27,242 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base))) [2020-07-17 22:32:27,263 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-17 22:32:27,264 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,274 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,280 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-17 22:32:27,281 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,290 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,291 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,291 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:27 [2020-07-17 22:32:27,406 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,407 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-17 22:32:27,408 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,434 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,445 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:27,449 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 0 case distinctions, treesize of input 37 treesize of output 27 [2020-07-17 22:32:27,451 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,472 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,482 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:27,484 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 0 case distinctions, treesize of input 37 treesize of output 27 [2020-07-17 22:32:27,486 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,504 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,507 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-17 22:32:27,508 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:89, output treesize:50 [2020-07-17 22:32:27,520 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:27,521 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_39|, v_main_~end~0.offset_31, |main_#t~malloc9.offset|, |v_#valid_20|, |v_#memory_$Pointer$.base_39|]. (let ((.cse3 (select |v_#memory_$Pointer$.base_39| main_~list~0.base)) (.cse1 (select |v_#memory_$Pointer$.offset_39| main_~list~0.base)) (.cse4 (+ main_~list~0.offset 4))) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= 0 (select |v_#valid_20| main_~end~0.base)) (= 0 main_~list~0.offset) (= (let ((.cse0 (store |v_#memory_$Pointer$.offset_39| main_~list~0.base (store .cse1 v_main_~end~0.offset_31 |main_#t~malloc9.offset|)))) (store .cse0 main_~end~0.base (store (select .cse0 main_~end~0.base) main_~end~0.offset 0))) |#memory_$Pointer$.offset|) (= (let ((.cse2 (store |v_#memory_$Pointer$.base_39| main_~list~0.base (store .cse3 v_main_~end~0.offset_31 main_~end~0.base)))) (store .cse2 main_~end~0.base (store (select .cse2 main_~end~0.base) main_~end~0.offset 0))) |#memory_$Pointer$.base|) (= 1 (select |v_#valid_20| main_~list~0.base)) (= 0 (select .cse3 .cse4)) (= 0 (select .cse1 .cse4)))) [2020-07-17 22:32:27,521 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~end~0.offset_31]. (let ((.cse0 (+ main_~list~0.offset 4)) (.cse1 (select |#memory_$Pointer$.base| main_~list~0.base))) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) .cse0)) (= 0 (select .cse1 .cse0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= (select .cse1 v_main_~end~0.offset_31) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))) [2020-07-17 22:32:27,727 INFO L440 ElimStorePlain]: Different costs {6=[|v_#memory_$Pointer$.offset_40|], 12=[|v_#memory_$Pointer$.base_40|]} [2020-07-17 22:32:27,734 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:27,736 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 40 [2020-07-17 22:32:27,738 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,762 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:27,770 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:27,857 INFO L350 Elim1Store]: treesize reduction 46, result has 65.2 percent of original size [2020-07-17 22:32:27,858 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 74 treesize of output 124 [2020-07-17 22:32:27,875 INFO L320 QuantifierPusher]: Applying distributivity to a CONJUNCTION[9, 3, 2, 1] term [2020-07-17 22:32:27,876 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 9 disjuncts [2020-07-17 22:32:27,879 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:27,936 INFO L624 ElimStorePlain]: treesize reduction 64, result has 55.9 percent of original size [2020-07-17 22:32:27,940 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-17 22:32:27,940 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:97, output treesize:81 [2020-07-17 22:32:30,632 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:30,632 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_40|, v_main_~end~0.offset_31, |v_#memory_$Pointer$.offset_40|, main_~end~0.offset]. (let ((.cse0 (select |v_#memory_$Pointer$.base_40| main_~list~0.base))) (let ((.cse2 (select .cse0 v_main_~end~0.offset_31))) (let ((.cse1 (+ main_~list~0.offset 4)) (.cse4 (+ main_~end~0.offset 4)) (.cse5 (select |v_#memory_$Pointer$.offset_40| .cse2)) (.cse3 (select |v_#memory_$Pointer$.base_40| .cse2))) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= 0 main_~list~0.offset) (= 0 (select .cse0 .cse1)) (= 0 (select (select |v_#memory_$Pointer$.offset_40| main_~list~0.base) .cse1)) (not (= .cse2 main_~list~0.base)) (= (store |v_#memory_$Pointer$.base_40| .cse2 (store .cse3 .cse4 0)) |#memory_$Pointer$.base|) (= (store |v_#memory_$Pointer$.offset_40| .cse2 (store .cse5 .cse4 0)) |#memory_$Pointer$.offset|) (= 0 (select .cse5 main_~end~0.offset)) (= 0 (select .cse3 main_~end~0.offset)))))) [2020-07-17 22:32:30,633 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~end~0.offset_31, main_~end~0.offset]. (let ((.cse3 (select |#memory_$Pointer$.base| main_~list~0.base))) (let ((.cse1 (select .cse3 v_main_~end~0.offset_31))) (let ((.cse2 (+ main_~list~0.offset 4)) (.cse0 (select |#memory_$Pointer$.base| .cse1)) (.cse4 (+ main_~end~0.offset 4)) (.cse5 (select |#memory_$Pointer$.offset| .cse1))) (and (= 0 (select .cse0 main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= .cse1 main_~list~0.base)) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) .cse2)) (= 0 (select .cse3 .cse2)) (= 0 (select .cse0 .cse4)) (= (select .cse5 .cse4) 0) (= 0 (select .cse5 main_~end~0.offset)))))) [2020-07-17 22:32:33,078 INFO L440 ElimStorePlain]: Different costs {6=[|#memory_$Pointer$.offset|], 12=[|#memory_$Pointer$.base|]} [2020-07-17 22:32:33,092 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:33,094 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 39 treesize of output 13 [2020-07-17 22:32:33,096 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:33,114 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:33,120 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-17 22:32:33,180 INFO L350 Elim1Store]: treesize reduction 10, result has 84.1 percent of original size [2020-07-17 22:32:33,181 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 47 treesize of output 72 [2020-07-17 22:32:33,189 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 3 disjuncts [2020-07-17 22:32:33,199 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 2 disjuncts [2020-07-17 22:32:33,204 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-17 22:32:33,209 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:32:33,210 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:32:33,211 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:88, output treesize:7 [2020-07-17 22:32:33,214 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:32:33,215 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, main_~end~0.base, v_main_~end~0.offset_31, |#memory_$Pointer$.offset|, v_subst_2]. (let ((.cse6 (select |#memory_$Pointer$.base| main_~end~0.base))) (let ((.cse5 (select .cse6 v_main_~end~0.offset_31))) (let ((.cse4 (select |#memory_$Pointer$.offset| .cse5)) (.cse1 (+ v_subst_2 4)) (.cse2 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (.cse0 (select |#memory_$Pointer$.base| .cse5)) (.cse3 (select .cse6 4))) (and (= 0 (select .cse0 .cse1)) (= 0 .cse2) (= 0 .cse3) (= (select .cse4 v_subst_2) 0) (= 0 (select .cse4 .cse1)) (= .cse2 main_~inner~0.offset) (<= v_main_~end~0.offset_31 0) (= (select .cse0 v_subst_2) 0) (not (= .cse5 main_~end~0.base)) (= main_~inner~0.base .cse3))))) [2020-07-17 22:32:33,215 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset)) [2020-07-17 22:32:33,224 INFO L263 TraceCheckUtils]: 0: Hoare triple {12264#true} call ULTIMATE.init(); {12264#true} is VALID [2020-07-17 22:32:33,224 INFO L280 TraceCheckUtils]: 1: Hoare triple {12264#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12264#true} is VALID [2020-07-17 22:32:33,224 INFO L280 TraceCheckUtils]: 2: Hoare triple {12264#true} assume true; {12264#true} is VALID [2020-07-17 22:32:33,224 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12264#true} {12264#true} #337#return; {12264#true} is VALID [2020-07-17 22:32:33,225 INFO L263 TraceCheckUtils]: 4: Hoare triple {12264#true} call #t~ret28 := main(); {12264#true} is VALID [2020-07-17 22:32:33,227 INFO L280 TraceCheckUtils]: 5: Hoare triple {12264#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,229 INFO L280 TraceCheckUtils]: 6: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,230 INFO L280 TraceCheckUtils]: 7: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,231 INFO L280 TraceCheckUtils]: 8: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,232 INFO L280 TraceCheckUtils]: 9: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,233 INFO L280 TraceCheckUtils]: 10: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,233 INFO L280 TraceCheckUtils]: 11: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,234 INFO L280 TraceCheckUtils]: 12: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !!#t~short7;havoc #t~mem6.base, #t~mem6.offset;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,235 INFO L280 TraceCheckUtils]: 13: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} goto; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-17 22:32:33,235 INFO L280 TraceCheckUtils]: 14: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:33,237 INFO L280 TraceCheckUtils]: 15: Hoare triple {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-17 22:32:33,239 INFO L280 TraceCheckUtils]: 16: Hoare triple {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:33,241 INFO L280 TraceCheckUtils]: 17: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:33,242 INFO L280 TraceCheckUtils]: 18: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:33,242 INFO L280 TraceCheckUtils]: 19: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:33,243 INFO L280 TraceCheckUtils]: 20: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:33,244 INFO L280 TraceCheckUtils]: 21: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-17 22:32:33,247 INFO L280 TraceCheckUtils]: 22: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,248 INFO L280 TraceCheckUtils]: 23: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,249 INFO L280 TraceCheckUtils]: 24: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,250 INFO L280 TraceCheckUtils]: 25: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume !!#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,252 INFO L280 TraceCheckUtils]: 26: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} goto; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,253 INFO L280 TraceCheckUtils]: 27: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,254 INFO L280 TraceCheckUtils]: 28: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-17 22:32:33,256 INFO L280 TraceCheckUtils]: 29: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:33,257 INFO L280 TraceCheckUtils]: 30: Hoare triple {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:33,259 INFO L280 TraceCheckUtils]: 31: Hoare triple {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} goto; {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-17 22:32:33,260 INFO L280 TraceCheckUtils]: 32: Hoare triple {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} is VALID [2020-07-17 22:32:33,261 INFO L280 TraceCheckUtils]: 33: Hoare triple {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-17 22:32:33,262 INFO L280 TraceCheckUtils]: 34: Hoare triple {12265#false} assume 0 == ~len~0;~len~0 := 1; {12265#false} is VALID [2020-07-17 22:32:33,273 INFO L280 TraceCheckUtils]: 35: Hoare triple {12265#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-17 22:32:33,273 INFO L280 TraceCheckUtils]: 36: Hoare triple {12265#false} goto; {12265#false} is VALID [2020-07-17 22:32:33,273 INFO L280 TraceCheckUtils]: 37: Hoare triple {12265#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {12265#false} is VALID [2020-07-17 22:32:33,273 INFO L280 TraceCheckUtils]: 38: Hoare triple {12265#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {12265#false} is VALID [2020-07-17 22:32:33,274 INFO L280 TraceCheckUtils]: 39: Hoare triple {12265#false} assume !false; {12265#false} is VALID [2020-07-17 22:32:33,290 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-17 22:32:33,290 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:32:33,291 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2020-07-17 22:32:33,291 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [101963727] [2020-07-17 22:32:33,291 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 40 [2020-07-17 22:32:33,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:32:33,292 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-17 22:32:33,414 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:32:33,414 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-17 22:32:33,414 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:32:33,415 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-17 22:32:33,415 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=140, Unknown=1, NotChecked=0, Total=182 [2020-07-17 22:32:33,415 INFO L87 Difference]: Start difference. First operand 218 states and 262 transitions. Second operand 14 states. [2020-07-17 22:33:18,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:33:18,649 INFO L93 Difference]: Finished difference Result 521 states and 619 transitions. [2020-07-17 22:33:18,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-17 22:33:18,649 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 40 [2020-07-17 22:33:18,649 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:33:18,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-17 22:33:18,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 333 transitions. [2020-07-17 22:33:18,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-17 22:33:18,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 333 transitions. [2020-07-17 22:33:18,670 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 333 transitions. [2020-07-17 22:33:19,349 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 333 edges. 333 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:33:19,363 INFO L225 Difference]: With dead ends: 521 [2020-07-17 22:33:19,363 INFO L226 Difference]: Without dead ends: 429 [2020-07-17 22:33:19,364 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 198 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=221, Invalid=708, Unknown=1, NotChecked=0, Total=930 [2020-07-17 22:33:19,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 429 states. [2020-07-17 22:33:19,621 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 429 to 247. [2020-07-17 22:33:19,621 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:33:19,621 INFO L82 GeneralOperation]: Start isEquivalent. First operand 429 states. Second operand 247 states. [2020-07-17 22:33:19,621 INFO L74 IsIncluded]: Start isIncluded. First operand 429 states. Second operand 247 states. [2020-07-17 22:33:19,621 INFO L87 Difference]: Start difference. First operand 429 states. Second operand 247 states. [2020-07-17 22:33:19,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:33:19,633 INFO L93 Difference]: Finished difference Result 429 states and 505 transitions. [2020-07-17 22:33:19,633 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 505 transitions. [2020-07-17 22:33:19,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:33:19,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:33:19,635 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 429 states. [2020-07-17 22:33:19,635 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 429 states. [2020-07-17 22:33:19,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:33:19,647 INFO L93 Difference]: Finished difference Result 429 states and 505 transitions. [2020-07-17 22:33:19,647 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 505 transitions. [2020-07-17 22:33:19,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:33:19,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:33:19,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:33:19,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:33:19,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 247 states. [2020-07-17 22:33:19,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 297 transitions. [2020-07-17 22:33:19,654 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 297 transitions. Word has length 40 [2020-07-17 22:33:19,654 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:33:19,654 INFO L479 AbstractCegarLoop]: Abstraction has 247 states and 297 transitions. [2020-07-17 22:33:19,654 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-17 22:33:19,654 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 297 transitions. [2020-07-17 22:33:19,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-17 22:33:19,655 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:33:19,655 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:33:19,868 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:33:19,869 INFO L427 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:33:19,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:33:19,869 INFO L82 PathProgramCache]: Analyzing trace with hash 1717014481, now seen corresponding path program 1 times [2020-07-17 22:33:19,870 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:33:19,870 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019969819] [2020-07-17 22:33:19,870 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:33:19,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:33:19,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:33:19,954 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-17 22:33:19,954 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-17 22:33:19,954 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2020-07-17 22:33:20,026 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-17 22:33:20,026 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:33:20,026 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: L993-4 has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: L993-4 has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: L993-4 has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:33:20,027 WARN L170 areAnnotationChecker]: L993-5 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-1 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-1 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-3 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-3 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-6 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-6 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-15 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-15 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-9 has no Hoare annotation [2020-07-17 22:33:20,028 WARN L170 areAnnotationChecker]: L993-9 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-16 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-11 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-11 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L1005-15 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L1005-15 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-12 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-12 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-14 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L993-14 has no Hoare annotation [2020-07-17 22:33:20,029 WARN L170 areAnnotationChecker]: L998-3 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L998-1 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L998-1 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1012-4 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1012-4 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1012-4 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1004-4 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1004-4 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1004-4 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1014-1 has no Hoare annotation [2020-07-17 22:33:20,030 WARN L170 areAnnotationChecker]: L1014-1 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1014-1 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1012-1 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1012-1 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1012-3 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1012-3 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1005-3 has no Hoare annotation [2020-07-17 22:33:20,031 WARN L170 areAnnotationChecker]: L1005-3 has no Hoare annotation [2020-07-17 22:33:20,032 WARN L170 areAnnotationChecker]: L1005-3 has no Hoare annotation [2020-07-17 22:33:20,032 WARN L170 areAnnotationChecker]: L1004-1 has no Hoare annotation [2020-07-17 22:33:20,032 WARN L170 areAnnotationChecker]: L1004-1 has no Hoare annotation [2020-07-17 22:33:20,032 WARN L170 areAnnotationChecker]: L1004-3 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1004-3 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1028-2 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1028-2 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1028-2 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1005-4 has no Hoare annotation [2020-07-17 22:33:20,033 WARN L170 areAnnotationChecker]: L1005 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1005 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1005-2 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1005-2 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1037-2 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1041 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1041 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1020 has no Hoare annotation [2020-07-17 22:33:20,034 WARN L170 areAnnotationChecker]: L1020 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1005-5 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1005-5 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1043-4 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1043-4 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1043-4 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1041-2 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1031-4 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-17 22:33:20,035 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1031-2 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1031-2 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1024-3 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1024-3 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1024-3 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1005-14 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1005-14 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1044-4 has no Hoare annotation [2020-07-17 22:33:20,036 WARN L170 areAnnotationChecker]: L1044-4 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1043-1 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1043-1 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1043-3 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1043-3 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1025-4 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1025-4 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1024 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1024 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1024-2 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1024-2 has no Hoare annotation [2020-07-17 22:33:20,037 WARN L170 areAnnotationChecker]: L1005-8 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1005-8 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1044 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1044 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1045-4 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1045-4 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1025 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1025 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1026-4 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1026-4 has no Hoare annotation [2020-07-17 22:33:20,038 WARN L170 areAnnotationChecker]: L1005-10 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1005-10 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1044-1 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1044-1 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1044-3 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1044-3 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1045 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1045 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1045-5 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1025-1 has no Hoare annotation [2020-07-17 22:33:20,039 WARN L170 areAnnotationChecker]: L1025-1 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1025-3 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1025-3 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1026 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1026 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1026-5 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1005-11 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1005-11 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1005-13 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1005-13 has no Hoare annotation [2020-07-17 22:33:20,040 WARN L170 areAnnotationChecker]: L1045-1 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1045-1 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1045-3 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1045-3 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1026-1 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1026-1 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1026-3 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1026-3 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1028 has no Hoare annotation [2020-07-17 22:33:20,041 WARN L170 areAnnotationChecker]: L1028 has no Hoare annotation [2020-07-17 22:33:20,041 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-17 22:33:20,044 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:33:20 BoogieIcfgContainer [2020-07-17 22:33:20,045 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:33:20,048 INFO L168 Benchmark]: Toolchain (without parser) took 81497.41 ms. Allocated memory was 140.5 MB in the beginning and 488.1 MB in the end (delta: 347.6 MB). Free memory was 104.1 MB in the beginning and 398.4 MB in the end (delta: -294.4 MB). Peak memory consumption was 53.2 MB. Max. memory is 7.1 GB. [2020-07-17 22:33:20,049 INFO L168 Benchmark]: CDTParser took 0.38 ms. Allocated memory is still 140.5 MB. Free memory was 123.6 MB in the beginning and 123.4 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-17 22:33:20,050 INFO L168 Benchmark]: CACSL2BoogieTranslator took 701.86 ms. Allocated memory was 140.5 MB in the beginning and 205.0 MB in the end (delta: 64.5 MB). Free memory was 103.6 MB in the beginning and 170.7 MB in the end (delta: -67.1 MB). Peak memory consumption was 27.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:33:20,050 INFO L168 Benchmark]: Boogie Preprocessor took 92.51 ms. Allocated memory is still 205.0 MB. Free memory was 170.7 MB in the beginning and 166.2 MB in the end (delta: 4.5 MB). Peak memory consumption was 4.5 MB. Max. memory is 7.1 GB. [2020-07-17 22:33:20,050 INFO L168 Benchmark]: RCFGBuilder took 947.58 ms. Allocated memory was 205.0 MB in the beginning and 234.9 MB in the end (delta: 29.9 MB). Free memory was 166.2 MB in the beginning and 201.2 MB in the end (delta: -35.0 MB). Peak memory consumption was 76.6 MB. Max. memory is 7.1 GB. [2020-07-17 22:33:20,051 INFO L168 Benchmark]: TraceAbstraction took 79745.33 ms. Allocated memory was 234.9 MB in the beginning and 488.1 MB in the end (delta: 253.2 MB). Free memory was 201.2 MB in the beginning and 398.4 MB in the end (delta: -197.2 MB). Peak memory consumption was 56.0 MB. Max. memory is 7.1 GB. [2020-07-17 22:33:20,060 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.38 ms. Allocated memory is still 140.5 MB. Free memory was 123.6 MB in the beginning and 123.4 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 701.86 ms. Allocated memory was 140.5 MB in the beginning and 205.0 MB in the end (delta: 64.5 MB). Free memory was 103.6 MB in the beginning and 170.7 MB in the end (delta: -67.1 MB). Peak memory consumption was 27.1 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 92.51 ms. Allocated memory is still 205.0 MB. Free memory was 170.7 MB in the beginning and 166.2 MB in the end (delta: 4.5 MB). Peak memory consumption was 4.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 947.58 ms. Allocated memory was 205.0 MB in the beginning and 234.9 MB in the end (delta: 29.9 MB). Free memory was 166.2 MB in the beginning and 201.2 MB in the end (delta: -35.0 MB). Peak memory consumption was 76.6 MB. Max. memory is 7.1 GB. * TraceAbstraction took 79745.33 ms. Allocated memory was 234.9 MB in the beginning and 488.1 MB in the end (delta: 253.2 MB). Free memory was 201.2 MB in the beginning and 398.4 MB in the end (delta: -197.2 MB). Peak memory consumption was 56.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 1025]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L991] SLL* list = malloc(sizeof(SLL)); [L992] list->next = ((void*)0) VAL [list={-1:0}, malloc(sizeof(SLL))={-1:0}] [L993] COND FALSE !(!(list != ((void*)0))) VAL [list={-1:0}, malloc(sizeof(SLL))={-1:0}] [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] list->inner = malloc(sizeof(SLL)) [L993] EXPR list->inner [L993] list->inner->next = ((void*)0) [L993] EXPR list->inner [L993] list->inner->inner = ((void*)0) [L993] EXPR list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) VAL [list={-1:0}, list->inner={-2:0}, list->inner != ((void*)0) || list->inner == ((void*)0)=1, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L995] SLL* end = list; VAL [end={-1:0}, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list VAL [end={-1:0}, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1012] COND FALSE !(!(((void*)0) != end)) VAL [end={-1:0}, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR end->inner [L1017] SLL* inner = end->inner; [L1018] COND TRUE ((void*)0) != inner VAL [end={-1:0}, inner={-2:0}, len=0, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1020] COND TRUE len == 0 [L1021] len = 1 VAL [end={-1:0}, inner={-2:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1024] COND FALSE !(!(((void*)0) != inner)) VAL [end={-1:0}, inner={-2:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1025] EXPR inner->inner VAL [end={-1:0}, inner={-2:0}, inner->inner={0:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1025] COND FALSE !(!(((void*)0) == inner->inner)) [L1026] EXPR inner->next VAL [end={-1:0}, inner={-2:0}, inner->next={0:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1026] COND FALSE !(!(((void*)0) == inner->next)) [L1027] EXPR inner->inner [L1027] inner = inner->inner [L1028] COND TRUE len == 1 [L1029] EXPR inner->inner [L1029] inner = inner->inner [L1018] COND TRUE ((void*)0) != inner VAL [end={-1:0}, inner={12:3}, len=1, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1020] COND FALSE !(len == 0) [L1023] len = 2 VAL [end={-1:0}, inner={12:3}, len=2, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1024] COND FALSE !(!(((void*)0) != inner)) VAL [end={-1:0}, inner={12:3}, len=2, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1025] EXPR inner->inner VAL [end={-1:0}, inner={12:3}, inner->inner={9:11}, len=2, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] [L1025] COND TRUE !(((void*)0) == inner->inner) [L1025] __VERIFIER_error() VAL [end={-1:0}, inner={12:3}, len=2, list={-1:0}, malloc(sizeof(SLL))={-2:0}, malloc(sizeof(SLL))={-1:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 3 procedures, 89 locations, 13 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 79.5s, OverallIterations: 22, TraceHistogramMax: 2, AutomataDifference: 65.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1629 SDtfs, 2185 SDslu, 3181 SDs, 0 SdLazy, 3646 SolverSat, 233 SolverUnsat, 9 SolverUnknown, 0 SolverNotchecked, 19.5s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 294 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 246 ImplicationChecksByTransitivity, 4.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=247occurred in iteration=21, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.9s AutomataMinimizationTime, 21 MinimizatonAttempts, 849 StatesRemovedByMinimization, 18 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 9.3s InterpolantComputationTime, 699 NumberOfCodeBlocks, 699 NumberOfCodeBlocksAsserted, 25 NumberOfCheckSat, 635 ConstructedInterpolants, 16 QuantifiedInterpolants, 227743 SizeOfPredicates, 31 NumberOfNonLiveVariables, 383 ConjunctsInSsa, 63 ConjunctsInUnsatCore, 24 InterpolantComputations, 18 PerfectInterpolantSequences, 10/19 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...