/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/forester-heap/sll-rb-sentinel-2.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 16:25:43,634 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 16:25:43,639 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 16:25:43,657 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 16:25:43,657 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 16:25:43,659 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 16:25:43,662 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 16:25:43,673 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 16:25:43,675 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 16:25:43,676 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 16:25:43,679 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 16:25:43,681 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 16:25:43,682 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 16:25:43,685 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 16:25:43,687 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 16:25:43,689 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 16:25:43,692 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 16:25:43,694 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 16:25:43,695 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 16:25:43,701 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 16:25:43,707 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 16:25:43,712 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 16:25:43,713 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 16:25:43,714 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 16:25:43,717 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 16:25:43,717 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 16:25:43,718 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 16:25:43,721 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 16:25:43,721 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 16:25:43,722 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 16:25:43,723 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 16:25:43,724 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 16:25:43,726 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 16:25:43,727 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 16:25:43,728 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 16:25:43,728 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 16:25:43,729 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 16:25:43,729 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 16:25:43,729 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 16:25:43,730 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 16:25:43,732 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 16:25:43,733 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 16:25:43,758 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 16:25:43,759 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 16:25:43,766 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 16:25:43,767 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 16:25:43,767 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 16:25:43,767 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 16:25:43,767 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 16:25:43,768 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 16:25:43,768 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 16:25:43,768 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 16:25:43,768 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 16:25:43,768 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 16:25:43,768 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 16:25:43,769 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 16:25:43,769 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 16:25:43,769 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 16:25:43,774 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 16:25:43,774 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 16:25:43,775 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 16:25:43,775 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 16:25:43,775 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 16:25:43,775 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 16:25:43,775 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-08 16:25:44,055 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 16:25:44,078 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 16:25:44,082 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 16:25:44,084 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 16:25:44,085 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 16:25:44,086 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/forester-heap/sll-rb-sentinel-2.i [2020-07-08 16:25:44,174 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/70613939a/11403ecc036d44bbb7749d4b817498a3/FLAG61d851c2e [2020-07-08 16:25:44,786 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 16:25:44,787 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/forester-heap/sll-rb-sentinel-2.i [2020-07-08 16:25:44,811 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/70613939a/11403ecc036d44bbb7749d4b817498a3/FLAG61d851c2e [2020-07-08 16:25:45,037 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/70613939a/11403ecc036d44bbb7749d4b817498a3 [2020-07-08 16:25:45,048 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 16:25:45,050 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 16:25:45,052 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 16:25:45,052 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 16:25:45,056 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 16:25:45,058 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,061 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7b184564 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45, skipping insertion in model container [2020-07-08 16:25:45,062 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,071 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 16:25:45,112 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 16:25:45,614 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 16:25:45,640 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 16:25:45,690 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 16:25:45,767 INFO L208 MainTranslator]: Completed translation [2020-07-08 16:25:45,767 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45 WrapperNode [2020-07-08 16:25:45,768 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 16:25:45,769 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 16:25:45,769 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 16:25:45,769 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 16:25:45,785 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,785 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,812 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,812 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,838 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,847 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,851 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... [2020-07-08 16:25:45,858 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 16:25:45,859 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 16:25:45,859 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 16:25:45,859 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 16:25:45,860 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 16:25:45,928 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 16:25:45,928 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 16:25:45,928 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 16:25:45,928 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-08 16:25:45,929 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-08 16:25:45,930 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-08 16:25:45,930 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-08 16:25:45,930 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-08 16:25:45,930 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-08 16:25:45,930 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-08 16:25:45,931 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-08 16:25:45,931 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-08 16:25:45,931 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-08 16:25:45,931 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-08 16:25:45,932 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-08 16:25:45,932 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-08 16:25:45,932 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-08 16:25:45,932 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-08 16:25:45,933 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-08 16:25:45,933 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-08 16:25:45,933 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-08 16:25:45,933 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-08 16:25:45,933 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-08 16:25:45,934 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-08 16:25:45,934 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-08 16:25:45,934 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-08 16:25:45,934 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-08 16:25:45,934 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-08 16:25:45,934 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-08 16:25:45,935 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-08 16:25:45,935 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-08 16:25:45,935 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-08 16:25:45,935 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-08 16:25:45,935 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-08 16:25:45,935 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-08 16:25:45,936 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 16:25:45,937 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-08 16:25:45,938 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-08 16:25:45,939 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-08 16:25:45,939 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-08 16:25:45,939 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-08 16:25:45,939 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-08 16:25:45,939 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-08 16:25:45,939 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-08 16:25:45,940 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-08 16:25:45,940 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-08 16:25:45,940 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-08 16:25:45,940 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-08 16:25:45,940 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-08 16:25:45,940 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-08 16:25:45,941 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-08 16:25:45,942 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-08 16:25:45,943 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-08 16:25:45,943 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-08 16:25:45,943 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-08 16:25:45,943 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-08 16:25:45,943 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-08 16:25:45,943 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-08 16:25:45,944 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-08 16:25:45,944 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-08 16:25:45,944 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-08 16:25:45,944 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-08 16:25:45,944 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-08 16:25:45,944 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-08 16:25:45,945 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 16:25:45,946 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 16:25:45,946 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-08 16:25:45,946 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 16:25:45,946 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 16:25:45,946 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 16:25:46,768 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 16:25:46,769 INFO L295 CfgBuilder]: Removed 11 assume(true) statements. [2020-07-08 16:25:46,774 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 04:25:46 BoogieIcfgContainer [2020-07-08 16:25:46,774 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 16:25:46,776 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 16:25:46,776 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 16:25:46,779 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 16:25:46,780 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 04:25:45" (1/3) ... [2020-07-08 16:25:46,781 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2ed7b1ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 04:25:46, skipping insertion in model container [2020-07-08 16:25:46,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 04:25:45" (2/3) ... [2020-07-08 16:25:46,782 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2ed7b1ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 04:25:46, skipping insertion in model container [2020-07-08 16:25:46,782 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 04:25:46" (3/3) ... [2020-07-08 16:25:46,784 INFO L109 eAbstractionObserver]: Analyzing ICFG sll-rb-sentinel-2.i [2020-07-08 16:25:46,797 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 16:25:46,808 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 4 error locations. [2020-07-08 16:25:46,825 INFO L251 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2020-07-08 16:25:46,853 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 16:25:46,853 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 16:25:46,853 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-08 16:25:46,854 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 16:25:46,854 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 16:25:46,854 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 16:25:46,854 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 16:25:46,854 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 16:25:46,897 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states. [2020-07-08 16:25:46,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-08 16:25:46,908 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:25:46,910 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] [2020-07-08 16:25:46,910 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:25:46,917 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:25:46,917 INFO L82 PathProgramCache]: Analyzing trace with hash -159181327, now seen corresponding path program 1 times [2020-07-08 16:25:46,927 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:25:46,928 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1636034857] [2020-07-08 16:25:46,928 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:25:47,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:47,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:47,196 INFO L280 TraceCheckUtils]: 0: Hoare triple {108#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {101#true} is VALID [2020-07-08 16:25:47,197 INFO L280 TraceCheckUtils]: 1: Hoare triple {101#true} #valid := #valid[0 := 0]; {101#true} is VALID [2020-07-08 16:25:47,197 INFO L280 TraceCheckUtils]: 2: Hoare triple {101#true} assume 0 < #StackHeapBarrier; {101#true} is VALID [2020-07-08 16:25:47,198 INFO L280 TraceCheckUtils]: 3: Hoare triple {101#true} assume true; {101#true} is VALID [2020-07-08 16:25:47,198 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {101#true} {101#true} #196#return; {101#true} is VALID [2020-07-08 16:25:47,202 INFO L263 TraceCheckUtils]: 0: Hoare triple {101#true} call ULTIMATE.init(); {108#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:25:47,203 INFO L280 TraceCheckUtils]: 1: Hoare triple {108#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {101#true} is VALID [2020-07-08 16:25:47,203 INFO L280 TraceCheckUtils]: 2: Hoare triple {101#true} #valid := #valid[0 := 0]; {101#true} is VALID [2020-07-08 16:25:47,203 INFO L280 TraceCheckUtils]: 3: Hoare triple {101#true} assume 0 < #StackHeapBarrier; {101#true} is VALID [2020-07-08 16:25:47,204 INFO L280 TraceCheckUtils]: 4: Hoare triple {101#true} assume true; {101#true} is VALID [2020-07-08 16:25:47,204 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {101#true} {101#true} #196#return; {101#true} is VALID [2020-07-08 16:25:47,204 INFO L263 TraceCheckUtils]: 6: Hoare triple {101#true} call #t~ret17 := main(); {101#true} is VALID [2020-07-08 16:25:47,205 INFO L280 TraceCheckUtils]: 7: Hoare triple {101#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {101#true} is VALID [2020-07-08 16:25:47,205 INFO L280 TraceCheckUtils]: 8: Hoare triple {101#true} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {101#true} is VALID [2020-07-08 16:25:47,206 INFO L280 TraceCheckUtils]: 9: Hoare triple {101#true} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {101#true} is VALID [2020-07-08 16:25:47,206 INFO L280 TraceCheckUtils]: 10: Hoare triple {101#true} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {101#true} is VALID [2020-07-08 16:25:47,206 INFO L280 TraceCheckUtils]: 11: Hoare triple {101#true} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {101#true} is VALID [2020-07-08 16:25:47,207 INFO L280 TraceCheckUtils]: 12: Hoare triple {101#true} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {101#true} is VALID [2020-07-08 16:25:47,207 INFO L280 TraceCheckUtils]: 13: Hoare triple {101#true} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {101#true} is VALID [2020-07-08 16:25:47,207 INFO L280 TraceCheckUtils]: 14: Hoare triple {101#true} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {101#true} is VALID [2020-07-08 16:25:47,208 INFO L280 TraceCheckUtils]: 15: Hoare triple {101#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {101#true} is VALID [2020-07-08 16:25:47,209 INFO L280 TraceCheckUtils]: 16: Hoare triple {101#true} assume !true; {102#false} is VALID [2020-07-08 16:25:47,210 INFO L280 TraceCheckUtils]: 17: Hoare triple {102#false} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {102#false} is VALID [2020-07-08 16:25:47,210 INFO L280 TraceCheckUtils]: 18: Hoare triple {102#false} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {102#false} is VALID [2020-07-08 16:25:47,210 INFO L280 TraceCheckUtils]: 19: Hoare triple {102#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {102#false} is VALID [2020-07-08 16:25:47,211 INFO L280 TraceCheckUtils]: 20: Hoare triple {102#false} assume !false; {102#false} is VALID [2020-07-08 16:25:47,214 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:25:47,214 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:25:47,217 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1636034857] [2020-07-08 16:25:47,219 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:25:47,219 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-08 16:25:47,220 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2025596526] [2020-07-08 16:25:47,227 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2020-07-08 16:25:47,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:25:47,235 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-08 16:25:47,275 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:47,275 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-08 16:25:47,275 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:25:47,285 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-08 16:25:47,286 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 16:25:47,288 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 3 states. [2020-07-08 16:25:47,822 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:47,823 INFO L93 Difference]: Finished difference Result 157 states and 194 transitions. [2020-07-08 16:25:47,823 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-08 16:25:47,823 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 21 [2020-07-08 16:25:47,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:25:47,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 16:25:47,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 194 transitions. [2020-07-08 16:25:47,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 16:25:47,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 194 transitions. [2020-07-08 16:25:47,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 194 transitions. [2020-07-08 16:25:48,131 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:48,164 INFO L225 Difference]: With dead ends: 157 [2020-07-08 16:25:48,164 INFO L226 Difference]: Without dead ends: 74 [2020-07-08 16:25:48,174 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 16:25:48,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-08 16:25:48,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2020-07-08 16:25:48,285 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:25:48,286 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 74 states. [2020-07-08 16:25:48,287 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 74 states. [2020-07-08 16:25:48,287 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 74 states. [2020-07-08 16:25:48,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:48,295 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-08 16:25:48,296 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-08 16:25:48,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:48,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:48,297 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 74 states. [2020-07-08 16:25:48,298 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 74 states. [2020-07-08 16:25:48,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:48,306 INFO L93 Difference]: Finished difference Result 74 states and 77 transitions. [2020-07-08 16:25:48,306 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-08 16:25:48,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:48,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:48,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:25:48,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:25:48,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2020-07-08 16:25:48,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 77 transitions. [2020-07-08 16:25:48,314 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 77 transitions. Word has length 21 [2020-07-08 16:25:48,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:25:48,315 INFO L479 AbstractCegarLoop]: Abstraction has 74 states and 77 transitions. [2020-07-08 16:25:48,315 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-08 16:25:48,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 74 states and 77 transitions. [2020-07-08 16:25:48,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:48,427 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 77 transitions. [2020-07-08 16:25:48,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2020-07-08 16:25:48,428 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:25:48,428 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] [2020-07-08 16:25:48,429 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 16:25:48,430 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:25:48,431 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:25:48,431 INFO L82 PathProgramCache]: Analyzing trace with hash 1476818129, now seen corresponding path program 1 times [2020-07-08 16:25:48,431 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:25:48,432 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [916932876] [2020-07-08 16:25:48,432 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:25:48,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:48,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:48,701 INFO L280 TraceCheckUtils]: 0: Hoare triple {733#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {721#true} is VALID [2020-07-08 16:25:48,702 INFO L280 TraceCheckUtils]: 1: Hoare triple {721#true} #valid := #valid[0 := 0]; {721#true} is VALID [2020-07-08 16:25:48,702 INFO L280 TraceCheckUtils]: 2: Hoare triple {721#true} assume 0 < #StackHeapBarrier; {721#true} is VALID [2020-07-08 16:25:48,702 INFO L280 TraceCheckUtils]: 3: Hoare triple {721#true} assume true; {721#true} is VALID [2020-07-08 16:25:48,703 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {721#true} {721#true} #196#return; {721#true} is VALID [2020-07-08 16:25:48,704 INFO L263 TraceCheckUtils]: 0: Hoare triple {721#true} call ULTIMATE.init(); {733#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:25:48,704 INFO L280 TraceCheckUtils]: 1: Hoare triple {733#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {721#true} is VALID [2020-07-08 16:25:48,705 INFO L280 TraceCheckUtils]: 2: Hoare triple {721#true} #valid := #valid[0 := 0]; {721#true} is VALID [2020-07-08 16:25:48,705 INFO L280 TraceCheckUtils]: 3: Hoare triple {721#true} assume 0 < #StackHeapBarrier; {721#true} is VALID [2020-07-08 16:25:48,705 INFO L280 TraceCheckUtils]: 4: Hoare triple {721#true} assume true; {721#true} is VALID [2020-07-08 16:25:48,705 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {721#true} {721#true} #196#return; {721#true} is VALID [2020-07-08 16:25:48,706 INFO L263 TraceCheckUtils]: 6: Hoare triple {721#true} call #t~ret17 := main(); {721#true} is VALID [2020-07-08 16:25:48,707 INFO L280 TraceCheckUtils]: 7: Hoare triple {721#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {728#(= 1 (select |#valid| |main_#t~malloc0.base|))} is VALID [2020-07-08 16:25:48,709 INFO L280 TraceCheckUtils]: 8: Hoare triple {728#(= 1 (select |#valid| |main_#t~malloc0.base|))} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {729#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-08 16:25:48,711 INFO L280 TraceCheckUtils]: 9: Hoare triple {729#(= 1 (select |#valid| main_~null~0.base))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {729#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-08 16:25:48,711 INFO L280 TraceCheckUtils]: 10: Hoare triple {729#(= 1 (select |#valid| main_~null~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {729#(= 1 (select |#valid| main_~null~0.base))} is VALID [2020-07-08 16:25:48,713 INFO L280 TraceCheckUtils]: 11: Hoare triple {729#(= 1 (select |#valid| main_~null~0.base))} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {730#(not (= |main_#t~malloc1.base| main_~null~0.base))} is VALID [2020-07-08 16:25:48,716 INFO L280 TraceCheckUtils]: 12: Hoare triple {730#(not (= |main_#t~malloc1.base| main_~null~0.base))} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,717 INFO L280 TraceCheckUtils]: 13: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,718 INFO L280 TraceCheckUtils]: 14: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,718 INFO L280 TraceCheckUtils]: 15: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,719 INFO L280 TraceCheckUtils]: 16: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,720 INFO L280 TraceCheckUtils]: 17: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} assume !(0 != #t~nondet2); {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,721 INFO L280 TraceCheckUtils]: 18: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} havoc #t~nondet2; {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,722 INFO L280 TraceCheckUtils]: 19: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {731#(not (= main_~list~0.base main_~null~0.base))} is VALID [2020-07-08 16:25:48,723 INFO L280 TraceCheckUtils]: 20: Hoare triple {731#(not (= main_~list~0.base main_~null~0.base))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {732#(not (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 16:25:48,724 INFO L280 TraceCheckUtils]: 21: Hoare triple {732#(not (= main_~null~0.base main_~end~0.base))} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {722#false} is VALID [2020-07-08 16:25:48,724 INFO L280 TraceCheckUtils]: 22: Hoare triple {722#false} assume !false; {722#false} is VALID [2020-07-08 16:25:48,727 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:25:48,727 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:25:48,728 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [916932876] [2020-07-08 16:25:48,728 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:25:48,728 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-08 16:25:48,728 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801084272] [2020-07-08 16:25:48,729 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 23 [2020-07-08 16:25:48,730 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:25:48,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-08 16:25:48,759 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:48,759 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-08 16:25:48,759 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:25:48,760 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-08 16:25:48,760 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2020-07-08 16:25:48,760 INFO L87 Difference]: Start difference. First operand 74 states and 77 transitions. Second operand 8 states. [2020-07-08 16:25:49,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:49,835 INFO L93 Difference]: Finished difference Result 92 states and 97 transitions. [2020-07-08 16:25:49,835 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-08 16:25:49,836 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 23 [2020-07-08 16:25:49,836 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:25:49,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-08 16:25:49,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2020-07-08 16:25:49,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-08 16:25:49,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2020-07-08 16:25:49,843 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2020-07-08 16:25:49,977 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:49,982 INFO L225 Difference]: With dead ends: 92 [2020-07-08 16:25:49,982 INFO L226 Difference]: Without dead ends: 90 [2020-07-08 16:25:49,983 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=91, Unknown=0, NotChecked=0, Total=132 [2020-07-08 16:25:49,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2020-07-08 16:25:50,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 72. [2020-07-08 16:25:50,210 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:25:50,210 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand 72 states. [2020-07-08 16:25:50,211 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 72 states. [2020-07-08 16:25:50,211 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 72 states. [2020-07-08 16:25:50,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:50,216 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2020-07-08 16:25:50,216 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2020-07-08 16:25:50,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:50,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:50,218 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 90 states. [2020-07-08 16:25:50,218 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 90 states. [2020-07-08 16:25:50,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:50,222 INFO L93 Difference]: Finished difference Result 90 states and 95 transitions. [2020-07-08 16:25:50,223 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 95 transitions. [2020-07-08 16:25:50,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:50,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:50,224 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:25:50,224 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:25:50,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2020-07-08 16:25:50,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 75 transitions. [2020-07-08 16:25:50,228 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 75 transitions. Word has length 23 [2020-07-08 16:25:50,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:25:50,228 INFO L479 AbstractCegarLoop]: Abstraction has 72 states and 75 transitions. [2020-07-08 16:25:50,229 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-08 16:25:50,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 72 states and 75 transitions. [2020-07-08 16:25:50,345 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:50,345 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 75 transitions. [2020-07-08 16:25:50,346 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-08 16:25:50,347 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:25:50,347 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-08 16:25:50,347 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 16:25:50,347 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:25:50,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:25:50,348 INFO L82 PathProgramCache]: Analyzing trace with hash 1518762392, now seen corresponding path program 1 times [2020-07-08 16:25:50,348 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:25:50,348 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1953130759] [2020-07-08 16:25:50,349 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:25:50,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:50,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:50,748 INFO L280 TraceCheckUtils]: 0: Hoare triple {1267#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1252#true} is VALID [2020-07-08 16:25:50,749 INFO L280 TraceCheckUtils]: 1: Hoare triple {1252#true} #valid := #valid[0 := 0]; {1252#true} is VALID [2020-07-08 16:25:50,749 INFO L280 TraceCheckUtils]: 2: Hoare triple {1252#true} assume 0 < #StackHeapBarrier; {1252#true} is VALID [2020-07-08 16:25:50,750 INFO L280 TraceCheckUtils]: 3: Hoare triple {1252#true} assume true; {1252#true} is VALID [2020-07-08 16:25:50,750 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1252#true} {1252#true} #196#return; {1252#true} is VALID [2020-07-08 16:25:50,752 INFO L263 TraceCheckUtils]: 0: Hoare triple {1252#true} call ULTIMATE.init(); {1267#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:25:50,752 INFO L280 TraceCheckUtils]: 1: Hoare triple {1267#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1252#true} is VALID [2020-07-08 16:25:50,753 INFO L280 TraceCheckUtils]: 2: Hoare triple {1252#true} #valid := #valid[0 := 0]; {1252#true} is VALID [2020-07-08 16:25:50,753 INFO L280 TraceCheckUtils]: 3: Hoare triple {1252#true} assume 0 < #StackHeapBarrier; {1252#true} is VALID [2020-07-08 16:25:50,756 INFO L280 TraceCheckUtils]: 4: Hoare triple {1252#true} assume true; {1252#true} is VALID [2020-07-08 16:25:50,756 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1252#true} {1252#true} #196#return; {1252#true} is VALID [2020-07-08 16:25:50,757 INFO L263 TraceCheckUtils]: 6: Hoare triple {1252#true} call #t~ret17 := main(); {1252#true} is VALID [2020-07-08 16:25:50,758 INFO L280 TraceCheckUtils]: 7: Hoare triple {1252#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {1259#(= 0 |main_#t~malloc0.offset|)} is VALID [2020-07-08 16:25:50,759 INFO L280 TraceCheckUtils]: 8: Hoare triple {1259#(= 0 |main_#t~malloc0.offset|)} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {1260#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:25:50,760 INFO L280 TraceCheckUtils]: 9: Hoare triple {1260#(= 0 main_~null~0.offset)} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {1260#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:25:50,761 INFO L280 TraceCheckUtils]: 10: Hoare triple {1260#(= 0 main_~null~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {1260#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:25:50,763 INFO L280 TraceCheckUtils]: 11: Hoare triple {1260#(= 0 main_~null~0.offset)} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {1261#(and (= 0 main_~null~0.offset) (= 0 |main_#t~malloc1.offset|))} is VALID [2020-07-08 16:25:50,764 INFO L280 TraceCheckUtils]: 12: Hoare triple {1261#(and (= 0 main_~null~0.offset) (= 0 |main_#t~malloc1.offset|))} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {1262#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,765 INFO L280 TraceCheckUtils]: 13: Hoare triple {1262#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {1262#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,767 INFO L280 TraceCheckUtils]: 14: Hoare triple {1262#(and (= 0 main_~null~0.offset) (= main_~list~0.offset main_~null~0.offset))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,769 INFO L280 TraceCheckUtils]: 15: Hoare triple {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,770 INFO L280 TraceCheckUtils]: 16: Hoare triple {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,771 INFO L280 TraceCheckUtils]: 17: Hoare triple {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} assume !(0 != #t~nondet2); {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,772 INFO L280 TraceCheckUtils]: 18: Hoare triple {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} havoc #t~nondet2; {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,774 INFO L280 TraceCheckUtils]: 19: Hoare triple {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:50,775 INFO L280 TraceCheckUtils]: 20: Hoare triple {1263#(and (= 0 main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1264#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} is VALID [2020-07-08 16:25:50,776 INFO L280 TraceCheckUtils]: 21: Hoare triple {1264#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1265#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:50,777 INFO L280 TraceCheckUtils]: 22: Hoare triple {1265#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} goto; {1265#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:50,779 INFO L280 TraceCheckUtils]: 23: Hoare triple {1265#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} SUMMARY for call #t~mem8 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1031-6 {1266#(= ~unnamed1~0~BLACK |main_#t~mem8|)} is VALID [2020-07-08 16:25:50,779 INFO L280 TraceCheckUtils]: 24: Hoare triple {1266#(= ~unnamed1~0~BLACK |main_#t~mem8|)} assume !(~unnamed1~0~BLACK == #t~mem8); {1253#false} is VALID [2020-07-08 16:25:50,780 INFO L280 TraceCheckUtils]: 25: Hoare triple {1253#false} havoc #t~mem8; {1253#false} is VALID [2020-07-08 16:25:50,780 INFO L280 TraceCheckUtils]: 26: Hoare triple {1253#false} assume !false; {1253#false} is VALID [2020-07-08 16:25:50,784 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:25:50,785 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:25:50,785 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1953130759] [2020-07-08 16:25:50,786 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:25:50,786 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2020-07-08 16:25:50,786 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [327424922] [2020-07-08 16:25:50,787 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 27 [2020-07-08 16:25:50,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:25:50,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-08 16:25:50,827 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-08 16:25:50,828 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-08 16:25:50,828 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:25:50,828 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-08 16:25:50,829 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2020-07-08 16:25:50,829 INFO L87 Difference]: Start difference. First operand 72 states and 75 transitions. Second operand 11 states. [2020-07-08 16:25:52,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:52,731 INFO L93 Difference]: Finished difference Result 124 states and 130 transitions. [2020-07-08 16:25:52,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-08 16:25:52,731 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 27 [2020-07-08 16:25:52,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:25:52,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-08 16:25:52,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2020-07-08 16:25:52,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-08 16:25:52,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2020-07-08 16:25:52,739 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 130 transitions. [2020-07-08 16:25:52,929 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:52,934 INFO L225 Difference]: With dead ends: 124 [2020-07-08 16:25:52,934 INFO L226 Difference]: Without dead ends: 121 [2020-07-08 16:25:52,935 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=104, Invalid=238, Unknown=0, NotChecked=0, Total=342 [2020-07-08 16:25:52,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2020-07-08 16:25:53,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 81. [2020-07-08 16:25:53,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:25:53,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 81 states. [2020-07-08 16:25:53,327 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 81 states. [2020-07-08 16:25:53,327 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 81 states. [2020-07-08 16:25:53,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:53,333 INFO L93 Difference]: Finished difference Result 121 states and 127 transitions. [2020-07-08 16:25:53,334 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 127 transitions. [2020-07-08 16:25:53,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:53,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:53,336 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 121 states. [2020-07-08 16:25:53,336 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 121 states. [2020-07-08 16:25:53,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:53,342 INFO L93 Difference]: Finished difference Result 121 states and 127 transitions. [2020-07-08 16:25:53,343 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 127 transitions. [2020-07-08 16:25:53,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:53,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:53,344 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:25:53,344 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:25:53,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2020-07-08 16:25:53,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 85 transitions. [2020-07-08 16:25:53,348 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 85 transitions. Word has length 27 [2020-07-08 16:25:53,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:25:53,349 INFO L479 AbstractCegarLoop]: Abstraction has 81 states and 85 transitions. [2020-07-08 16:25:53,349 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-08 16:25:53,349 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 81 states and 85 transitions. [2020-07-08 16:25:53,528 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-08 16:25:53,528 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 85 transitions. [2020-07-08 16:25:53,530 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-08 16:25:53,530 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:25:53,530 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-08 16:25:53,530 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 16:25:53,531 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:25:53,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:25:53,531 INFO L82 PathProgramCache]: Analyzing trace with hash 2047332937, now seen corresponding path program 1 times [2020-07-08 16:25:53,531 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:25:53,532 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1535914640] [2020-07-08 16:25:53,532 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:25:53,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:53,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:53,733 INFO L280 TraceCheckUtils]: 0: Hoare triple {1948#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1938#true} is VALID [2020-07-08 16:25:53,734 INFO L280 TraceCheckUtils]: 1: Hoare triple {1938#true} #valid := #valid[0 := 0]; {1938#true} is VALID [2020-07-08 16:25:53,734 INFO L280 TraceCheckUtils]: 2: Hoare triple {1938#true} assume 0 < #StackHeapBarrier; {1938#true} is VALID [2020-07-08 16:25:53,734 INFO L280 TraceCheckUtils]: 3: Hoare triple {1938#true} assume true; {1938#true} is VALID [2020-07-08 16:25:53,735 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1938#true} {1938#true} #196#return; {1938#true} is VALID [2020-07-08 16:25:53,740 INFO L263 TraceCheckUtils]: 0: Hoare triple {1938#true} call ULTIMATE.init(); {1948#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:25:53,741 INFO L280 TraceCheckUtils]: 1: Hoare triple {1948#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1938#true} is VALID [2020-07-08 16:25:53,741 INFO L280 TraceCheckUtils]: 2: Hoare triple {1938#true} #valid := #valid[0 := 0]; {1938#true} is VALID [2020-07-08 16:25:53,741 INFO L280 TraceCheckUtils]: 3: Hoare triple {1938#true} assume 0 < #StackHeapBarrier; {1938#true} is VALID [2020-07-08 16:25:53,742 INFO L280 TraceCheckUtils]: 4: Hoare triple {1938#true} assume true; {1938#true} is VALID [2020-07-08 16:25:53,742 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1938#true} {1938#true} #196#return; {1938#true} is VALID [2020-07-08 16:25:53,742 INFO L263 TraceCheckUtils]: 6: Hoare triple {1938#true} call #t~ret17 := main(); {1938#true} is VALID [2020-07-08 16:25:53,743 INFO L280 TraceCheckUtils]: 7: Hoare triple {1938#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {1938#true} is VALID [2020-07-08 16:25:53,743 INFO L280 TraceCheckUtils]: 8: Hoare triple {1938#true} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {1938#true} is VALID [2020-07-08 16:25:53,743 INFO L280 TraceCheckUtils]: 9: Hoare triple {1938#true} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {1938#true} is VALID [2020-07-08 16:25:53,743 INFO L280 TraceCheckUtils]: 10: Hoare triple {1938#true} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {1938#true} is VALID [2020-07-08 16:25:53,744 INFO L280 TraceCheckUtils]: 11: Hoare triple {1938#true} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {1938#true} is VALID [2020-07-08 16:25:53,744 INFO L280 TraceCheckUtils]: 12: Hoare triple {1938#true} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {1938#true} is VALID [2020-07-08 16:25:53,745 INFO L280 TraceCheckUtils]: 13: Hoare triple {1938#true} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {1938#true} is VALID [2020-07-08 16:25:53,746 INFO L280 TraceCheckUtils]: 14: Hoare triple {1938#true} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {1938#true} is VALID [2020-07-08 16:25:53,746 INFO L280 TraceCheckUtils]: 15: Hoare triple {1938#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1938#true} is VALID [2020-07-08 16:25:53,750 INFO L280 TraceCheckUtils]: 16: Hoare triple {1938#true} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {1938#true} is VALID [2020-07-08 16:25:53,751 INFO L280 TraceCheckUtils]: 17: Hoare triple {1938#true} assume !(0 != #t~nondet2); {1938#true} is VALID [2020-07-08 16:25:53,751 INFO L280 TraceCheckUtils]: 18: Hoare triple {1938#true} havoc #t~nondet2; {1938#true} is VALID [2020-07-08 16:25:53,752 INFO L280 TraceCheckUtils]: 19: Hoare triple {1938#true} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {1938#true} is VALID [2020-07-08 16:25:53,752 INFO L280 TraceCheckUtils]: 20: Hoare triple {1938#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1938#true} is VALID [2020-07-08 16:25:53,752 INFO L280 TraceCheckUtils]: 21: Hoare triple {1938#true} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1938#true} is VALID [2020-07-08 16:25:53,752 INFO L280 TraceCheckUtils]: 22: Hoare triple {1938#true} goto; {1938#true} is VALID [2020-07-08 16:25:53,753 INFO L280 TraceCheckUtils]: 23: Hoare triple {1938#true} SUMMARY for call #t~mem8 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1031-6 {1945#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) |main_#t~mem8|)} is VALID [2020-07-08 16:25:53,754 INFO L280 TraceCheckUtils]: 24: Hoare triple {1945#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) |main_#t~mem8|)} assume !!(~unnamed1~0~BLACK == #t~mem8); {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:53,755 INFO L280 TraceCheckUtils]: 25: Hoare triple {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} havoc #t~mem8; {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:53,756 INFO L280 TraceCheckUtils]: 26: Hoare triple {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} goto; {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:53,756 INFO L280 TraceCheckUtils]: 27: Hoare triple {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:53,757 INFO L280 TraceCheckUtils]: 28: Hoare triple {1946#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} SUMMARY for call #t~mem9 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1035 {1947#(= ~unnamed1~0~BLACK |main_#t~mem9|)} is VALID [2020-07-08 16:25:53,758 INFO L280 TraceCheckUtils]: 29: Hoare triple {1947#(= ~unnamed1~0~BLACK |main_#t~mem9|)} assume ~unnamed1~0~RED == #t~mem9; {1939#false} is VALID [2020-07-08 16:25:53,758 INFO L280 TraceCheckUtils]: 30: Hoare triple {1939#false} havoc #t~mem9; {1939#false} is VALID [2020-07-08 16:25:53,758 INFO L280 TraceCheckUtils]: 31: Hoare triple {1939#false} SUMMARY for call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1037 {1939#false} is VALID [2020-07-08 16:25:53,759 INFO L280 TraceCheckUtils]: 32: Hoare triple {1939#false} ~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset; {1939#false} is VALID [2020-07-08 16:25:53,759 INFO L280 TraceCheckUtils]: 33: Hoare triple {1939#false} havoc #t~mem10.base, #t~mem10.offset; {1939#false} is VALID [2020-07-08 16:25:53,759 INFO L280 TraceCheckUtils]: 34: Hoare triple {1939#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {1939#false} is VALID [2020-07-08 16:25:53,760 INFO L280 TraceCheckUtils]: 35: Hoare triple {1939#false} assume !false; {1939#false} is VALID [2020-07-08 16:25:53,762 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:25:53,762 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:25:53,762 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1535914640] [2020-07-08 16:25:53,763 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:25:53,763 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-08 16:25:53,763 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1847728146] [2020-07-08 16:25:53,764 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 36 [2020-07-08 16:25:53,764 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:25:53,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-08 16:25:53,806 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:53,806 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-08 16:25:53,807 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:25:53,807 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-08 16:25:53,807 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-08 16:25:53,807 INFO L87 Difference]: Start difference. First operand 81 states and 85 transitions. Second operand 6 states. [2020-07-08 16:25:54,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:54,743 INFO L93 Difference]: Finished difference Result 114 states and 120 transitions. [2020-07-08 16:25:54,743 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-08 16:25:54,743 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 36 [2020-07-08 16:25:54,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:25:54,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-08 16:25:54,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 115 transitions. [2020-07-08 16:25:54,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-08 16:25:54,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 115 transitions. [2020-07-08 16:25:54,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 115 transitions. [2020-07-08 16:25:54,877 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:54,880 INFO L225 Difference]: With dead ends: 114 [2020-07-08 16:25:54,880 INFO L226 Difference]: Without dead ends: 92 [2020-07-08 16:25:54,882 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-08 16:25:54,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2020-07-08 16:25:55,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 84. [2020-07-08 16:25:55,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:25:55,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 84 states. [2020-07-08 16:25:55,221 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 84 states. [2020-07-08 16:25:55,222 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 84 states. [2020-07-08 16:25:55,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:55,225 INFO L93 Difference]: Finished difference Result 92 states and 96 transitions. [2020-07-08 16:25:55,226 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2020-07-08 16:25:55,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:55,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:55,227 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 92 states. [2020-07-08 16:25:55,228 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 92 states. [2020-07-08 16:25:55,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:25:55,231 INFO L93 Difference]: Finished difference Result 92 states and 96 transitions. [2020-07-08 16:25:55,235 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 96 transitions. [2020-07-08 16:25:55,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:25:55,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:25:55,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:25:55,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:25:55,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2020-07-08 16:25:55,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 88 transitions. [2020-07-08 16:25:55,240 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 88 transitions. Word has length 36 [2020-07-08 16:25:55,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:25:55,242 INFO L479 AbstractCegarLoop]: Abstraction has 84 states and 88 transitions. [2020-07-08 16:25:55,242 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-08 16:25:55,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 84 states and 88 transitions. [2020-07-08 16:25:55,410 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:55,411 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 88 transitions. [2020-07-08 16:25:55,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-08 16:25:55,412 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:25:55,412 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-08 16:25:55,413 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 16:25:55,413 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:25:55,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:25:55,414 INFO L82 PathProgramCache]: Analyzing trace with hash -1237644091, now seen corresponding path program 1 times [2020-07-08 16:25:55,414 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:25:55,414 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [972666821] [2020-07-08 16:25:55,415 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:25:55,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:56,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:25:56,290 INFO L280 TraceCheckUtils]: 0: Hoare triple {2557#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2535#true} is VALID [2020-07-08 16:25:56,291 INFO L280 TraceCheckUtils]: 1: Hoare triple {2535#true} #valid := #valid[0 := 0]; {2535#true} is VALID [2020-07-08 16:25:56,291 INFO L280 TraceCheckUtils]: 2: Hoare triple {2535#true} assume 0 < #StackHeapBarrier; {2535#true} is VALID [2020-07-08 16:25:56,291 INFO L280 TraceCheckUtils]: 3: Hoare triple {2535#true} assume true; {2535#true} is VALID [2020-07-08 16:25:56,292 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2535#true} {2535#true} #196#return; {2535#true} is VALID [2020-07-08 16:25:56,294 INFO L263 TraceCheckUtils]: 0: Hoare triple {2535#true} call ULTIMATE.init(); {2557#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:25:56,294 INFO L280 TraceCheckUtils]: 1: Hoare triple {2557#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2535#true} is VALID [2020-07-08 16:25:56,295 INFO L280 TraceCheckUtils]: 2: Hoare triple {2535#true} #valid := #valid[0 := 0]; {2535#true} is VALID [2020-07-08 16:25:56,295 INFO L280 TraceCheckUtils]: 3: Hoare triple {2535#true} assume 0 < #StackHeapBarrier; {2535#true} is VALID [2020-07-08 16:25:56,295 INFO L280 TraceCheckUtils]: 4: Hoare triple {2535#true} assume true; {2535#true} is VALID [2020-07-08 16:25:56,295 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2535#true} {2535#true} #196#return; {2535#true} is VALID [2020-07-08 16:25:56,295 INFO L263 TraceCheckUtils]: 6: Hoare triple {2535#true} call #t~ret17 := main(); {2535#true} is VALID [2020-07-08 16:25:56,296 INFO L280 TraceCheckUtils]: 7: Hoare triple {2535#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {2542#(= 0 |main_#t~malloc0.offset|)} is VALID [2020-07-08 16:25:56,297 INFO L280 TraceCheckUtils]: 8: Hoare triple {2542#(= 0 |main_#t~malloc0.offset|)} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {2543#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:25:56,297 INFO L280 TraceCheckUtils]: 9: Hoare triple {2543#(= 0 main_~null~0.offset)} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {2543#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:25:56,298 INFO L280 TraceCheckUtils]: 10: Hoare triple {2543#(= 0 main_~null~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {2543#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:25:56,299 INFO L280 TraceCheckUtils]: 11: Hoare triple {2543#(= 0 main_~null~0.offset)} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {2544#(and (= 1 (select |#valid| |main_#t~malloc1.base|)) (= 0 |main_#t~malloc1.offset|) (= |main_#t~malloc1.offset| main_~null~0.offset))} is VALID [2020-07-08 16:25:56,300 INFO L280 TraceCheckUtils]: 12: Hoare triple {2544#(and (= 1 (select |#valid| |main_#t~malloc1.base|)) (= 0 |main_#t~malloc1.offset|) (= |main_#t~malloc1.offset| main_~null~0.offset))} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {2545#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,301 INFO L280 TraceCheckUtils]: 13: Hoare triple {2545#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.offset main_~null~0.offset))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {2545#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,302 INFO L280 TraceCheckUtils]: 14: Hoare triple {2545#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.offset main_~null~0.offset))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {2546#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,303 INFO L280 TraceCheckUtils]: 15: Hoare triple {2546#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:25:56,305 INFO L280 TraceCheckUtils]: 16: Hoare triple {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:25:56,306 INFO L280 TraceCheckUtils]: 17: Hoare triple {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume !!(0 != #t~nondet2); {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:25:56,307 INFO L280 TraceCheckUtils]: 18: Hoare triple {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} havoc #t~nondet2; {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:25:56,308 INFO L280 TraceCheckUtils]: 19: Hoare triple {2547#(and (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8); srcloc: L1008 {2548#(and (= 0 main_~list~0.offset) (not (= |main_#t~malloc3.base| main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:25:56,310 INFO L280 TraceCheckUtils]: 20: Hoare triple {2548#(and (= 0 main_~list~0.offset) (not (= |main_#t~malloc3.base| main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1008-1 {2549#(and (= 0 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:25:56,311 INFO L280 TraceCheckUtils]: 21: Hoare triple {2549#(and (= 0 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= main_~list~0.offset main_~null~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1008-2 {2550#(and (= 0 main_~list~0.offset) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,312 INFO L280 TraceCheckUtils]: 22: Hoare triple {2550#(and (= 0 main_~list~0.offset) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := #t~mem4.base, #t~mem4.offset; {2551#(and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,313 INFO L280 TraceCheckUtils]: 23: Hoare triple {2551#(and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} havoc #t~mem4.base, #t~mem4.offset; {2551#(and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,315 INFO L280 TraceCheckUtils]: 24: Hoare triple {2551#(and (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1010 {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,324 INFO L280 TraceCheckUtils]: 25: Hoare triple {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647; {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,325 INFO L280 TraceCheckUtils]: 26: Hoare triple {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} assume 0 != #t~nondet5; {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,326 INFO L280 TraceCheckUtils]: 27: Hoare triple {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} havoc #t~nondet5; {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,328 INFO L280 TraceCheckUtils]: 28: Hoare triple {2552#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1014 {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,329 INFO L280 TraceCheckUtils]: 29: Hoare triple {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,330 INFO L280 TraceCheckUtils]: 30: Hoare triple {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} assume !(0 != #t~nondet2); {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,331 INFO L280 TraceCheckUtils]: 31: Hoare triple {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} havoc #t~nondet2; {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,332 INFO L280 TraceCheckUtils]: 32: Hoare triple {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} is VALID [2020-07-08 16:25:56,333 INFO L280 TraceCheckUtils]: 33: Hoare triple {2553#(and (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (= main_~list~0.offset main_~null~0.offset))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2554#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} is VALID [2020-07-08 16:25:56,333 INFO L280 TraceCheckUtils]: 34: Hoare triple {2554#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {2555#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:56,334 INFO L280 TraceCheckUtils]: 35: Hoare triple {2555#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} goto; {2555#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:25:56,335 INFO L280 TraceCheckUtils]: 36: Hoare triple {2555#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} SUMMARY for call #t~mem8 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1031-6 {2556#(= ~unnamed1~0~BLACK |main_#t~mem8|)} is VALID [2020-07-08 16:25:56,336 INFO L280 TraceCheckUtils]: 37: Hoare triple {2556#(= ~unnamed1~0~BLACK |main_#t~mem8|)} assume !(~unnamed1~0~BLACK == #t~mem8); {2536#false} is VALID [2020-07-08 16:25:56,336 INFO L280 TraceCheckUtils]: 38: Hoare triple {2536#false} havoc #t~mem8; {2536#false} is VALID [2020-07-08 16:25:56,336 INFO L280 TraceCheckUtils]: 39: Hoare triple {2536#false} assume !false; {2536#false} is VALID [2020-07-08 16:25:56,344 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:25:56,345 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:25:56,345 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [972666821] [2020-07-08 16:25:56,345 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:25:56,346 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2020-07-08 16:25:56,346 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1602368436] [2020-07-08 16:25:56,346 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 40 [2020-07-08 16:25:56,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:25:56,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 16:25:56,400 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:25:56,401 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 16:25:56,401 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:25:56,401 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 16:25:56,402 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2020-07-08 16:25:56,402 INFO L87 Difference]: Start difference. First operand 84 states and 88 transitions. Second operand 18 states. [2020-07-08 16:26:00,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:00,643 INFO L93 Difference]: Finished difference Result 155 states and 162 transitions. [2020-07-08 16:26:00,644 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-08 16:26:00,644 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 40 [2020-07-08 16:26:00,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:26:00,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 16:26:00,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 157 transitions. [2020-07-08 16:26:00,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 16:26:00,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 157 transitions. [2020-07-08 16:26:00,662 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 157 transitions. [2020-07-08 16:26:00,912 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:00,916 INFO L225 Difference]: With dead ends: 155 [2020-07-08 16:26:00,916 INFO L226 Difference]: Without dead ends: 152 [2020-07-08 16:26:00,917 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=279, Invalid=777, Unknown=0, NotChecked=0, Total=1056 [2020-07-08 16:26:00,918 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 152 states. [2020-07-08 16:26:01,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 152 to 97. [2020-07-08 16:26:01,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:26:01,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 152 states. Second operand 97 states. [2020-07-08 16:26:01,514 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 97 states. [2020-07-08 16:26:01,514 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 97 states. [2020-07-08 16:26:01,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:01,521 INFO L93 Difference]: Finished difference Result 152 states and 159 transitions. [2020-07-08 16:26:01,521 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 159 transitions. [2020-07-08 16:26:01,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:01,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:01,522 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 152 states. [2020-07-08 16:26:01,522 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 152 states. [2020-07-08 16:26:01,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:01,549 INFO L93 Difference]: Finished difference Result 152 states and 159 transitions. [2020-07-08 16:26:01,549 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 159 transitions. [2020-07-08 16:26:01,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:01,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:01,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:26:01,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:26:01,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2020-07-08 16:26:01,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 103 transitions. [2020-07-08 16:26:01,554 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 103 transitions. Word has length 40 [2020-07-08 16:26:01,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:26:01,554 INFO L479 AbstractCegarLoop]: Abstraction has 97 states and 103 transitions. [2020-07-08 16:26:01,554 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 16:26:01,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 97 states and 103 transitions. [2020-07-08 16:26:01,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:01,813 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 103 transitions. [2020-07-08 16:26:01,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2020-07-08 16:26:01,813 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:26:01,814 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 16:26:01,814 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 16:26:01,814 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:26:01,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:26:01,815 INFO L82 PathProgramCache]: Analyzing trace with hash 1411163060, now seen corresponding path program 1 times [2020-07-08 16:26:01,815 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:26:01,816 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [750444920] [2020-07-08 16:26:01,816 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:26:01,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:26:02,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:26:02,011 INFO L280 TraceCheckUtils]: 0: Hoare triple {3409#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3398#true} is VALID [2020-07-08 16:26:02,011 INFO L280 TraceCheckUtils]: 1: Hoare triple {3398#true} #valid := #valid[0 := 0]; {3398#true} is VALID [2020-07-08 16:26:02,012 INFO L280 TraceCheckUtils]: 2: Hoare triple {3398#true} assume 0 < #StackHeapBarrier; {3398#true} is VALID [2020-07-08 16:26:02,012 INFO L280 TraceCheckUtils]: 3: Hoare triple {3398#true} assume true; {3398#true} is VALID [2020-07-08 16:26:02,013 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3398#true} {3398#true} #196#return; {3398#true} is VALID [2020-07-08 16:26:02,014 INFO L263 TraceCheckUtils]: 0: Hoare triple {3398#true} call ULTIMATE.init(); {3409#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:26:02,015 INFO L280 TraceCheckUtils]: 1: Hoare triple {3409#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {3398#true} is VALID [2020-07-08 16:26:02,015 INFO L280 TraceCheckUtils]: 2: Hoare triple {3398#true} #valid := #valid[0 := 0]; {3398#true} is VALID [2020-07-08 16:26:02,015 INFO L280 TraceCheckUtils]: 3: Hoare triple {3398#true} assume 0 < #StackHeapBarrier; {3398#true} is VALID [2020-07-08 16:26:02,015 INFO L280 TraceCheckUtils]: 4: Hoare triple {3398#true} assume true; {3398#true} is VALID [2020-07-08 16:26:02,016 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3398#true} {3398#true} #196#return; {3398#true} is VALID [2020-07-08 16:26:02,016 INFO L263 TraceCheckUtils]: 6: Hoare triple {3398#true} call #t~ret17 := main(); {3398#true} is VALID [2020-07-08 16:26:02,016 INFO L280 TraceCheckUtils]: 7: Hoare triple {3398#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {3398#true} is VALID [2020-07-08 16:26:02,016 INFO L280 TraceCheckUtils]: 8: Hoare triple {3398#true} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {3398#true} is VALID [2020-07-08 16:26:02,017 INFO L280 TraceCheckUtils]: 9: Hoare triple {3398#true} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {3398#true} is VALID [2020-07-08 16:26:02,017 INFO L280 TraceCheckUtils]: 10: Hoare triple {3398#true} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {3398#true} is VALID [2020-07-08 16:26:02,017 INFO L280 TraceCheckUtils]: 11: Hoare triple {3398#true} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {3398#true} is VALID [2020-07-08 16:26:02,018 INFO L280 TraceCheckUtils]: 12: Hoare triple {3398#true} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {3398#true} is VALID [2020-07-08 16:26:02,019 INFO L280 TraceCheckUtils]: 13: Hoare triple {3398#true} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,021 INFO L280 TraceCheckUtils]: 14: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,022 INFO L280 TraceCheckUtils]: 15: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,023 INFO L280 TraceCheckUtils]: 16: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,024 INFO L280 TraceCheckUtils]: 17: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} assume !(0 != #t~nondet2); {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,025 INFO L280 TraceCheckUtils]: 18: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} havoc #t~nondet2; {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,026 INFO L280 TraceCheckUtils]: 19: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} is VALID [2020-07-08 16:26:02,027 INFO L280 TraceCheckUtils]: 20: Hoare triple {3405#(and (= (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset) main_~null~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~null~0.base))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,028 INFO L280 TraceCheckUtils]: 21: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,029 INFO L280 TraceCheckUtils]: 22: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} goto; {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,030 INFO L280 TraceCheckUtils]: 23: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} SUMMARY for call #t~mem8 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1031-6 {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,031 INFO L280 TraceCheckUtils]: 24: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} assume !!(~unnamed1~0~BLACK == #t~mem8); {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,032 INFO L280 TraceCheckUtils]: 25: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} havoc #t~mem8; {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,033 INFO L280 TraceCheckUtils]: 26: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} goto; {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,034 INFO L280 TraceCheckUtils]: 27: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,035 INFO L280 TraceCheckUtils]: 28: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} SUMMARY for call #t~mem9 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1035 {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,036 INFO L280 TraceCheckUtils]: 29: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} assume !(~unnamed1~0~RED == #t~mem9); {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,037 INFO L280 TraceCheckUtils]: 30: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} havoc #t~mem9; {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} is VALID [2020-07-08 16:26:02,038 INFO L280 TraceCheckUtils]: 31: Hoare triple {3406#(and (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~null~0.base) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset) main_~null~0.offset))} SUMMARY for call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1035-4 {3407#(and (= |main_#t~mem12.offset| main_~null~0.offset) (= |main_#t~mem12.base| main_~null~0.base))} is VALID [2020-07-08 16:26:02,039 INFO L280 TraceCheckUtils]: 32: Hoare triple {3407#(and (= |main_#t~mem12.offset| main_~null~0.offset) (= |main_#t~mem12.base| main_~null~0.base))} ~end~0.base, ~end~0.offset := #t~mem12.base, #t~mem12.offset; {3408#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 16:26:02,040 INFO L280 TraceCheckUtils]: 33: Hoare triple {3408#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} havoc #t~mem12.base, #t~mem12.offset; {3408#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} is VALID [2020-07-08 16:26:02,041 INFO L280 TraceCheckUtils]: 34: Hoare triple {3408#(and (= main_~end~0.offset main_~null~0.offset) (= main_~null~0.base main_~end~0.base))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3399#false} is VALID [2020-07-08 16:26:02,041 INFO L280 TraceCheckUtils]: 35: Hoare triple {3399#false} SUMMARY for call #t~mem9 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1035 {3399#false} is VALID [2020-07-08 16:26:02,042 INFO L280 TraceCheckUtils]: 36: Hoare triple {3399#false} assume ~unnamed1~0~RED == #t~mem9; {3399#false} is VALID [2020-07-08 16:26:02,042 INFO L280 TraceCheckUtils]: 37: Hoare triple {3399#false} havoc #t~mem9; {3399#false} is VALID [2020-07-08 16:26:02,042 INFO L280 TraceCheckUtils]: 38: Hoare triple {3399#false} SUMMARY for call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1037 {3399#false} is VALID [2020-07-08 16:26:02,043 INFO L280 TraceCheckUtils]: 39: Hoare triple {3399#false} ~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset; {3399#false} is VALID [2020-07-08 16:26:02,043 INFO L280 TraceCheckUtils]: 40: Hoare triple {3399#false} havoc #t~mem10.base, #t~mem10.offset; {3399#false} is VALID [2020-07-08 16:26:02,043 INFO L280 TraceCheckUtils]: 41: Hoare triple {3399#false} assume !(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {3399#false} is VALID [2020-07-08 16:26:02,044 INFO L280 TraceCheckUtils]: 42: Hoare triple {3399#false} assume !false; {3399#false} is VALID [2020-07-08 16:26:02,049 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:26:02,050 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:26:02,050 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [750444920] [2020-07-08 16:26:02,050 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:26:02,050 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 16:26:02,051 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [194065875] [2020-07-08 16:26:02,051 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 43 [2020-07-08 16:26:02,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:26:02,052 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 16:26:02,111 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:02,111 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 16:26:02,112 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:26:02,112 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 16:26:02,112 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 16:26:02,112 INFO L87 Difference]: Start difference. First operand 97 states and 103 transitions. Second operand 7 states. [2020-07-08 16:26:03,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:03,533 INFO L93 Difference]: Finished difference Result 136 states and 143 transitions. [2020-07-08 16:26:03,533 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-08 16:26:03,533 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 43 [2020-07-08 16:26:03,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:26:03,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 16:26:03,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 121 transitions. [2020-07-08 16:26:03,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 16:26:03,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 121 transitions. [2020-07-08 16:26:03,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 121 transitions. [2020-07-08 16:26:03,681 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:03,683 INFO L225 Difference]: With dead ends: 136 [2020-07-08 16:26:03,683 INFO L226 Difference]: Without dead ends: 97 [2020-07-08 16:26:03,684 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2020-07-08 16:26:03,685 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2020-07-08 16:26:04,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2020-07-08 16:26:04,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:26:04,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 97 states. Second operand 97 states. [2020-07-08 16:26:04,279 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 97 states. [2020-07-08 16:26:04,280 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 97 states. [2020-07-08 16:26:04,282 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:04,282 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2020-07-08 16:26:04,283 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2020-07-08 16:26:04,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:04,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:04,283 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 97 states. [2020-07-08 16:26:04,283 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 97 states. [2020-07-08 16:26:04,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:04,286 INFO L93 Difference]: Finished difference Result 97 states and 102 transitions. [2020-07-08 16:26:04,287 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2020-07-08 16:26:04,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:04,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:04,287 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:26:04,287 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:26:04,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2020-07-08 16:26:04,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 102 transitions. [2020-07-08 16:26:04,291 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 102 transitions. Word has length 43 [2020-07-08 16:26:04,291 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:26:04,291 INFO L479 AbstractCegarLoop]: Abstraction has 97 states and 102 transitions. [2020-07-08 16:26:04,291 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 16:26:04,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 97 states and 102 transitions. [2020-07-08 16:26:04,563 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:04,563 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 102 transitions. [2020-07-08 16:26:04,564 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2020-07-08 16:26:04,564 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:26:04,564 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, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 16:26:04,565 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-08 16:26:04,565 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:26:04,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:26:04,566 INFO L82 PathProgramCache]: Analyzing trace with hash -1215747511, now seen corresponding path program 1 times [2020-07-08 16:26:04,566 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:26:04,567 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2076734245] [2020-07-08 16:26:04,567 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:26:04,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:26:05,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:26:05,955 INFO L280 TraceCheckUtils]: 0: Hoare triple {4106#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4080#true} is VALID [2020-07-08 16:26:05,956 INFO L280 TraceCheckUtils]: 1: Hoare triple {4080#true} #valid := #valid[0 := 0]; {4080#true} is VALID [2020-07-08 16:26:05,956 INFO L280 TraceCheckUtils]: 2: Hoare triple {4080#true} assume 0 < #StackHeapBarrier; {4080#true} is VALID [2020-07-08 16:26:05,956 INFO L280 TraceCheckUtils]: 3: Hoare triple {4080#true} assume true; {4080#true} is VALID [2020-07-08 16:26:05,956 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4080#true} {4080#true} #196#return; {4080#true} is VALID [2020-07-08 16:26:05,958 INFO L263 TraceCheckUtils]: 0: Hoare triple {4080#true} call ULTIMATE.init(); {4106#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:26:05,958 INFO L280 TraceCheckUtils]: 1: Hoare triple {4106#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4080#true} is VALID [2020-07-08 16:26:05,958 INFO L280 TraceCheckUtils]: 2: Hoare triple {4080#true} #valid := #valid[0 := 0]; {4080#true} is VALID [2020-07-08 16:26:05,958 INFO L280 TraceCheckUtils]: 3: Hoare triple {4080#true} assume 0 < #StackHeapBarrier; {4080#true} is VALID [2020-07-08 16:26:05,959 INFO L280 TraceCheckUtils]: 4: Hoare triple {4080#true} assume true; {4080#true} is VALID [2020-07-08 16:26:05,959 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4080#true} {4080#true} #196#return; {4080#true} is VALID [2020-07-08 16:26:05,959 INFO L263 TraceCheckUtils]: 6: Hoare triple {4080#true} call #t~ret17 := main(); {4080#true} is VALID [2020-07-08 16:26:05,965 INFO L280 TraceCheckUtils]: 7: Hoare triple {4080#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {4087#(= 0 |main_#t~malloc0.offset|)} is VALID [2020-07-08 16:26:05,965 INFO L280 TraceCheckUtils]: 8: Hoare triple {4087#(= 0 |main_#t~malloc0.offset|)} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {4088#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:26:05,966 INFO L280 TraceCheckUtils]: 9: Hoare triple {4088#(= 0 main_~null~0.offset)} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {4088#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:26:05,966 INFO L280 TraceCheckUtils]: 10: Hoare triple {4088#(= 0 main_~null~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {4088#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:26:05,967 INFO L280 TraceCheckUtils]: 11: Hoare triple {4088#(= 0 main_~null~0.offset)} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {4089#(and (= 1 (select |#valid| |main_#t~malloc1.base|)) (= 0 |main_#t~malloc1.offset|) (= |main_#t~malloc1.offset| main_~null~0.offset))} is VALID [2020-07-08 16:26:05,968 INFO L280 TraceCheckUtils]: 12: Hoare triple {4089#(and (= 1 (select |#valid| |main_#t~malloc1.base|)) (= 0 |main_#t~malloc1.offset|) (= |main_#t~malloc1.offset| main_~null~0.offset))} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {4090#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-08 16:26:05,969 INFO L280 TraceCheckUtils]: 13: Hoare triple {4090#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {4090#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-08 16:26:05,970 INFO L280 TraceCheckUtils]: 14: Hoare triple {4090#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {4091#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,971 INFO L280 TraceCheckUtils]: 15: Hoare triple {4091#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:05,972 INFO L280 TraceCheckUtils]: 16: Hoare triple {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:05,978 INFO L280 TraceCheckUtils]: 17: Hoare triple {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume !!(0 != #t~nondet2); {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:05,979 INFO L280 TraceCheckUtils]: 18: Hoare triple {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} havoc #t~nondet2; {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:05,980 INFO L280 TraceCheckUtils]: 19: Hoare triple {4092#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8); srcloc: L1008 {4093#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= |main_#t~malloc3.base| main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:05,982 INFO L280 TraceCheckUtils]: 20: Hoare triple {4093#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= |main_#t~malloc3.base| main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1008-1 {4094#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:05,983 INFO L280 TraceCheckUtils]: 21: Hoare triple {4094#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1008-2 {4095#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,984 INFO L280 TraceCheckUtils]: 22: Hoare triple {4095#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := #t~mem4.base, #t~mem4.offset; {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,984 INFO L280 TraceCheckUtils]: 23: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~mem4.base, #t~mem4.offset; {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,986 INFO L280 TraceCheckUtils]: 24: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1010 {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,986 INFO L280 TraceCheckUtils]: 25: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647; {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,987 INFO L280 TraceCheckUtils]: 26: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet5); {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,988 INFO L280 TraceCheckUtils]: 27: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~nondet5; {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,989 INFO L280 TraceCheckUtils]: 28: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~int(~unnamed1~0~RED, ~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1018 {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,992 INFO L280 TraceCheckUtils]: 29: Hoare triple {4096#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call #t~malloc6.base, #t~malloc6.offset := #Ultimate.allocOnHeap(8); srcloc: L1018-1 {4097#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= |main_#t~malloc6.base| main_~list~0.base)))} is VALID [2020-07-08 16:26:05,995 INFO L280 TraceCheckUtils]: 30: Hoare triple {4097#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= |main_#t~malloc6.base| main_~list~0.base)))} SUMMARY for call write~$Pointer$(#t~malloc6.base, #t~malloc6.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1019 {4098#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~list~0.base)))} is VALID [2020-07-08 16:26:05,997 INFO L280 TraceCheckUtils]: 31: Hoare triple {4098#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~list~0.base)))} SUMMARY for call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1019-1 {4099#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= |main_#t~mem7.base| main_~list~0.base)))} is VALID [2020-07-08 16:26:05,998 INFO L280 TraceCheckUtils]: 32: Hoare triple {4099#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= |main_#t~mem7.base| main_~list~0.base)))} ~end~0.base, ~end~0.offset := #t~mem7.base, #t~mem7.offset; {4100#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:05,999 INFO L280 TraceCheckUtils]: 33: Hoare triple {4100#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~mem7.base, #t~mem7.offset; {4100#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,000 INFO L280 TraceCheckUtils]: 34: Hoare triple {4100#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1021 {4101#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,001 INFO L280 TraceCheckUtils]: 35: Hoare triple {4101#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1021-1 {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,002 INFO L280 TraceCheckUtils]: 36: Hoare triple {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,003 INFO L280 TraceCheckUtils]: 37: Hoare triple {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet2); {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,003 INFO L280 TraceCheckUtils]: 38: Hoare triple {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~nondet2; {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,004 INFO L280 TraceCheckUtils]: 39: Hoare triple {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:06,004 INFO L280 TraceCheckUtils]: 40: Hoare triple {4102#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4103#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} is VALID [2020-07-08 16:26:06,005 INFO L280 TraceCheckUtils]: 41: Hoare triple {4103#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {4104#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:26:06,006 INFO L280 TraceCheckUtils]: 42: Hoare triple {4104#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} goto; {4104#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:26:06,007 INFO L280 TraceCheckUtils]: 43: Hoare triple {4104#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} SUMMARY for call #t~mem8 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1031-6 {4105#(= ~unnamed1~0~BLACK |main_#t~mem8|)} is VALID [2020-07-08 16:26:06,007 INFO L280 TraceCheckUtils]: 44: Hoare triple {4105#(= ~unnamed1~0~BLACK |main_#t~mem8|)} assume !(~unnamed1~0~BLACK == #t~mem8); {4081#false} is VALID [2020-07-08 16:26:06,007 INFO L280 TraceCheckUtils]: 45: Hoare triple {4081#false} havoc #t~mem8; {4081#false} is VALID [2020-07-08 16:26:06,007 INFO L280 TraceCheckUtils]: 46: Hoare triple {4081#false} assume !false; {4081#false} is VALID [2020-07-08 16:26:06,017 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:26:06,017 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:26:06,018 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2076734245] [2020-07-08 16:26:06,018 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:26:06,018 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2020-07-08 16:26:06,018 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1454410300] [2020-07-08 16:26:06,019 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 47 [2020-07-08 16:26:06,019 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:26:06,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-08 16:26:06,091 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:06,091 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-08 16:26:06,091 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:26:06,092 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-08 16:26:06,092 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=368, Unknown=0, NotChecked=0, Total=462 [2020-07-08 16:26:06,093 INFO L87 Difference]: Start difference. First operand 97 states and 102 transitions. Second operand 22 states. [2020-07-08 16:26:11,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:11,225 INFO L93 Difference]: Finished difference Result 163 states and 170 transitions. [2020-07-08 16:26:11,225 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2020-07-08 16:26:11,225 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 47 [2020-07-08 16:26:11,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:26:11,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 16:26:11,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 165 transitions. [2020-07-08 16:26:11,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 16:26:11,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 165 transitions. [2020-07-08 16:26:11,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states and 165 transitions. [2020-07-08 16:26:11,500 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:11,504 INFO L225 Difference]: With dead ends: 163 [2020-07-08 16:26:11,504 INFO L226 Difference]: Without dead ends: 160 [2020-07-08 16:26:11,505 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 299 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=420, Invalid=1302, Unknown=0, NotChecked=0, Total=1722 [2020-07-08 16:26:11,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2020-07-08 16:26:12,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 106. [2020-07-08 16:26:12,207 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:26:12,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 106 states. [2020-07-08 16:26:12,208 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 106 states. [2020-07-08 16:26:12,208 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 106 states. [2020-07-08 16:26:12,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:12,215 INFO L93 Difference]: Finished difference Result 160 states and 167 transitions. [2020-07-08 16:26:12,215 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 167 transitions. [2020-07-08 16:26:12,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:12,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:12,216 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 160 states. [2020-07-08 16:26:12,216 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 160 states. [2020-07-08 16:26:12,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:12,222 INFO L93 Difference]: Finished difference Result 160 states and 167 transitions. [2020-07-08 16:26:12,222 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 167 transitions. [2020-07-08 16:26:12,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:12,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:12,223 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:26:12,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:26:12,224 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2020-07-08 16:26:12,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 111 transitions. [2020-07-08 16:26:12,227 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 111 transitions. Word has length 47 [2020-07-08 16:26:12,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:26:12,228 INFO L479 AbstractCegarLoop]: Abstraction has 106 states and 111 transitions. [2020-07-08 16:26:12,228 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-08 16:26:12,228 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 106 states and 111 transitions. [2020-07-08 16:26:12,565 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:12,565 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 111 transitions. [2020-07-08 16:26:12,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2020-07-08 16:26:12,566 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:26:12,567 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 16:26:12,567 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-08 16:26:12,567 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:26:12,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:26:12,567 INFO L82 PathProgramCache]: Analyzing trace with hash 231328440, now seen corresponding path program 2 times [2020-07-08 16:26:12,568 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:26:12,568 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2108070471] [2020-07-08 16:26:12,568 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:26:12,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:26:13,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 16:26:13,741 INFO L280 TraceCheckUtils]: 0: Hoare triple {5033#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5007#true} is VALID [2020-07-08 16:26:13,741 INFO L280 TraceCheckUtils]: 1: Hoare triple {5007#true} #valid := #valid[0 := 0]; {5007#true} is VALID [2020-07-08 16:26:13,741 INFO L280 TraceCheckUtils]: 2: Hoare triple {5007#true} assume 0 < #StackHeapBarrier; {5007#true} is VALID [2020-07-08 16:26:13,742 INFO L280 TraceCheckUtils]: 3: Hoare triple {5007#true} assume true; {5007#true} is VALID [2020-07-08 16:26:13,742 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5007#true} {5007#true} #196#return; {5007#true} is VALID [2020-07-08 16:26:13,743 INFO L263 TraceCheckUtils]: 0: Hoare triple {5007#true} call ULTIMATE.init(); {5033#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-08 16:26:13,743 INFO L280 TraceCheckUtils]: 1: Hoare triple {5033#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5007#true} is VALID [2020-07-08 16:26:13,744 INFO L280 TraceCheckUtils]: 2: Hoare triple {5007#true} #valid := #valid[0 := 0]; {5007#true} is VALID [2020-07-08 16:26:13,744 INFO L280 TraceCheckUtils]: 3: Hoare triple {5007#true} assume 0 < #StackHeapBarrier; {5007#true} is VALID [2020-07-08 16:26:13,744 INFO L280 TraceCheckUtils]: 4: Hoare triple {5007#true} assume true; {5007#true} is VALID [2020-07-08 16:26:13,744 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5007#true} {5007#true} #196#return; {5007#true} is VALID [2020-07-08 16:26:13,745 INFO L263 TraceCheckUtils]: 6: Hoare triple {5007#true} call #t~ret17 := main(); {5007#true} is VALID [2020-07-08 16:26:13,746 INFO L280 TraceCheckUtils]: 7: Hoare triple {5007#true} SUMMARY for call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {5014#(= 0 |main_#t~malloc0.offset|)} is VALID [2020-07-08 16:26:13,747 INFO L280 TraceCheckUtils]: 8: Hoare triple {5014#(= 0 |main_#t~malloc0.offset|)} ~null~0.base, ~null~0.offset := #t~malloc0.base, #t~malloc0.offset; {5015#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:26:13,747 INFO L280 TraceCheckUtils]: 9: Hoare triple {5015#(= 0 main_~null~0.offset)} SUMMARY for call write~int(~unnamed1~0~BLACK, ~null~0.base, 4 + ~null~0.offset, 4); srcloc: L995 {5015#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:26:13,748 INFO L280 TraceCheckUtils]: 10: Hoare triple {5015#(= 0 main_~null~0.offset)} SUMMARY for call write~$Pointer$(0, 0, ~null~0.base, ~null~0.offset, 4); srcloc: L995-1 {5015#(= 0 main_~null~0.offset)} is VALID [2020-07-08 16:26:13,749 INFO L280 TraceCheckUtils]: 11: Hoare triple {5015#(= 0 main_~null~0.offset)} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(8); srcloc: L996 {5016#(and (= 1 (select |#valid| |main_#t~malloc1.base|)) (= 0 |main_#t~malloc1.offset|) (= |main_#t~malloc1.offset| main_~null~0.offset))} is VALID [2020-07-08 16:26:13,750 INFO L280 TraceCheckUtils]: 12: Hoare triple {5016#(and (= 1 (select |#valid| |main_#t~malloc1.base|)) (= 0 |main_#t~malloc1.offset|) (= |main_#t~malloc1.offset| main_~null~0.offset))} ~list~0.base, ~list~0.offset := #t~malloc1.base, #t~malloc1.offset; {5017#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-08 16:26:13,751 INFO L280 TraceCheckUtils]: 13: Hoare triple {5017#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~list~0.base, ~list~0.offset, 4); srcloc: L999 {5017#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-08 16:26:13,752 INFO L280 TraceCheckUtils]: 14: Hoare triple {5017#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~list~0.base, 4 + ~list~0.offset, 4); srcloc: L999-1 {5018#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,753 INFO L280 TraceCheckUtils]: 15: Hoare triple {5018#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:13,754 INFO L280 TraceCheckUtils]: 16: Hoare triple {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:13,764 INFO L280 TraceCheckUtils]: 17: Hoare triple {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume !!(0 != #t~nondet2); {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:13,765 INFO L280 TraceCheckUtils]: 18: Hoare triple {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} havoc #t~nondet2; {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:13,769 INFO L280 TraceCheckUtils]: 19: Hoare triple {5019#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8); srcloc: L1008 {5020#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= |main_#t~malloc3.base| main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:13,771 INFO L280 TraceCheckUtils]: 20: Hoare triple {5020#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= |main_#t~malloc3.base| main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1008-1 {5021#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-08 16:26:13,772 INFO L280 TraceCheckUtils]: 21: Hoare triple {5021#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~end~0.base)) (= main_~list~0.base main_~end~0.base) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~end~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} SUMMARY for call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1008-2 {5022#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,773 INFO L280 TraceCheckUtils]: 22: Hoare triple {5022#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := #t~mem4.base, #t~mem4.offset; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,774 INFO L280 TraceCheckUtils]: 23: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~mem4.base, #t~mem4.offset; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,776 INFO L280 TraceCheckUtils]: 24: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1010 {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,777 INFO L280 TraceCheckUtils]: 25: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,778 INFO L280 TraceCheckUtils]: 26: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume 0 != #t~nondet5; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,779 INFO L280 TraceCheckUtils]: 27: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~nondet5; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,780 INFO L280 TraceCheckUtils]: 28: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1014 {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,781 INFO L280 TraceCheckUtils]: 29: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,782 INFO L280 TraceCheckUtils]: 30: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != #t~nondet2); {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,784 INFO L280 TraceCheckUtils]: 31: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~nondet2; {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,786 INFO L280 TraceCheckUtils]: 32: Hoare triple {5023#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call #t~malloc3.base, #t~malloc3.offset := #Ultimate.allocOnHeap(8); srcloc: L1008 {5024#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (not (= |main_#t~malloc3.base| main_~list~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,787 INFO L280 TraceCheckUtils]: 33: Hoare triple {5024#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (not (= |main_#t~malloc3.base| main_~list~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~$Pointer$(#t~malloc3.base, #t~malloc3.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1008-1 {5025#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~list~0.base)))} is VALID [2020-07-08 16:26:13,788 INFO L280 TraceCheckUtils]: 34: Hoare triple {5025#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset) main_~list~0.base)))} SUMMARY for call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4); srcloc: L1008-2 {5026#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,789 INFO L280 TraceCheckUtils]: 35: Hoare triple {5026#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (not (= |main_#t~mem4.base| main_~list~0.base)) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := #t~mem4.base, #t~mem4.offset; {5027#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,789 INFO L280 TraceCheckUtils]: 36: Hoare triple {5027#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~mem4.base, #t~mem4.offset; {5027#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,790 INFO L280 TraceCheckUtils]: 37: Hoare triple {5027#(and (= 0 main_~null~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~$Pointer$(~null~0.base, ~null~0.offset, ~end~0.base, ~end~0.offset, 4); srcloc: L1010 {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,791 INFO L280 TraceCheckUtils]: 38: Hoare triple {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647; {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,792 INFO L280 TraceCheckUtils]: 39: Hoare triple {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume 0 != #t~nondet5; {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,793 INFO L280 TraceCheckUtils]: 40: Hoare triple {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~nondet5; {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,793 INFO L280 TraceCheckUtils]: 41: Hoare triple {5028#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select (store |#memory_int| main_~end~0.base (store (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4) ~unnamed1~0~BLACK)) main_~list~0.base) (+ main_~list~0.offset 4))))} SUMMARY for call write~int(~unnamed1~0~BLACK, ~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1014 {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,794 INFO L280 TraceCheckUtils]: 42: Hoare triple {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet2 && #t~nondet2 <= 2147483647; {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,796 INFO L280 TraceCheckUtils]: 43: Hoare triple {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet2); {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,800 INFO L280 TraceCheckUtils]: 44: Hoare triple {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} havoc #t~nondet2; {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,801 INFO L280 TraceCheckUtils]: 45: Hoare triple {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~null~0.base, ~null~0.offset; {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-08 16:26:13,802 INFO L280 TraceCheckUtils]: 46: Hoare triple {5029#(and (= 0 main_~null~0.offset) (= 0 main_~list~0.offset) (= ~unnamed1~0~BLACK (select (select |#memory_int| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {5030#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} is VALID [2020-07-08 16:26:13,803 INFO L280 TraceCheckUtils]: 47: Hoare triple {5030#(and (= 0 main_~null~0.offset) (= main_~end~0.offset main_~null~0.offset) (= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK))} assume !!(~null~0.base != ~end~0.base || ~null~0.offset != ~end~0.offset); {5031#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:26:13,804 INFO L280 TraceCheckUtils]: 48: Hoare triple {5031#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} goto; {5031#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} is VALID [2020-07-08 16:26:13,804 INFO L280 TraceCheckUtils]: 49: Hoare triple {5031#(= (select (select |#memory_int| main_~end~0.base) (+ main_~end~0.offset 4)) ~unnamed1~0~BLACK)} SUMMARY for call #t~mem8 := read~int(~end~0.base, 4 + ~end~0.offset, 4); srcloc: L1031-6 {5032#(= ~unnamed1~0~BLACK |main_#t~mem8|)} is VALID [2020-07-08 16:26:13,805 INFO L280 TraceCheckUtils]: 50: Hoare triple {5032#(= ~unnamed1~0~BLACK |main_#t~mem8|)} assume !(~unnamed1~0~BLACK == #t~mem8); {5008#false} is VALID [2020-07-08 16:26:13,805 INFO L280 TraceCheckUtils]: 51: Hoare triple {5008#false} havoc #t~mem8; {5008#false} is VALID [2020-07-08 16:26:13,805 INFO L280 TraceCheckUtils]: 52: Hoare triple {5008#false} assume !false; {5008#false} is VALID [2020-07-08 16:26:13,817 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 16:26:13,817 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 16:26:13,818 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2108070471] [2020-07-08 16:26:13,818 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 16:26:13,818 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2020-07-08 16:26:13,818 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [299809743] [2020-07-08 16:26:13,819 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 53 [2020-07-08 16:26:13,819 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 16:26:13,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-08 16:26:13,896 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:13,897 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-08 16:26:13,897 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 16:26:13,897 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-08 16:26:13,898 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=367, Unknown=0, NotChecked=0, Total=462 [2020-07-08 16:26:13,898 INFO L87 Difference]: Start difference. First operand 106 states and 111 transitions. Second operand 22 states. [2020-07-08 16:26:18,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:18,445 INFO L93 Difference]: Finished difference Result 179 states and 188 transitions. [2020-07-08 16:26:18,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-08 16:26:18,445 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 53 [2020-07-08 16:26:18,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 16:26:18,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 16:26:18,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 152 transitions. [2020-07-08 16:26:18,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-08 16:26:18,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 152 transitions. [2020-07-08 16:26:18,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 152 transitions. [2020-07-08 16:26:18,712 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-08 16:26:18,717 INFO L225 Difference]: With dead ends: 179 [2020-07-08 16:26:18,717 INFO L226 Difference]: Without dead ends: 176 [2020-07-08 16:26:18,718 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 259 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=371, Invalid=1111, Unknown=0, NotChecked=0, Total=1482 [2020-07-08 16:26:18,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 176 states. [2020-07-08 16:26:19,461 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 176 to 117. [2020-07-08 16:26:19,461 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 16:26:19,461 INFO L82 GeneralOperation]: Start isEquivalent. First operand 176 states. Second operand 117 states. [2020-07-08 16:26:19,461 INFO L74 IsIncluded]: Start isIncluded. First operand 176 states. Second operand 117 states. [2020-07-08 16:26:19,462 INFO L87 Difference]: Start difference. First operand 176 states. Second operand 117 states. [2020-07-08 16:26:19,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:19,468 INFO L93 Difference]: Finished difference Result 176 states and 185 transitions. [2020-07-08 16:26:19,468 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 185 transitions. [2020-07-08 16:26:19,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:19,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:19,468 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 176 states. [2020-07-08 16:26:19,469 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 176 states. [2020-07-08 16:26:19,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 16:26:19,474 INFO L93 Difference]: Finished difference Result 176 states and 185 transitions. [2020-07-08 16:26:19,474 INFO L276 IsEmpty]: Start isEmpty. Operand 176 states and 185 transitions. [2020-07-08 16:26:19,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 16:26:19,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 16:26:19,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 16:26:19,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 16:26:19,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2020-07-08 16:26:19,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 124 transitions. [2020-07-08 16:26:19,479 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 124 transitions. Word has length 53 [2020-07-08 16:26:19,479 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 16:26:19,479 INFO L479 AbstractCegarLoop]: Abstraction has 117 states and 124 transitions. [2020-07-08 16:26:19,479 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-08 16:26:19,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 117 states and 124 transitions. [2020-07-08 16:26:19,831 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 16:26:19,832 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 124 transitions. [2020-07-08 16:26:19,832 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2020-07-08 16:26:19,832 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 16:26:19,832 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 16:26:19,833 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-08 16:26:19,833 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 16:26:19,833 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 16:26:19,833 INFO L82 PathProgramCache]: Analyzing trace with hash -2144912159, now seen corresponding path program 1 times [2020-07-08 16:26:19,833 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 16:26:19,833 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [80405726] [2020-07-08 16:26:19,834 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 16:26:19,859 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-08 16:26:19,860 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.NullPointerException at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.generateMetaTrace(AcceleratedInterpolation.java:442) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.acceleratedInterpolationCore(AcceleratedInterpolation.java:277) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.(AcceleratedInterpolation.java:184) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModulePreferences.construct(IpTcStrategyModulePreferences.java:144) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:242) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:166) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:508) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:436) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:370) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResult.iterate(CegarLoopResult.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-08 16:26:19,865 INFO L168 Benchmark]: Toolchain (without parser) took 34815.19 ms. Allocated memory was 146.3 MB in the beginning and 493.4 MB in the end (delta: 347.1 MB). Free memory was 102.3 MB in the beginning and 190.5 MB in the end (delta: -88.2 MB). Peak memory consumption was 258.9 MB. Max. memory is 7.1 GB. [2020-07-08 16:26:19,866 INFO L168 Benchmark]: CDTParser took 1.10 ms. Allocated memory is still 146.3 MB. Free memory was 121.6 MB in the beginning and 121.4 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-08 16:26:19,867 INFO L168 Benchmark]: CACSL2BoogieTranslator took 716.50 ms. Allocated memory was 146.3 MB in the beginning and 205.5 MB in the end (delta: 59.2 MB). Free memory was 102.1 MB in the beginning and 172.3 MB in the end (delta: -70.2 MB). Peak memory consumption was 24.1 MB. Max. memory is 7.1 GB. [2020-07-08 16:26:19,868 INFO L168 Benchmark]: Boogie Preprocessor took 89.54 ms. Allocated memory is still 205.5 MB. Free memory was 172.3 MB in the beginning and 168.4 MB in the end (delta: 3.9 MB). Peak memory consumption was 3.9 MB. Max. memory is 7.1 GB. [2020-07-08 16:26:19,868 INFO L168 Benchmark]: RCFGBuilder took 915.95 ms. Allocated memory is still 205.5 MB. Free memory was 168.4 MB in the beginning and 99.6 MB in the end (delta: 68.8 MB). Peak memory consumption was 68.8 MB. Max. memory is 7.1 GB. [2020-07-08 16:26:19,869 INFO L168 Benchmark]: TraceAbstraction took 33087.13 ms. Allocated memory was 205.5 MB in the beginning and 493.4 MB in the end (delta: 287.8 MB). Free memory was 99.0 MB in the beginning and 190.5 MB in the end (delta: -91.5 MB). Peak memory consumption was 196.3 MB. Max. memory is 7.1 GB. [2020-07-08 16:26:19,872 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 1.10 ms. Allocated memory is still 146.3 MB. Free memory was 121.6 MB in the beginning and 121.4 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 716.50 ms. Allocated memory was 146.3 MB in the beginning and 205.5 MB in the end (delta: 59.2 MB). Free memory was 102.1 MB in the beginning and 172.3 MB in the end (delta: -70.2 MB). Peak memory consumption was 24.1 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 89.54 ms. Allocated memory is still 205.5 MB. Free memory was 172.3 MB in the beginning and 168.4 MB in the end (delta: 3.9 MB). Peak memory consumption was 3.9 MB. Max. memory is 7.1 GB. * RCFGBuilder took 915.95 ms. Allocated memory is still 205.5 MB. Free memory was 168.4 MB in the beginning and 99.6 MB in the end (delta: 68.8 MB). Peak memory consumption was 68.8 MB. Max. memory is 7.1 GB. * TraceAbstraction took 33087.13 ms. Allocated memory was 205.5 MB in the beginning and 493.4 MB in the end (delta: 287.8 MB). Free memory was 99.0 MB in the beginning and 190.5 MB in the end (delta: -91.5 MB). Peak memory consumption was 196.3 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: NullPointerException: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: NullPointerException: null: de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.generateMetaTrace(AcceleratedInterpolation.java:442) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...