java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/list-simple/sll2n_append_equal_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-18e5b2d-m [2018-11-18 23:52:55,942 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-18 23:52:55,944 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-18 23:52:55,966 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-18 23:52:55,966 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-18 23:52:55,967 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-18 23:52:55,969 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-18 23:52:55,972 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-18 23:52:55,976 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-18 23:52:55,977 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-18 23:52:55,978 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-18 23:52:55,978 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-18 23:52:55,979 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-18 23:52:55,987 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-18 23:52:55,988 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-18 23:52:55,989 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-18 23:52:55,992 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-18 23:52:55,994 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-18 23:52:55,997 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-18 23:52:55,999 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-18 23:52:55,999 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-18 23:52:56,001 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-18 23:52:56,003 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-18 23:52:56,004 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-18 23:52:56,004 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-18 23:52:56,005 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-18 23:52:56,006 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-18 23:52:56,007 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-18 23:52:56,008 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-18 23:52:56,009 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-18 23:52:56,009 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-18 23:52:56,010 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-18 23:52:56,010 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-18 23:52:56,010 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-18 23:52:56,011 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-18 23:52:56,012 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-18 23:52:56,012 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-18 23:52:56,027 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-18 23:52:56,027 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-18 23:52:56,028 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-18 23:52:56,028 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-18 23:52:56,029 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-18 23:52:56,029 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-18 23:52:56,029 INFO L133 SettingsManager]: * Use SBE=true [2018-11-18 23:52:56,029 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-18 23:52:56,030 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-18 23:52:56,030 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-18 23:52:56,030 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-18 23:52:56,030 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-18 23:52:56,030 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-18 23:52:56,033 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-18 23:52:56,034 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-18 23:52:56,034 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-18 23:52:56,034 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-18 23:52:56,034 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-18 23:52:56,034 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-18 23:52:56,035 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-18 23:52:56,035 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-18 23:52:56,035 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-18 23:52:56,035 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-18 23:52:56,035 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-18 23:52:56,037 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-18 23:52:56,037 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-18 23:52:56,038 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-18 23:52:56,038 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-18 23:52:56,038 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-18 23:52:56,038 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-18 23:52:56,038 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-18 23:52:56,116 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-18 23:52:56,135 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-18 23:52:56,138 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-18 23:52:56,140 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-18 23:52:56,141 INFO L276 PluginConnector]: CDTParser initialized [2018-11-18 23:52:56,141 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-simple/sll2n_append_equal_true-unreach-call_true-valid-memsafety.i [2018-11-18 23:52:56,204 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/584e9972a/7f13da18755c422f8540489d6e61e79a/FLAG35c2e7a4a [2018-11-18 23:52:56,701 INFO L307 CDTParser]: Found 1 translation units. [2018-11-18 23:52:56,702 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-simple/sll2n_append_equal_true-unreach-call_true-valid-memsafety.i [2018-11-18 23:52:56,725 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/584e9972a/7f13da18755c422f8540489d6e61e79a/FLAG35c2e7a4a [2018-11-18 23:52:57,003 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/584e9972a/7f13da18755c422f8540489d6e61e79a [2018-11-18 23:52:57,015 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-18 23:52:57,016 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-18 23:52:57,017 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-18 23:52:57,017 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-18 23:52:57,021 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-18 23:52:57,023 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,026 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@711e91e1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57, skipping insertion in model container [2018-11-18 23:52:57,026 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,037 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-18 23:52:57,111 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-18 23:52:57,539 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:52:57,555 INFO L191 MainTranslator]: Completed pre-run [2018-11-18 23:52:57,636 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-18 23:52:57,706 INFO L195 MainTranslator]: Completed translation [2018-11-18 23:52:57,706 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57 WrapperNode [2018-11-18 23:52:57,707 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-18 23:52:57,708 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-18 23:52:57,708 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-18 23:52:57,708 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-18 23:52:57,801 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,801 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,822 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,822 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,874 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,890 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,899 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (1/1) ... [2018-11-18 23:52:57,914 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-18 23:52:57,914 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-18 23:52:57,914 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-18 23:52:57,915 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-18 23:52:57,918 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (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 [2018-11-18 23:52:57,989 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-18 23:52:57,990 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-18 23:52:57,990 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2018-11-18 23:52:57,990 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2018-11-18 23:52:57,990 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-18 23:52:57,990 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2018-11-18 23:52:57,991 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_create [2018-11-18 23:52:57,991 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_destroy [2018-11-18 23:52:57,991 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_append [2018-11-18 23:52:57,991 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-18 23:52:57,991 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-18 23:52:57,992 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2018-11-18 23:52:57,994 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2018-11-18 23:52:57,994 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2018-11-18 23:52:57,994 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2018-11-18 23:52:57,995 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2018-11-18 23:52:57,996 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2018-11-18 23:52:57,997 INFO L130 BoogieDeclarations]: Found specification of procedure select [2018-11-18 23:52:57,997 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2018-11-18 23:52:57,997 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2018-11-18 23:52:57,998 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2018-11-18 23:52:57,998 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2018-11-18 23:52:57,998 INFO L130 BoogieDeclarations]: Found specification of procedure random [2018-11-18 23:52:57,998 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2018-11-18 23:52:57,998 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2018-11-18 23:52:57,998 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2018-11-18 23:52:57,999 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2018-11-18 23:52:57,999 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2018-11-18 23:52:57,999 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2018-11-18 23:52:58,001 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2018-11-18 23:52:58,001 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2018-11-18 23:52:58,001 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2018-11-18 23:52:58,001 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2018-11-18 23:52:58,001 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2018-11-18 23:52:58,002 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2018-11-18 23:52:58,002 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2018-11-18 23:52:58,002 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2018-11-18 23:52:58,002 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2018-11-18 23:52:58,002 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2018-11-18 23:52:58,003 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2018-11-18 23:52:58,003 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2018-11-18 23:52:58,003 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2018-11-18 23:52:58,003 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2018-11-18 23:52:58,003 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2018-11-18 23:52:58,003 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2018-11-18 23:52:58,004 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2018-11-18 23:52:58,004 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2018-11-18 23:52:58,004 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2018-11-18 23:52:58,004 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2018-11-18 23:52:58,005 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2018-11-18 23:52:58,005 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2018-11-18 23:52:58,005 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2018-11-18 23:52:58,005 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2018-11-18 23:52:58,005 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2018-11-18 23:52:58,005 INFO L130 BoogieDeclarations]: Found specification of procedure free [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2018-11-18 23:52:58,006 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2018-11-18 23:52:58,007 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2018-11-18 23:52:58,007 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2018-11-18 23:52:58,007 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-18 23:52:58,007 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2018-11-18 23:52:58,007 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2018-11-18 23:52:58,008 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2018-11-18 23:52:58,008 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2018-11-18 23:52:58,011 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2018-11-18 23:52:58,011 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2018-11-18 23:52:58,011 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2018-11-18 23:52:58,011 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2018-11-18 23:52:58,011 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2018-11-18 23:52:58,012 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2018-11-18 23:52:58,012 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2018-11-18 23:52:58,012 INFO L130 BoogieDeclarations]: Found specification of procedure system [2018-11-18 23:52:58,012 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2018-11-18 23:52:58,012 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2018-11-18 23:52:58,012 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2018-11-18 23:52:58,017 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2018-11-18 23:52:58,017 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2018-11-18 23:52:58,017 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2018-11-18 23:52:58,017 INFO L130 BoogieDeclarations]: Found specification of procedure div [2018-11-18 23:52:58,018 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2018-11-18 23:52:58,018 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2018-11-18 23:52:58,018 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2018-11-18 23:52:58,018 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2018-11-18 23:52:58,018 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2018-11-18 23:52:58,018 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2018-11-18 23:52:58,020 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2018-11-18 23:52:58,021 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2018-11-18 23:52:58,021 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2018-11-18 23:52:58,021 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2018-11-18 23:52:58,021 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2018-11-18 23:52:58,021 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2018-11-18 23:52:58,022 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2018-11-18 23:52:58,022 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2018-11-18 23:52:58,022 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2018-11-18 23:52:58,022 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2018-11-18 23:52:58,022 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2018-11-18 23:52:58,022 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2018-11-18 23:52:58,023 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2018-11-18 23:52:58,023 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2018-11-18 23:52:58,023 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2018-11-18 23:52:58,023 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-18 23:52:58,023 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-18 23:52:58,023 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-18 23:52:58,024 INFO L130 BoogieDeclarations]: Found specification of procedure sll_create [2018-11-18 23:52:58,024 INFO L130 BoogieDeclarations]: Found specification of procedure sll_destroy [2018-11-18 23:52:58,024 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-18 23:52:58,024 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-18 23:52:58,024 INFO L130 BoogieDeclarations]: Found specification of procedure sll_append [2018-11-18 23:52:58,024 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-18 23:52:58,026 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-18 23:52:58,026 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-18 23:52:58,026 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-18 23:52:58,026 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-18 23:52:59,291 INFO L280 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-18 23:52:59,292 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:52:59 BoogieIcfgContainer [2018-11-18 23:52:59,292 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-18 23:52:59,293 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-18 23:52:59,293 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-18 23:52:59,297 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-18 23:52:59,297 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.11 11:52:57" (1/3) ... [2018-11-18 23:52:59,298 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1aecfcd7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:52:59, skipping insertion in model container [2018-11-18 23:52:59,298 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.11 11:52:57" (2/3) ... [2018-11-18 23:52:59,299 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1aecfcd7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.11 11:52:59, skipping insertion in model container [2018-11-18 23:52:59,299 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.11 11:52:59" (3/3) ... [2018-11-18 23:52:59,301 INFO L112 eAbstractionObserver]: Analyzing ICFG sll2n_append_equal_true-unreach-call_true-valid-memsafety.i [2018-11-18 23:52:59,311 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-18 23:52:59,320 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-18 23:52:59,340 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-18 23:52:59,375 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-18 23:52:59,376 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-18 23:52:59,376 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-18 23:52:59,376 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-18 23:52:59,376 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-18 23:52:59,376 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-18 23:52:59,376 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-18 23:52:59,377 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-18 23:52:59,377 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-18 23:52:59,398 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states. [2018-11-18 23:52:59,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-18 23:52:59,406 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:52:59,407 INFO L375 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] [2018-11-18 23:52:59,410 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:52:59,417 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:52:59,417 INFO L82 PathProgramCache]: Analyzing trace with hash -2001141171, now seen corresponding path program 1 times [2018-11-18 23:52:59,419 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:52:59,420 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:52:59,489 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:59,489 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:52:59,489 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:52:59,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:52:59,706 INFO L256 TraceCheckUtils]: 0: Hoare triple {57#true} call ULTIMATE.init(); {57#true} is VALID [2018-11-18 23:52:59,711 INFO L273 TraceCheckUtils]: 1: Hoare triple {57#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {57#true} is VALID [2018-11-18 23:52:59,711 INFO L273 TraceCheckUtils]: 2: Hoare triple {57#true} assume true; {57#true} is VALID [2018-11-18 23:52:59,712 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {57#true} {57#true} #128#return; {57#true} is VALID [2018-11-18 23:52:59,712 INFO L256 TraceCheckUtils]: 4: Hoare triple {57#true} call #t~ret17 := main(); {57#true} is VALID [2018-11-18 23:52:59,712 INFO L273 TraceCheckUtils]: 5: Hoare triple {57#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {57#true} is VALID [2018-11-18 23:52:59,713 INFO L256 TraceCheckUtils]: 6: Hoare triple {57#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {57#true} is VALID [2018-11-18 23:52:59,713 INFO L273 TraceCheckUtils]: 7: Hoare triple {57#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {57#true} is VALID [2018-11-18 23:52:59,727 INFO L273 TraceCheckUtils]: 8: Hoare triple {57#true} assume !true; {58#false} is VALID [2018-11-18 23:52:59,728 INFO L273 TraceCheckUtils]: 9: Hoare triple {58#false} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {58#false} is VALID [2018-11-18 23:52:59,728 INFO L273 TraceCheckUtils]: 10: Hoare triple {58#false} assume true; {58#false} is VALID [2018-11-18 23:52:59,729 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {58#false} {57#true} #120#return; {58#false} is VALID [2018-11-18 23:52:59,729 INFO L273 TraceCheckUtils]: 12: Hoare triple {58#false} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {58#false} is VALID [2018-11-18 23:52:59,729 INFO L256 TraceCheckUtils]: 13: Hoare triple {58#false} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {57#true} is VALID [2018-11-18 23:52:59,731 INFO L273 TraceCheckUtils]: 14: Hoare triple {57#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {57#true} is VALID [2018-11-18 23:52:59,731 INFO L256 TraceCheckUtils]: 15: Hoare triple {57#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {57#true} is VALID [2018-11-18 23:52:59,732 INFO L273 TraceCheckUtils]: 16: Hoare triple {57#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {57#true} is VALID [2018-11-18 23:52:59,732 INFO L273 TraceCheckUtils]: 17: Hoare triple {57#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {57#true} is VALID [2018-11-18 23:52:59,733 INFO L273 TraceCheckUtils]: 18: Hoare triple {57#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {57#true} is VALID [2018-11-18 23:52:59,733 INFO L273 TraceCheckUtils]: 19: Hoare triple {57#true} assume true; {57#true} is VALID [2018-11-18 23:52:59,733 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {57#true} {57#true} #126#return; {57#true} is VALID [2018-11-18 23:52:59,734 INFO L273 TraceCheckUtils]: 21: Hoare triple {57#true} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {57#true} is VALID [2018-11-18 23:52:59,734 INFO L273 TraceCheckUtils]: 22: Hoare triple {57#true} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {57#true} is VALID [2018-11-18 23:52:59,734 INFO L273 TraceCheckUtils]: 23: Hoare triple {57#true} assume true; {57#true} is VALID [2018-11-18 23:52:59,735 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {57#true} {58#false} #122#return; {58#false} is VALID [2018-11-18 23:52:59,735 INFO L273 TraceCheckUtils]: 25: Hoare triple {58#false} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {58#false} is VALID [2018-11-18 23:52:59,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {58#false} assume !true; {58#false} is VALID [2018-11-18 23:52:59,736 INFO L273 TraceCheckUtils]: 27: Hoare triple {58#false} assume ~count~0 != 1 + ~len~0; {58#false} is VALID [2018-11-18 23:52:59,736 INFO L273 TraceCheckUtils]: 28: Hoare triple {58#false} assume !false; {58#false} is VALID [2018-11-18 23:52:59,746 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:52:59,751 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:52:59,752 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-18 23:52:59,759 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 29 [2018-11-18 23:52:59,762 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:52:59,767 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-18 23:52:59,970 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:52:59,971 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-18 23:52:59,982 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-18 23:52:59,983 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:52:59,985 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 2 states. [2018-11-18 23:53:00,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:00,563 INFO L93 Difference]: Finished difference Result 95 states and 116 transitions. [2018-11-18 23:53:00,564 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-18 23:53:00,564 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 29 [2018-11-18 23:53:00,564 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:53:00,566 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:53:00,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 116 transitions. [2018-11-18 23:53:00,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-18 23:53:00,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 116 transitions. [2018-11-18 23:53:00,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 116 transitions. [2018-11-18 23:53:01,126 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:01,142 INFO L225 Difference]: With dead ends: 95 [2018-11-18 23:53:01,143 INFO L226 Difference]: Without dead ends: 40 [2018-11-18 23:53:01,147 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-18 23:53:01,165 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-11-18 23:53:01,212 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 40. [2018-11-18 23:53:01,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:53:01,213 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 40 states. [2018-11-18 23:53:01,213 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2018-11-18 23:53:01,213 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2018-11-18 23:53:01,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:01,220 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-18 23:53:01,220 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-18 23:53:01,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:01,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:01,222 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 40 states. [2018-11-18 23:53:01,222 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 40 states. [2018-11-18 23:53:01,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:01,227 INFO L93 Difference]: Finished difference Result 40 states and 45 transitions. [2018-11-18 23:53:01,228 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-18 23:53:01,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:01,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:01,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:53:01,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:53:01,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-11-18 23:53:01,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 45 transitions. [2018-11-18 23:53:01,235 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 45 transitions. Word has length 29 [2018-11-18 23:53:01,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:53:01,236 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 45 transitions. [2018-11-18 23:53:01,236 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-18 23:53:01,236 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2018-11-18 23:53:01,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-18 23:53:01,238 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:53:01,238 INFO L375 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] [2018-11-18 23:53:01,239 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:53:01,239 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:53:01,239 INFO L82 PathProgramCache]: Analyzing trace with hash -2063953689, now seen corresponding path program 1 times [2018-11-18 23:53:01,240 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:53:01,240 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:53:01,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:01,242 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:01,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:01,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:01,963 INFO L256 TraceCheckUtils]: 0: Hoare triple {323#true} call ULTIMATE.init(); {323#true} is VALID [2018-11-18 23:53:01,963 INFO L273 TraceCheckUtils]: 1: Hoare triple {323#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {323#true} is VALID [2018-11-18 23:53:01,964 INFO L273 TraceCheckUtils]: 2: Hoare triple {323#true} assume true; {323#true} is VALID [2018-11-18 23:53:01,964 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {323#true} {323#true} #128#return; {323#true} is VALID [2018-11-18 23:53:01,965 INFO L256 TraceCheckUtils]: 4: Hoare triple {323#true} call #t~ret17 := main(); {323#true} is VALID [2018-11-18 23:53:01,965 INFO L273 TraceCheckUtils]: 5: Hoare triple {323#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {323#true} is VALID [2018-11-18 23:53:01,965 INFO L256 TraceCheckUtils]: 6: Hoare triple {323#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {323#true} is VALID [2018-11-18 23:53:01,965 INFO L273 TraceCheckUtils]: 7: Hoare triple {323#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {323#true} is VALID [2018-11-18 23:53:01,966 INFO L273 TraceCheckUtils]: 8: Hoare triple {323#true} assume true; {323#true} is VALID [2018-11-18 23:53:01,966 INFO L273 TraceCheckUtils]: 9: Hoare triple {323#true} assume !(~len > 0); {323#true} is VALID [2018-11-18 23:53:01,966 INFO L273 TraceCheckUtils]: 10: Hoare triple {323#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {323#true} is VALID [2018-11-18 23:53:01,967 INFO L273 TraceCheckUtils]: 11: Hoare triple {323#true} assume true; {323#true} is VALID [2018-11-18 23:53:01,967 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {323#true} {323#true} #120#return; {323#true} is VALID [2018-11-18 23:53:01,967 INFO L273 TraceCheckUtils]: 13: Hoare triple {323#true} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {323#true} is VALID [2018-11-18 23:53:01,968 INFO L256 TraceCheckUtils]: 14: Hoare triple {323#true} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {323#true} is VALID [2018-11-18 23:53:01,971 INFO L273 TraceCheckUtils]: 15: Hoare triple {323#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {325#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:01,972 INFO L256 TraceCheckUtils]: 16: Hoare triple {325#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {323#true} is VALID [2018-11-18 23:53:01,975 INFO L273 TraceCheckUtils]: 17: Hoare triple {323#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {326#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:53:01,978 INFO L273 TraceCheckUtils]: 18: Hoare triple {326#(not (= 0 node_create_~temp~0.base))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {326#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:53:01,979 INFO L273 TraceCheckUtils]: 19: Hoare triple {326#(not (= 0 node_create_~temp~0.base))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {327#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:53:01,981 INFO L273 TraceCheckUtils]: 20: Hoare triple {327#(not (= 0 |node_create_#res.base|))} assume true; {327#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:53:01,991 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {327#(not (= 0 |node_create_#res.base|))} {325#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} #126#return; {328#(and (not (= 0 |sll_append_#t~ret6.base|)) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:02,001 INFO L273 TraceCheckUtils]: 22: Hoare triple {328#(and (not (= 0 |sll_append_#t~ret6.base|)) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {329#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= 0 sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:02,002 INFO L273 TraceCheckUtils]: 23: Hoare triple {329#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (not (= 0 sll_append_~new_last~0.base)) (= sll_append_~head.base |sll_append_#in~head.base|))} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {330#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} is VALID [2018-11-18 23:53:02,004 INFO L273 TraceCheckUtils]: 24: Hoare triple {330#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} assume true; {330#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} is VALID [2018-11-18 23:53:02,005 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {330#(not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} {323#true} #122#return; {331#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-18 23:53:02,006 INFO L273 TraceCheckUtils]: 26: Hoare triple {331#(not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {332#(not (= 0 main_~ptr~0.base))} is VALID [2018-11-18 23:53:02,007 INFO L273 TraceCheckUtils]: 27: Hoare triple {332#(not (= 0 main_~ptr~0.base))} assume true; {332#(not (= 0 main_~ptr~0.base))} is VALID [2018-11-18 23:53:02,008 INFO L273 TraceCheckUtils]: 28: Hoare triple {332#(not (= 0 main_~ptr~0.base))} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {324#false} is VALID [2018-11-18 23:53:02,008 INFO L273 TraceCheckUtils]: 29: Hoare triple {324#false} assume ~count~0 != 1 + ~len~0; {324#false} is VALID [2018-11-18 23:53:02,009 INFO L273 TraceCheckUtils]: 30: Hoare triple {324#false} assume !false; {324#false} is VALID [2018-11-18 23:53:02,013 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:53:02,013 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:53:02,013 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2018-11-18 23:53:02,015 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 31 [2018-11-18 23:53:02,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:53:02,015 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-18 23:53:02,082 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:02,082 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-18 23:53:02,083 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-18 23:53:02,083 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2018-11-18 23:53:02,084 INFO L87 Difference]: Start difference. First operand 40 states and 45 transitions. Second operand 10 states. [2018-11-18 23:53:02,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:02,788 INFO L93 Difference]: Finished difference Result 57 states and 63 transitions. [2018-11-18 23:53:02,788 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-18 23:53:02,788 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 31 [2018-11-18 23:53:02,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:53:02,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:53:02,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 63 transitions. [2018-11-18 23:53:02,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-18 23:53:02,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 63 transitions. [2018-11-18 23:53:02,797 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 63 transitions. [2018-11-18 23:53:02,934 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:02,938 INFO L225 Difference]: With dead ends: 57 [2018-11-18 23:53:02,938 INFO L226 Difference]: Without dead ends: 54 [2018-11-18 23:53:02,939 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2018-11-18 23:53:02,940 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-18 23:53:02,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 45. [2018-11-18 23:53:02,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:53:02,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand 45 states. [2018-11-18 23:53:02,975 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 45 states. [2018-11-18 23:53:02,975 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 45 states. [2018-11-18 23:53:02,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:02,980 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2018-11-18 23:53:02,980 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2018-11-18 23:53:02,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:02,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:02,982 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 54 states. [2018-11-18 23:53:02,982 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 54 states. [2018-11-18 23:53:02,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:02,986 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2018-11-18 23:53:02,986 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 60 transitions. [2018-11-18 23:53:02,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:02,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:02,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:53:02,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:53:02,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2018-11-18 23:53:02,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 50 transitions. [2018-11-18 23:53:02,991 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 50 transitions. Word has length 31 [2018-11-18 23:53:02,992 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:53:02,992 INFO L480 AbstractCegarLoop]: Abstraction has 45 states and 50 transitions. [2018-11-18 23:53:02,992 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-18 23:53:02,992 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 50 transitions. [2018-11-18 23:53:02,994 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-18 23:53:02,994 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:53:02,994 INFO L375 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] [2018-11-18 23:53:02,994 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:53:02,995 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:53:02,995 INFO L82 PathProgramCache]: Analyzing trace with hash -2063952015, now seen corresponding path program 1 times [2018-11-18 23:53:02,995 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:53:02,995 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:53:02,997 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:02,997 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:02,997 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:03,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:03,308 INFO L256 TraceCheckUtils]: 0: Hoare triple {587#true} call ULTIMATE.init(); {587#true} is VALID [2018-11-18 23:53:03,309 INFO L273 TraceCheckUtils]: 1: Hoare triple {587#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {587#true} is VALID [2018-11-18 23:53:03,309 INFO L273 TraceCheckUtils]: 2: Hoare triple {587#true} assume true; {587#true} is VALID [2018-11-18 23:53:03,310 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {587#true} {587#true} #128#return; {587#true} is VALID [2018-11-18 23:53:03,311 INFO L256 TraceCheckUtils]: 4: Hoare triple {587#true} call #t~ret17 := main(); {587#true} is VALID [2018-11-18 23:53:03,311 INFO L273 TraceCheckUtils]: 5: Hoare triple {587#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {587#true} is VALID [2018-11-18 23:53:03,311 INFO L256 TraceCheckUtils]: 6: Hoare triple {587#true} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {587#true} is VALID [2018-11-18 23:53:03,312 INFO L273 TraceCheckUtils]: 7: Hoare triple {587#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {587#true} is VALID [2018-11-18 23:53:03,312 INFO L273 TraceCheckUtils]: 8: Hoare triple {587#true} assume true; {587#true} is VALID [2018-11-18 23:53:03,312 INFO L273 TraceCheckUtils]: 9: Hoare triple {587#true} assume !(~len > 0); {587#true} is VALID [2018-11-18 23:53:03,313 INFO L273 TraceCheckUtils]: 10: Hoare triple {587#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {587#true} is VALID [2018-11-18 23:53:03,313 INFO L273 TraceCheckUtils]: 11: Hoare triple {587#true} assume true; {587#true} is VALID [2018-11-18 23:53:03,313 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {587#true} {587#true} #120#return; {587#true} is VALID [2018-11-18 23:53:03,314 INFO L273 TraceCheckUtils]: 13: Hoare triple {587#true} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {587#true} is VALID [2018-11-18 23:53:03,314 INFO L256 TraceCheckUtils]: 14: Hoare triple {587#true} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {587#true} is VALID [2018-11-18 23:53:03,320 INFO L273 TraceCheckUtils]: 15: Hoare triple {587#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {589#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~data |sll_append_#in~data|))} is VALID [2018-11-18 23:53:03,321 INFO L256 TraceCheckUtils]: 16: Hoare triple {589#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~data |sll_append_#in~data|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {587#true} is VALID [2018-11-18 23:53:03,325 INFO L273 TraceCheckUtils]: 17: Hoare triple {587#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {590#(= node_create_~data |node_create_#in~data|)} is VALID [2018-11-18 23:53:03,325 INFO L273 TraceCheckUtils]: 18: Hoare triple {590#(= node_create_~data |node_create_#in~data|)} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {590#(= node_create_~data |node_create_#in~data|)} is VALID [2018-11-18 23:53:03,327 INFO L273 TraceCheckUtils]: 19: Hoare triple {590#(= node_create_~data |node_create_#in~data|)} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {591#(= (select (select |#memory_int| |node_create_#res.base|) |node_create_#res.offset|) |node_create_#in~data|)} is VALID [2018-11-18 23:53:03,327 INFO L273 TraceCheckUtils]: 20: Hoare triple {591#(= (select (select |#memory_int| |node_create_#res.base|) |node_create_#res.offset|) |node_create_#in~data|)} assume true; {591#(= (select (select |#memory_int| |node_create_#res.base|) |node_create_#res.offset|) |node_create_#in~data|)} is VALID [2018-11-18 23:53:03,329 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {591#(= (select (select |#memory_int| |node_create_#res.base|) |node_create_#res.offset|) |node_create_#in~data|)} {589#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~data |sll_append_#in~data|))} #126#return; {592#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_int| |sll_append_#t~ret6.base|) |sll_append_#t~ret6.offset|) |sll_append_#in~data|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:03,333 INFO L273 TraceCheckUtils]: 22: Hoare triple {592#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_int| |sll_append_#t~ret6.base|) |sll_append_#t~ret6.offset|) |sll_append_#in~data|) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {593#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_int| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) |sll_append_#in~data|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:03,335 INFO L273 TraceCheckUtils]: 23: Hoare triple {593#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_int| sll_append_~new_last~0.base) sll_append_~new_last~0.offset) |sll_append_#in~data|) (= sll_append_~head.base |sll_append_#in~head.base|))} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {594#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)} is VALID [2018-11-18 23:53:03,335 INFO L273 TraceCheckUtils]: 24: Hoare triple {594#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)} assume true; {594#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)} is VALID [2018-11-18 23:53:03,337 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {594#(= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)} {587#true} #122#return; {595#(= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-18 23:53:03,338 INFO L273 TraceCheckUtils]: 26: Hoare triple {595#(= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {596#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} is VALID [2018-11-18 23:53:03,338 INFO L273 TraceCheckUtils]: 27: Hoare triple {596#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} assume true; {596#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} is VALID [2018-11-18 23:53:03,341 INFO L273 TraceCheckUtils]: 28: Hoare triple {596#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {597#(= main_~data~0 |main_#t~mem14|)} is VALID [2018-11-18 23:53:03,342 INFO L273 TraceCheckUtils]: 29: Hoare triple {597#(= main_~data~0 |main_#t~mem14|)} assume ~data~0 != #t~mem14;havoc #t~mem14; {588#false} is VALID [2018-11-18 23:53:03,343 INFO L273 TraceCheckUtils]: 30: Hoare triple {588#false} assume !false; {588#false} is VALID [2018-11-18 23:53:03,346 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-18 23:53:03,346 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:53:03,347 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-18 23:53:03,347 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 31 [2018-11-18 23:53:03,348 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:53:03,348 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-18 23:53:03,428 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:03,428 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-18 23:53:03,429 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-18 23:53:03,429 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2018-11-18 23:53:03,429 INFO L87 Difference]: Start difference. First operand 45 states and 50 transitions. Second operand 11 states. [2018-11-18 23:53:04,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:04,741 INFO L93 Difference]: Finished difference Result 54 states and 60 transitions. [2018-11-18 23:53:04,741 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-18 23:53:04,742 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 31 [2018-11-18 23:53:04,742 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:53:04,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:53:04,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 60 transitions. [2018-11-18 23:53:04,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-18 23:53:04,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 60 transitions. [2018-11-18 23:53:04,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 60 transitions. [2018-11-18 23:53:04,846 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:04,849 INFO L225 Difference]: With dead ends: 54 [2018-11-18 23:53:04,850 INFO L226 Difference]: Without dead ends: 52 [2018-11-18 23:53:04,850 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=47, Invalid=225, Unknown=0, NotChecked=0, Total=272 [2018-11-18 23:53:04,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-18 23:53:04,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 46. [2018-11-18 23:53:04,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:53:04,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 46 states. [2018-11-18 23:53:04,900 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 46 states. [2018-11-18 23:53:04,900 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 46 states. [2018-11-18 23:53:04,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:04,904 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2018-11-18 23:53:04,904 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2018-11-18 23:53:04,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:04,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:04,905 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 52 states. [2018-11-18 23:53:04,905 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 52 states. [2018-11-18 23:53:04,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:04,909 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2018-11-18 23:53:04,909 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2018-11-18 23:53:04,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:04,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:04,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:53:04,911 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:53:04,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-11-18 23:53:04,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2018-11-18 23:53:04,913 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 31 [2018-11-18 23:53:04,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:53:04,914 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2018-11-18 23:53:04,914 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-18 23:53:04,914 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2018-11-18 23:53:04,915 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-18 23:53:04,916 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:53:04,916 INFO L375 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] [2018-11-18 23:53:04,916 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:53:04,916 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:53:04,917 INFO L82 PathProgramCache]: Analyzing trace with hash -441413716, now seen corresponding path program 1 times [2018-11-18 23:53:04,917 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:53:04,917 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:53:04,918 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:04,919 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:04,919 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:04,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:05,062 INFO L256 TraceCheckUtils]: 0: Hoare triple {851#true} call ULTIMATE.init(); {851#true} is VALID [2018-11-18 23:53:05,063 INFO L273 TraceCheckUtils]: 1: Hoare triple {851#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {851#true} is VALID [2018-11-18 23:53:05,064 INFO L273 TraceCheckUtils]: 2: Hoare triple {851#true} assume true; {851#true} is VALID [2018-11-18 23:53:05,064 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {851#true} {851#true} #128#return; {851#true} is VALID [2018-11-18 23:53:05,065 INFO L256 TraceCheckUtils]: 4: Hoare triple {851#true} call #t~ret17 := main(); {851#true} is VALID [2018-11-18 23:53:05,066 INFO L273 TraceCheckUtils]: 5: Hoare triple {851#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {853#(<= 2 main_~len~0)} is VALID [2018-11-18 23:53:05,066 INFO L256 TraceCheckUtils]: 6: Hoare triple {853#(<= 2 main_~len~0)} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {851#true} is VALID [2018-11-18 23:53:05,066 INFO L273 TraceCheckUtils]: 7: Hoare triple {851#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {854#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,067 INFO L273 TraceCheckUtils]: 8: Hoare triple {854#(<= |sll_create_#in~len| sll_create_~len)} assume true; {854#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,068 INFO L273 TraceCheckUtils]: 9: Hoare triple {854#(<= |sll_create_#in~len| sll_create_~len)} assume !(~len > 0); {855#(<= |sll_create_#in~len| 0)} is VALID [2018-11-18 23:53:05,068 INFO L273 TraceCheckUtils]: 10: Hoare triple {855#(<= |sll_create_#in~len| 0)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {855#(<= |sll_create_#in~len| 0)} is VALID [2018-11-18 23:53:05,069 INFO L273 TraceCheckUtils]: 11: Hoare triple {855#(<= |sll_create_#in~len| 0)} assume true; {855#(<= |sll_create_#in~len| 0)} is VALID [2018-11-18 23:53:05,071 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {855#(<= |sll_create_#in~len| 0)} {853#(<= 2 main_~len~0)} #120#return; {852#false} is VALID [2018-11-18 23:53:05,071 INFO L273 TraceCheckUtils]: 13: Hoare triple {852#false} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {852#false} is VALID [2018-11-18 23:53:05,072 INFO L256 TraceCheckUtils]: 14: Hoare triple {852#false} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {851#true} is VALID [2018-11-18 23:53:05,072 INFO L273 TraceCheckUtils]: 15: Hoare triple {851#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {851#true} is VALID [2018-11-18 23:53:05,073 INFO L256 TraceCheckUtils]: 16: Hoare triple {851#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {851#true} is VALID [2018-11-18 23:53:05,073 INFO L273 TraceCheckUtils]: 17: Hoare triple {851#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {851#true} is VALID [2018-11-18 23:53:05,074 INFO L273 TraceCheckUtils]: 18: Hoare triple {851#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {851#true} is VALID [2018-11-18 23:53:05,074 INFO L273 TraceCheckUtils]: 19: Hoare triple {851#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {851#true} is VALID [2018-11-18 23:53:05,074 INFO L273 TraceCheckUtils]: 20: Hoare triple {851#true} assume true; {851#true} is VALID [2018-11-18 23:53:05,075 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {851#true} {851#true} #126#return; {851#true} is VALID [2018-11-18 23:53:05,075 INFO L273 TraceCheckUtils]: 22: Hoare triple {851#true} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {851#true} is VALID [2018-11-18 23:53:05,075 INFO L273 TraceCheckUtils]: 23: Hoare triple {851#true} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {851#true} is VALID [2018-11-18 23:53:05,075 INFO L273 TraceCheckUtils]: 24: Hoare triple {851#true} assume true; {851#true} is VALID [2018-11-18 23:53:05,076 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {851#true} {852#false} #122#return; {852#false} is VALID [2018-11-18 23:53:05,076 INFO L273 TraceCheckUtils]: 26: Hoare triple {852#false} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {852#false} is VALID [2018-11-18 23:53:05,076 INFO L273 TraceCheckUtils]: 27: Hoare triple {852#false} assume true; {852#false} is VALID [2018-11-18 23:53:05,077 INFO L273 TraceCheckUtils]: 28: Hoare triple {852#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {852#false} is VALID [2018-11-18 23:53:05,077 INFO L273 TraceCheckUtils]: 29: Hoare triple {852#false} assume !(~data~0 != #t~mem14);havoc #t~mem14;~ptr~0.base, ~ptr~0.offset := ~temp~2.base, ~temp~2.offset;#t~post15 := ~count~0;~count~0 := 1 + #t~post15;havoc #t~post15; {852#false} is VALID [2018-11-18 23:53:05,077 INFO L273 TraceCheckUtils]: 30: Hoare triple {852#false} assume true; {852#false} is VALID [2018-11-18 23:53:05,078 INFO L273 TraceCheckUtils]: 31: Hoare triple {852#false} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {852#false} is VALID [2018-11-18 23:53:05,078 INFO L273 TraceCheckUtils]: 32: Hoare triple {852#false} assume ~count~0 != 1 + ~len~0; {852#false} is VALID [2018-11-18 23:53:05,078 INFO L273 TraceCheckUtils]: 33: Hoare triple {852#false} assume !false; {852#false} is VALID [2018-11-18 23:53:05,081 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-18 23:53:05,081 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:53:05,081 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-18 23:53:05,082 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 34 [2018-11-18 23:53:05,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:53:05,082 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-18 23:53:05,191 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:05,191 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-18 23:53:05,191 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-18 23:53:05,192 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-18 23:53:05,192 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand 5 states. [2018-11-18 23:53:05,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:05,424 INFO L93 Difference]: Finished difference Result 84 states and 94 transitions. [2018-11-18 23:53:05,425 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-18 23:53:05,425 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 34 [2018-11-18 23:53:05,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:53:05,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:53:05,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2018-11-18 23:53:05,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-18 23:53:05,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2018-11-18 23:53:05,432 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2018-11-18 23:53:05,592 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:05,595 INFO L225 Difference]: With dead ends: 84 [2018-11-18 23:53:05,595 INFO L226 Difference]: Without dead ends: 51 [2018-11-18 23:53:05,596 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:53:05,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-11-18 23:53:05,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 48. [2018-11-18 23:53:05,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:53:05,634 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 48 states. [2018-11-18 23:53:05,634 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 48 states. [2018-11-18 23:53:05,634 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 48 states. [2018-11-18 23:53:05,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:05,638 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2018-11-18 23:53:05,638 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2018-11-18 23:53:05,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:05,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:05,639 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 51 states. [2018-11-18 23:53:05,639 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 51 states. [2018-11-18 23:53:05,643 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:05,643 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2018-11-18 23:53:05,643 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 57 transitions. [2018-11-18 23:53:05,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:05,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:05,644 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:53:05,644 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:53:05,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-18 23:53:05,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2018-11-18 23:53:05,647 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 34 [2018-11-18 23:53:05,648 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:53:05,648 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2018-11-18 23:53:05,648 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-18 23:53:05,648 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2018-11-18 23:53:05,649 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-18 23:53:05,649 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:53:05,650 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:53:05,650 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:53:05,650 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:53:05,650 INFO L82 PathProgramCache]: Analyzing trace with hash -1890859827, now seen corresponding path program 1 times [2018-11-18 23:53:05,651 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:53:05,651 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:53:05,652 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:05,652 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:05,652 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:05,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:05,793 INFO L256 TraceCheckUtils]: 0: Hoare triple {1137#true} call ULTIMATE.init(); {1137#true} is VALID [2018-11-18 23:53:05,794 INFO L273 TraceCheckUtils]: 1: Hoare triple {1137#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1137#true} is VALID [2018-11-18 23:53:05,794 INFO L273 TraceCheckUtils]: 2: Hoare triple {1137#true} assume true; {1137#true} is VALID [2018-11-18 23:53:05,795 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1137#true} {1137#true} #128#return; {1137#true} is VALID [2018-11-18 23:53:05,795 INFO L256 TraceCheckUtils]: 4: Hoare triple {1137#true} call #t~ret17 := main(); {1137#true} is VALID [2018-11-18 23:53:05,810 INFO L273 TraceCheckUtils]: 5: Hoare triple {1137#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {1139#(<= 2 main_~len~0)} is VALID [2018-11-18 23:53:05,811 INFO L256 TraceCheckUtils]: 6: Hoare triple {1139#(<= 2 main_~len~0)} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1137#true} is VALID [2018-11-18 23:53:05,832 INFO L273 TraceCheckUtils]: 7: Hoare triple {1137#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,833 INFO L273 TraceCheckUtils]: 8: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} assume true; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,833 INFO L273 TraceCheckUtils]: 9: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0); {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,833 INFO L256 TraceCheckUtils]: 10: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1137#true} is VALID [2018-11-18 23:53:05,833 INFO L273 TraceCheckUtils]: 11: Hoare triple {1137#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1137#true} is VALID [2018-11-18 23:53:05,834 INFO L273 TraceCheckUtils]: 12: Hoare triple {1137#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1137#true} is VALID [2018-11-18 23:53:05,834 INFO L273 TraceCheckUtils]: 13: Hoare triple {1137#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1137#true} is VALID [2018-11-18 23:53:05,834 INFO L273 TraceCheckUtils]: 14: Hoare triple {1137#true} assume true; {1137#true} is VALID [2018-11-18 23:53:05,836 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {1137#true} {1140#(<= |sll_create_#in~len| sll_create_~len)} #116#return; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,837 INFO L273 TraceCheckUtils]: 16: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:05,842 INFO L273 TraceCheckUtils]: 17: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-18 23:53:05,842 INFO L273 TraceCheckUtils]: 18: Hoare triple {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume true; {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-18 23:53:05,843 INFO L273 TraceCheckUtils]: 19: Hoare triple {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(~len > 0); {1142#(<= |sll_create_#in~len| 1)} is VALID [2018-11-18 23:53:05,843 INFO L273 TraceCheckUtils]: 20: Hoare triple {1142#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1142#(<= |sll_create_#in~len| 1)} is VALID [2018-11-18 23:53:05,844 INFO L273 TraceCheckUtils]: 21: Hoare triple {1142#(<= |sll_create_#in~len| 1)} assume true; {1142#(<= |sll_create_#in~len| 1)} is VALID [2018-11-18 23:53:05,845 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1142#(<= |sll_create_#in~len| 1)} {1139#(<= 2 main_~len~0)} #120#return; {1138#false} is VALID [2018-11-18 23:53:05,845 INFO L273 TraceCheckUtils]: 23: Hoare triple {1138#false} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {1138#false} is VALID [2018-11-18 23:53:05,846 INFO L256 TraceCheckUtils]: 24: Hoare triple {1138#false} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {1137#true} is VALID [2018-11-18 23:53:05,846 INFO L273 TraceCheckUtils]: 25: Hoare triple {1137#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {1137#true} is VALID [2018-11-18 23:53:05,846 INFO L256 TraceCheckUtils]: 26: Hoare triple {1137#true} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1137#true} is VALID [2018-11-18 23:53:05,847 INFO L273 TraceCheckUtils]: 27: Hoare triple {1137#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1137#true} is VALID [2018-11-18 23:53:05,847 INFO L273 TraceCheckUtils]: 28: Hoare triple {1137#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1137#true} is VALID [2018-11-18 23:53:05,847 INFO L273 TraceCheckUtils]: 29: Hoare triple {1137#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1137#true} is VALID [2018-11-18 23:53:05,848 INFO L273 TraceCheckUtils]: 30: Hoare triple {1137#true} assume true; {1137#true} is VALID [2018-11-18 23:53:05,848 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1137#true} {1137#true} #126#return; {1137#true} is VALID [2018-11-18 23:53:05,848 INFO L273 TraceCheckUtils]: 32: Hoare triple {1137#true} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1137#true} is VALID [2018-11-18 23:53:05,848 INFO L273 TraceCheckUtils]: 33: Hoare triple {1137#true} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1137#true} is VALID [2018-11-18 23:53:05,848 INFO L273 TraceCheckUtils]: 34: Hoare triple {1137#true} assume true; {1137#true} is VALID [2018-11-18 23:53:05,849 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1137#true} {1138#false} #122#return; {1138#false} is VALID [2018-11-18 23:53:05,849 INFO L273 TraceCheckUtils]: 36: Hoare triple {1138#false} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {1138#false} is VALID [2018-11-18 23:53:05,849 INFO L273 TraceCheckUtils]: 37: Hoare triple {1138#false} assume true; {1138#false} is VALID [2018-11-18 23:53:05,850 INFO L273 TraceCheckUtils]: 38: Hoare triple {1138#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {1138#false} is VALID [2018-11-18 23:53:05,850 INFO L273 TraceCheckUtils]: 39: Hoare triple {1138#false} assume !(~data~0 != #t~mem14);havoc #t~mem14;~ptr~0.base, ~ptr~0.offset := ~temp~2.base, ~temp~2.offset;#t~post15 := ~count~0;~count~0 := 1 + #t~post15;havoc #t~post15; {1138#false} is VALID [2018-11-18 23:53:05,850 INFO L273 TraceCheckUtils]: 40: Hoare triple {1138#false} assume true; {1138#false} is VALID [2018-11-18 23:53:05,850 INFO L273 TraceCheckUtils]: 41: Hoare triple {1138#false} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {1138#false} is VALID [2018-11-18 23:53:05,851 INFO L273 TraceCheckUtils]: 42: Hoare triple {1138#false} assume ~count~0 != 1 + ~len~0; {1138#false} is VALID [2018-11-18 23:53:05,851 INFO L273 TraceCheckUtils]: 43: Hoare triple {1138#false} assume !false; {1138#false} is VALID [2018-11-18 23:53:05,854 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2018-11-18 23:53:05,855 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:53:05,855 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:53:05,875 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:05,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:05,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:06,000 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:53:06,302 INFO L256 TraceCheckUtils]: 0: Hoare triple {1137#true} call ULTIMATE.init(); {1137#true} is VALID [2018-11-18 23:53:06,303 INFO L273 TraceCheckUtils]: 1: Hoare triple {1137#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1137#true} is VALID [2018-11-18 23:53:06,303 INFO L273 TraceCheckUtils]: 2: Hoare triple {1137#true} assume true; {1137#true} is VALID [2018-11-18 23:53:06,304 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1137#true} {1137#true} #128#return; {1137#true} is VALID [2018-11-18 23:53:06,304 INFO L256 TraceCheckUtils]: 4: Hoare triple {1137#true} call #t~ret17 := main(); {1137#true} is VALID [2018-11-18 23:53:06,305 INFO L273 TraceCheckUtils]: 5: Hoare triple {1137#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {1139#(<= 2 main_~len~0)} is VALID [2018-11-18 23:53:06,306 INFO L256 TraceCheckUtils]: 6: Hoare triple {1139#(<= 2 main_~len~0)} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1137#true} is VALID [2018-11-18 23:53:06,306 INFO L273 TraceCheckUtils]: 7: Hoare triple {1137#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:06,308 INFO L273 TraceCheckUtils]: 8: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} assume true; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:06,308 INFO L273 TraceCheckUtils]: 9: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} assume !!(~len > 0); {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:06,308 INFO L256 TraceCheckUtils]: 10: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1137#true} is VALID [2018-11-18 23:53:06,309 INFO L273 TraceCheckUtils]: 11: Hoare triple {1137#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1137#true} is VALID [2018-11-18 23:53:06,309 INFO L273 TraceCheckUtils]: 12: Hoare triple {1137#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1137#true} is VALID [2018-11-18 23:53:06,309 INFO L273 TraceCheckUtils]: 13: Hoare triple {1137#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1137#true} is VALID [2018-11-18 23:53:06,309 INFO L273 TraceCheckUtils]: 14: Hoare triple {1137#true} assume true; {1137#true} is VALID [2018-11-18 23:53:06,319 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {1137#true} {1140#(<= |sll_create_#in~len| sll_create_~len)} #116#return; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:06,333 INFO L273 TraceCheckUtils]: 16: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1140#(<= |sll_create_#in~len| sll_create_~len)} is VALID [2018-11-18 23:53:06,348 INFO L273 TraceCheckUtils]: 17: Hoare triple {1140#(<= |sll_create_#in~len| sll_create_~len)} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-18 23:53:06,362 INFO L273 TraceCheckUtils]: 18: Hoare triple {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume true; {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} is VALID [2018-11-18 23:53:06,365 INFO L273 TraceCheckUtils]: 19: Hoare triple {1141#(<= |sll_create_#in~len| (+ sll_create_~len 1))} assume !(~len > 0); {1142#(<= |sll_create_#in~len| 1)} is VALID [2018-11-18 23:53:06,366 INFO L273 TraceCheckUtils]: 20: Hoare triple {1142#(<= |sll_create_#in~len| 1)} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1142#(<= |sll_create_#in~len| 1)} is VALID [2018-11-18 23:53:06,366 INFO L273 TraceCheckUtils]: 21: Hoare triple {1142#(<= |sll_create_#in~len| 1)} assume true; {1142#(<= |sll_create_#in~len| 1)} is VALID [2018-11-18 23:53:06,368 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1142#(<= |sll_create_#in~len| 1)} {1139#(<= 2 main_~len~0)} #120#return; {1138#false} is VALID [2018-11-18 23:53:06,368 INFO L273 TraceCheckUtils]: 23: Hoare triple {1138#false} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {1138#false} is VALID [2018-11-18 23:53:06,368 INFO L256 TraceCheckUtils]: 24: Hoare triple {1138#false} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {1138#false} is VALID [2018-11-18 23:53:06,369 INFO L273 TraceCheckUtils]: 25: Hoare triple {1138#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {1138#false} is VALID [2018-11-18 23:53:06,369 INFO L256 TraceCheckUtils]: 26: Hoare triple {1138#false} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1138#false} is VALID [2018-11-18 23:53:06,369 INFO L273 TraceCheckUtils]: 27: Hoare triple {1138#false} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1138#false} is VALID [2018-11-18 23:53:06,369 INFO L273 TraceCheckUtils]: 28: Hoare triple {1138#false} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1138#false} is VALID [2018-11-18 23:53:06,370 INFO L273 TraceCheckUtils]: 29: Hoare triple {1138#false} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1138#false} is VALID [2018-11-18 23:53:06,370 INFO L273 TraceCheckUtils]: 30: Hoare triple {1138#false} assume true; {1138#false} is VALID [2018-11-18 23:53:06,371 INFO L268 TraceCheckUtils]: 31: Hoare quadruple {1138#false} {1138#false} #126#return; {1138#false} is VALID [2018-11-18 23:53:06,371 INFO L273 TraceCheckUtils]: 32: Hoare triple {1138#false} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1138#false} is VALID [2018-11-18 23:53:06,371 INFO L273 TraceCheckUtils]: 33: Hoare triple {1138#false} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1138#false} is VALID [2018-11-18 23:53:06,372 INFO L273 TraceCheckUtils]: 34: Hoare triple {1138#false} assume true; {1138#false} is VALID [2018-11-18 23:53:06,372 INFO L268 TraceCheckUtils]: 35: Hoare quadruple {1138#false} {1138#false} #122#return; {1138#false} is VALID [2018-11-18 23:53:06,372 INFO L273 TraceCheckUtils]: 36: Hoare triple {1138#false} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {1138#false} is VALID [2018-11-18 23:53:06,373 INFO L273 TraceCheckUtils]: 37: Hoare triple {1138#false} assume true; {1138#false} is VALID [2018-11-18 23:53:06,373 INFO L273 TraceCheckUtils]: 38: Hoare triple {1138#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {1138#false} is VALID [2018-11-18 23:53:06,373 INFO L273 TraceCheckUtils]: 39: Hoare triple {1138#false} assume !(~data~0 != #t~mem14);havoc #t~mem14;~ptr~0.base, ~ptr~0.offset := ~temp~2.base, ~temp~2.offset;#t~post15 := ~count~0;~count~0 := 1 + #t~post15;havoc #t~post15; {1138#false} is VALID [2018-11-18 23:53:06,373 INFO L273 TraceCheckUtils]: 40: Hoare triple {1138#false} assume true; {1138#false} is VALID [2018-11-18 23:53:06,374 INFO L273 TraceCheckUtils]: 41: Hoare triple {1138#false} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {1138#false} is VALID [2018-11-18 23:53:06,374 INFO L273 TraceCheckUtils]: 42: Hoare triple {1138#false} assume ~count~0 != 1 + ~len~0; {1138#false} is VALID [2018-11-18 23:53:06,374 INFO L273 TraceCheckUtils]: 43: Hoare triple {1138#false} assume !false; {1138#false} is VALID [2018-11-18 23:53:06,377 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 5 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-18 23:53:06,406 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:53:06,406 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 6 [2018-11-18 23:53:06,407 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-18 23:53:06,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:53:06,411 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-18 23:53:06,574 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:06,574 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-18 23:53:06,575 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-18 23:53:06,575 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-18 23:53:06,575 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand 6 states. [2018-11-18 23:53:07,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:07,166 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2018-11-18 23:53:07,166 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-18 23:53:07,166 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 44 [2018-11-18 23:53:07,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:53:07,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:53:07,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2018-11-18 23:53:07,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-18 23:53:07,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 88 transitions. [2018-11-18 23:53:07,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 88 transitions. [2018-11-18 23:53:07,416 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:07,419 INFO L225 Difference]: With dead ends: 89 [2018-11-18 23:53:07,419 INFO L226 Difference]: Without dead ends: 56 [2018-11-18 23:53:07,420 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2018-11-18 23:53:07,420 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-18 23:53:07,467 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 53. [2018-11-18 23:53:07,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:53:07,468 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 53 states. [2018-11-18 23:53:07,468 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 53 states. [2018-11-18 23:53:07,468 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 53 states. [2018-11-18 23:53:07,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:07,472 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2018-11-18 23:53:07,472 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2018-11-18 23:53:07,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:07,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:07,473 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 56 states. [2018-11-18 23:53:07,473 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 56 states. [2018-11-18 23:53:07,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:53:07,476 INFO L93 Difference]: Finished difference Result 56 states and 63 transitions. [2018-11-18 23:53:07,476 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 63 transitions. [2018-11-18 23:53:07,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:53:07,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:53:07,477 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:53:07,477 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:53:07,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-18 23:53:07,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 59 transitions. [2018-11-18 23:53:07,480 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 59 transitions. Word has length 44 [2018-11-18 23:53:07,480 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:53:07,480 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 59 transitions. [2018-11-18 23:53:07,480 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-18 23:53:07,481 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 59 transitions. [2018-11-18 23:53:07,482 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2018-11-18 23:53:07,482 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:53:07,482 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:53:07,483 INFO L423 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:53:07,483 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:53:07,483 INFO L82 PathProgramCache]: Analyzing trace with hash -1113340754, now seen corresponding path program 2 times [2018-11-18 23:53:07,483 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:53:07,483 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:53:07,484 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:07,485 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:53:07,485 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:53:07,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:08,429 INFO L256 TraceCheckUtils]: 0: Hoare triple {1577#true} call ULTIMATE.init(); {1577#true} is VALID [2018-11-18 23:53:08,430 INFO L273 TraceCheckUtils]: 1: Hoare triple {1577#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1577#true} is VALID [2018-11-18 23:53:08,430 INFO L273 TraceCheckUtils]: 2: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:08,430 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1577#true} {1577#true} #128#return; {1577#true} is VALID [2018-11-18 23:53:08,431 INFO L256 TraceCheckUtils]: 4: Hoare triple {1577#true} call #t~ret17 := main(); {1577#true} is VALID [2018-11-18 23:53:08,432 INFO L273 TraceCheckUtils]: 5: Hoare triple {1577#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {1579#(= 0 |main_~#s~0.offset|)} is VALID [2018-11-18 23:53:08,432 INFO L256 TraceCheckUtils]: 6: Hoare triple {1579#(= 0 |main_~#s~0.offset|)} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1577#true} is VALID [2018-11-18 23:53:08,432 INFO L273 TraceCheckUtils]: 7: Hoare triple {1577#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1577#true} is VALID [2018-11-18 23:53:08,432 INFO L273 TraceCheckUtils]: 8: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:08,432 INFO L273 TraceCheckUtils]: 9: Hoare triple {1577#true} assume !!(~len > 0); {1577#true} is VALID [2018-11-18 23:53:08,433 INFO L256 TraceCheckUtils]: 10: Hoare triple {1577#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1577#true} is VALID [2018-11-18 23:53:08,433 INFO L273 TraceCheckUtils]: 11: Hoare triple {1577#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1577#true} is VALID [2018-11-18 23:53:08,433 INFO L273 TraceCheckUtils]: 12: Hoare triple {1577#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1577#true} is VALID [2018-11-18 23:53:08,433 INFO L273 TraceCheckUtils]: 13: Hoare triple {1577#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1577#true} is VALID [2018-11-18 23:53:08,433 INFO L273 TraceCheckUtils]: 14: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:08,434 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {1577#true} {1577#true} #116#return; {1577#true} is VALID [2018-11-18 23:53:08,434 INFO L273 TraceCheckUtils]: 16: Hoare triple {1577#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1577#true} is VALID [2018-11-18 23:53:08,434 INFO L273 TraceCheckUtils]: 17: Hoare triple {1577#true} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1577#true} is VALID [2018-11-18 23:53:08,434 INFO L273 TraceCheckUtils]: 18: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:08,434 INFO L273 TraceCheckUtils]: 19: Hoare triple {1577#true} assume !!(~len > 0); {1577#true} is VALID [2018-11-18 23:53:08,435 INFO L256 TraceCheckUtils]: 20: Hoare triple {1577#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1577#true} is VALID [2018-11-18 23:53:08,436 INFO L273 TraceCheckUtils]: 21: Hoare triple {1577#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1580#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:53:08,438 INFO L273 TraceCheckUtils]: 22: Hoare triple {1580#(not (= 0 node_create_~temp~0.base))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1580#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:53:08,439 INFO L273 TraceCheckUtils]: 23: Hoare triple {1580#(not (= 0 node_create_~temp~0.base))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1581#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:53:08,440 INFO L273 TraceCheckUtils]: 24: Hoare triple {1581#(not (= 0 |node_create_#res.base|))} assume true; {1581#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:53:08,440 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1581#(not (= 0 |node_create_#res.base|))} {1577#true} #116#return; {1582#(not (= 0 |sll_create_#t~ret4.base|))} is VALID [2018-11-18 23:53:08,441 INFO L273 TraceCheckUtils]: 26: Hoare triple {1582#(not (= 0 |sll_create_#t~ret4.base|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:08,441 INFO L273 TraceCheckUtils]: 27: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:08,442 INFO L273 TraceCheckUtils]: 28: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} assume true; {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:08,443 INFO L273 TraceCheckUtils]: 29: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} assume !(~len > 0); {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:08,443 INFO L273 TraceCheckUtils]: 30: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1584#(not (= 0 |sll_create_#res.base|))} is VALID [2018-11-18 23:53:08,444 INFO L273 TraceCheckUtils]: 31: Hoare triple {1584#(not (= 0 |sll_create_#res.base|))} assume true; {1584#(not (= 0 |sll_create_#res.base|))} is VALID [2018-11-18 23:53:08,445 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1584#(not (= 0 |sll_create_#res.base|))} {1579#(= 0 |main_~#s~0.offset|)} #120#return; {1585#(and (not (= 0 |main_#t~ret11.base|)) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:53:08,447 INFO L273 TraceCheckUtils]: 33: Hoare triple {1585#(and (not (= 0 |main_#t~ret11.base|)) (= 0 |main_~#s~0.offset|))} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {1586#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:53:08,448 INFO L256 TraceCheckUtils]: 34: Hoare triple {1586#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 |main_~#s~0.offset|))} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2018-11-18 23:53:08,450 INFO L273 TraceCheckUtils]: 35: Hoare triple {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {1588#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:08,451 INFO L256 TraceCheckUtils]: 36: Hoare triple {1588#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2018-11-18 23:53:08,452 INFO L273 TraceCheckUtils]: 37: Hoare triple {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1589#(and (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:53:08,453 INFO L273 TraceCheckUtils]: 38: Hoare triple {1589#(and (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1589#(and (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:53:08,456 INFO L273 TraceCheckUtils]: 39: Hoare triple {1589#(and (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1590#(and (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2018-11-18 23:53:08,460 INFO L273 TraceCheckUtils]: 40: Hoare triple {1590#(and (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} assume true; {1590#(and (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} is VALID [2018-11-18 23:53:08,464 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1590#(and (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))} {1588#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|))} #126#return; {1591#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:08,468 INFO L273 TraceCheckUtils]: 42: Hoare triple {1591#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1592#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset) |sll_append_#t~mem7.base|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:08,476 INFO L273 TraceCheckUtils]: 43: Hoare triple {1592#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset) |sll_append_#t~mem7.base|) (= sll_append_~head.base |sll_append_#in~head.base|))} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1593#(or (not (= |sll_append_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} is VALID [2018-11-18 23:53:08,477 INFO L273 TraceCheckUtils]: 44: Hoare triple {1593#(or (not (= |sll_append_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} assume true; {1593#(or (not (= |sll_append_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} is VALID [2018-11-18 23:53:08,479 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1593#(or (not (= |sll_append_#in~head.offset| 0)) (= 0 (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)))} {1586#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 |main_~#s~0.offset|))} #122#return; {1578#false} is VALID [2018-11-18 23:53:08,479 INFO L273 TraceCheckUtils]: 46: Hoare triple {1578#false} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {1578#false} is VALID [2018-11-18 23:53:08,479 INFO L273 TraceCheckUtils]: 47: Hoare triple {1578#false} assume true; {1578#false} is VALID [2018-11-18 23:53:08,479 INFO L273 TraceCheckUtils]: 48: Hoare triple {1578#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {1578#false} is VALID [2018-11-18 23:53:08,479 INFO L273 TraceCheckUtils]: 49: Hoare triple {1578#false} assume !(~data~0 != #t~mem14);havoc #t~mem14;~ptr~0.base, ~ptr~0.offset := ~temp~2.base, ~temp~2.offset;#t~post15 := ~count~0;~count~0 := 1 + #t~post15;havoc #t~post15; {1578#false} is VALID [2018-11-18 23:53:08,480 INFO L273 TraceCheckUtils]: 50: Hoare triple {1578#false} assume true; {1578#false} is VALID [2018-11-18 23:53:08,480 INFO L273 TraceCheckUtils]: 51: Hoare triple {1578#false} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {1578#false} is VALID [2018-11-18 23:53:08,480 INFO L273 TraceCheckUtils]: 52: Hoare triple {1578#false} assume ~count~0 != 1 + ~len~0; {1578#false} is VALID [2018-11-18 23:53:08,480 INFO L273 TraceCheckUtils]: 53: Hoare triple {1578#false} assume !false; {1578#false} is VALID [2018-11-18 23:53:08,485 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2018-11-18 23:53:08,485 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:53:08,485 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:53:08,503 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-18 23:53:08,577 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-18 23:53:08,577 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-18 23:53:08,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:53:08,624 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:53:09,040 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:53:09,049 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:53:09,051 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:53:09,057 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:09,103 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:53:09,104 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:19, output treesize:12 [2018-11-18 23:53:09,107 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:53:10,061 WARN L854 $PredicateComparison]: unable to prove that (exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |c_old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |c_old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |c_#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset))) is different from true [2018-11-18 23:53:14,048 WARN L180 SmtUtils]: Spent 1.09 s on a formula simplification that was a NOOP. DAG size: 21 [2018-11-18 23:53:14,256 INFO L256 TraceCheckUtils]: 0: Hoare triple {1577#true} call ULTIMATE.init(); {1577#true} is VALID [2018-11-18 23:53:14,257 INFO L273 TraceCheckUtils]: 1: Hoare triple {1577#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1577#true} is VALID [2018-11-18 23:53:14,257 INFO L273 TraceCheckUtils]: 2: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:14,257 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1577#true} {1577#true} #128#return; {1577#true} is VALID [2018-11-18 23:53:14,258 INFO L256 TraceCheckUtils]: 4: Hoare triple {1577#true} call #t~ret17 := main(); {1577#true} is VALID [2018-11-18 23:53:14,260 INFO L273 TraceCheckUtils]: 5: Hoare triple {1577#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {1579#(= 0 |main_~#s~0.offset|)} is VALID [2018-11-18 23:53:14,260 INFO L256 TraceCheckUtils]: 6: Hoare triple {1579#(= 0 |main_~#s~0.offset|)} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {1577#true} is VALID [2018-11-18 23:53:14,260 INFO L273 TraceCheckUtils]: 7: Hoare triple {1577#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {1577#true} is VALID [2018-11-18 23:53:14,260 INFO L273 TraceCheckUtils]: 8: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:14,260 INFO L273 TraceCheckUtils]: 9: Hoare triple {1577#true} assume !!(~len > 0); {1577#true} is VALID [2018-11-18 23:53:14,260 INFO L256 TraceCheckUtils]: 10: Hoare triple {1577#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1577#true} is VALID [2018-11-18 23:53:14,261 INFO L273 TraceCheckUtils]: 11: Hoare triple {1577#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1577#true} is VALID [2018-11-18 23:53:14,261 INFO L273 TraceCheckUtils]: 12: Hoare triple {1577#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1577#true} is VALID [2018-11-18 23:53:14,261 INFO L273 TraceCheckUtils]: 13: Hoare triple {1577#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1577#true} is VALID [2018-11-18 23:53:14,261 INFO L273 TraceCheckUtils]: 14: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:14,262 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {1577#true} {1577#true} #116#return; {1577#true} is VALID [2018-11-18 23:53:14,262 INFO L273 TraceCheckUtils]: 16: Hoare triple {1577#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1577#true} is VALID [2018-11-18 23:53:14,262 INFO L273 TraceCheckUtils]: 17: Hoare triple {1577#true} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1577#true} is VALID [2018-11-18 23:53:14,262 INFO L273 TraceCheckUtils]: 18: Hoare triple {1577#true} assume true; {1577#true} is VALID [2018-11-18 23:53:14,262 INFO L273 TraceCheckUtils]: 19: Hoare triple {1577#true} assume !!(~len > 0); {1577#true} is VALID [2018-11-18 23:53:14,263 INFO L256 TraceCheckUtils]: 20: Hoare triple {1577#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1577#true} is VALID [2018-11-18 23:53:14,263 INFO L273 TraceCheckUtils]: 21: Hoare triple {1577#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1660#(= node_create_~temp~0.offset 0)} is VALID [2018-11-18 23:53:14,264 INFO L273 TraceCheckUtils]: 22: Hoare triple {1660#(= node_create_~temp~0.offset 0)} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1580#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:53:14,264 INFO L273 TraceCheckUtils]: 23: Hoare triple {1580#(not (= 0 node_create_~temp~0.base))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1581#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:53:14,265 INFO L273 TraceCheckUtils]: 24: Hoare triple {1581#(not (= 0 |node_create_#res.base|))} assume true; {1581#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:53:14,265 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {1581#(not (= 0 |node_create_#res.base|))} {1577#true} #116#return; {1582#(not (= 0 |sll_create_#t~ret4.base|))} is VALID [2018-11-18 23:53:14,266 INFO L273 TraceCheckUtils]: 26: Hoare triple {1582#(not (= 0 |sll_create_#t~ret4.base|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:14,266 INFO L273 TraceCheckUtils]: 27: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:14,267 INFO L273 TraceCheckUtils]: 28: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} assume true; {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:14,267 INFO L273 TraceCheckUtils]: 29: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} assume !(~len > 0); {1583#(not (= 0 sll_create_~head~0.base))} is VALID [2018-11-18 23:53:14,268 INFO L273 TraceCheckUtils]: 30: Hoare triple {1583#(not (= 0 sll_create_~head~0.base))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {1584#(not (= 0 |sll_create_#res.base|))} is VALID [2018-11-18 23:53:14,269 INFO L273 TraceCheckUtils]: 31: Hoare triple {1584#(not (= 0 |sll_create_#res.base|))} assume true; {1584#(not (= 0 |sll_create_#res.base|))} is VALID [2018-11-18 23:53:14,279 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {1584#(not (= 0 |sll_create_#res.base|))} {1579#(= 0 |main_~#s~0.offset|)} #120#return; {1585#(and (not (= 0 |main_#t~ret11.base|)) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:53:14,280 INFO L273 TraceCheckUtils]: 33: Hoare triple {1585#(and (not (= 0 |main_#t~ret11.base|)) (= 0 |main_~#s~0.offset|))} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {1586#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:53:14,281 INFO L256 TraceCheckUtils]: 34: Hoare triple {1586#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 |main_~#s~0.offset|))} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2018-11-18 23:53:14,282 INFO L273 TraceCheckUtils]: 35: Hoare triple {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {1588#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:53:14,283 INFO L256 TraceCheckUtils]: 36: Hoare triple {1588#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} is VALID [2018-11-18 23:53:14,283 INFO L273 TraceCheckUtils]: 37: Hoare triple {1587#(= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {1709#(and (<= 0 node_create_~temp~0.offset) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:53:14,284 INFO L273 TraceCheckUtils]: 38: Hoare triple {1709#(and (<= 0 node_create_~temp~0.offset) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1709#(and (<= 0 node_create_~temp~0.offset) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} is VALID [2018-11-18 23:53:14,303 INFO L273 TraceCheckUtils]: 39: Hoare triple {1709#(and (<= 0 node_create_~temp~0.offset) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1716#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset)))} is VALID [2018-11-18 23:53:14,310 INFO L273 TraceCheckUtils]: 40: Hoare triple {1716#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset)))} assume true; {1716#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset)))} is VALID [2018-11-18 23:53:14,316 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {1716#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset)))} {1588#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|))} #126#return; {1723#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|) (exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset))))} is VALID [2018-11-18 23:53:14,317 INFO L273 TraceCheckUtils]: 42: Hoare triple {1723#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (= sll_append_~head.base |sll_append_#in~head.base|) (exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |#memory_$Pointer$.base|) (<= 0 node_create_~temp~0.offset))))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {1727#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= |sll_append_#t~mem7.base| (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (<= 0 node_create_~temp~0.offset)))} is VALID [2018-11-18 23:53:14,318 INFO L273 TraceCheckUtils]: 43: Hoare triple {1727#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (= |sll_append_#t~mem7.base| (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (<= 0 node_create_~temp~0.offset)))} assume 0 == #t~mem7.base && 0 == #t~mem7.offset;havoc #t~mem7.base, #t~mem7.offset;call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~head.base, ~head.offset, 4); {1731#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (<= 0 node_create_~temp~0.offset) (= 0 (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))))} is VALID [2018-11-18 23:53:14,319 INFO L273 TraceCheckUtils]: 44: Hoare triple {1731#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (<= 0 node_create_~temp~0.offset) (= 0 (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))))} assume true; {1731#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (<= 0 node_create_~temp~0.offset) (= 0 (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))))} is VALID [2018-11-18 23:53:14,321 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1731#(exists ((node_create_~temp~0.offset Int) (node_create_~temp~0.base Int)) (and (<= 0 node_create_~temp~0.offset) (= 0 (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) (+ node_create_~temp~0.offset 4) 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))))} {1586#(and (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 |main_~#s~0.offset|))} #122#return; {1578#false} is VALID [2018-11-18 23:53:14,321 INFO L273 TraceCheckUtils]: 46: Hoare triple {1578#false} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {1578#false} is VALID [2018-11-18 23:53:14,321 INFO L273 TraceCheckUtils]: 47: Hoare triple {1578#false} assume true; {1578#false} is VALID [2018-11-18 23:53:14,322 INFO L273 TraceCheckUtils]: 48: Hoare triple {1578#false} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {1578#false} is VALID [2018-11-18 23:53:14,322 INFO L273 TraceCheckUtils]: 49: Hoare triple {1578#false} assume !(~data~0 != #t~mem14);havoc #t~mem14;~ptr~0.base, ~ptr~0.offset := ~temp~2.base, ~temp~2.offset;#t~post15 := ~count~0;~count~0 := 1 + #t~post15;havoc #t~post15; {1578#false} is VALID [2018-11-18 23:53:14,322 INFO L273 TraceCheckUtils]: 50: Hoare triple {1578#false} assume true; {1578#false} is VALID [2018-11-18 23:53:14,323 INFO L273 TraceCheckUtils]: 51: Hoare triple {1578#false} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {1578#false} is VALID [2018-11-18 23:53:14,323 INFO L273 TraceCheckUtils]: 52: Hoare triple {1578#false} assume ~count~0 != 1 + ~len~0; {1578#false} is VALID [2018-11-18 23:53:14,323 INFO L273 TraceCheckUtils]: 53: Hoare triple {1578#false} assume !false; {1578#false} is VALID [2018-11-18 23:53:14,331 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 16 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 2 not checked. [2018-11-18 23:53:14,358 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:53:14,358 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 18] total 23 [2018-11-18 23:53:14,359 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 54 [2018-11-18 23:53:14,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:53:14,359 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2018-11-18 23:53:14,526 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:53:14,527 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2018-11-18 23:53:14,527 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2018-11-18 23:53:14,527 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=403, Unknown=4, NotChecked=40, Total=506 [2018-11-18 23:53:14,527 INFO L87 Difference]: Start difference. First operand 53 states and 59 transitions. Second operand 23 states. [2018-11-18 23:53:28,043 WARN L180 SmtUtils]: Spent 2.15 s on a formula simplification. DAG size of input: 35 DAG size of output: 21 [2018-11-18 23:54:02,697 WARN L180 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 36 DAG size of output: 25 [2018-11-18 23:54:28,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:28,981 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2018-11-18 23:54:28,981 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-18 23:54:28,982 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 54 [2018-11-18 23:54:28,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:54:28,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:54:28,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2018-11-18 23:54:28,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-18 23:54:28,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2018-11-18 23:54:28,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 60 transitions. [2018-11-18 23:54:29,072 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:54:29,074 INFO L225 Difference]: With dead ends: 59 [2018-11-18 23:54:29,074 INFO L226 Difference]: Without dead ends: 47 [2018-11-18 23:54:29,076 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 47 SyntacticMatches, 4 SemanticMatches, 27 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 137 ImplicationChecksByTransitivity, 10.1s TimeCoverageRelationStatistics Valid=92, Invalid=664, Unknown=4, NotChecked=52, Total=812 [2018-11-18 23:54:29,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-11-18 23:54:29,112 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2018-11-18 23:54:29,112 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:54:29,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 47 states. [2018-11-18 23:54:29,112 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 47 states. [2018-11-18 23:54:29,112 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 47 states. [2018-11-18 23:54:29,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:29,115 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2018-11-18 23:54:29,115 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2018-11-18 23:54:29,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:54:29,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:54:29,116 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 47 states. [2018-11-18 23:54:29,116 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 47 states. [2018-11-18 23:54:29,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:29,118 INFO L93 Difference]: Finished difference Result 47 states and 52 transitions. [2018-11-18 23:54:29,119 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2018-11-18 23:54:29,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:54:29,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:54:29,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:54:29,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:54:29,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-11-18 23:54:29,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 52 transitions. [2018-11-18 23:54:29,121 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 52 transitions. Word has length 54 [2018-11-18 23:54:29,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:54:29,122 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 52 transitions. [2018-11-18 23:54:29,122 INFO L481 AbstractCegarLoop]: Interpolant automaton has 23 states. [2018-11-18 23:54:29,122 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2018-11-18 23:54:29,123 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-18 23:54:29,123 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:54:29,123 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:54:29,123 INFO L423 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:54:29,124 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:54:29,124 INFO L82 PathProgramCache]: Analyzing trace with hash -342890437, now seen corresponding path program 1 times [2018-11-18 23:54:29,124 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:54:29,124 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:54:29,125 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:54:29,126 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-18 23:54:29,126 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:54:29,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:54:29,602 INFO L256 TraceCheckUtils]: 0: Hoare triple {2012#true} call ULTIMATE.init(); {2012#true} is VALID [2018-11-18 23:54:29,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {2012#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2012#true} is VALID [2018-11-18 23:54:29,603 INFO L273 TraceCheckUtils]: 2: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,603 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2012#true} {2012#true} #128#return; {2012#true} is VALID [2018-11-18 23:54:29,604 INFO L256 TraceCheckUtils]: 4: Hoare triple {2012#true} call #t~ret17 := main(); {2012#true} is VALID [2018-11-18 23:54:29,604 INFO L273 TraceCheckUtils]: 5: Hoare triple {2012#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {2014#(not (= 0 |main_~#s~0.base|))} is VALID [2018-11-18 23:54:29,605 INFO L256 TraceCheckUtils]: 6: Hoare triple {2014#(not (= 0 |main_~#s~0.base|))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {2012#true} is VALID [2018-11-18 23:54:29,605 INFO L273 TraceCheckUtils]: 7: Hoare triple {2012#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {2012#true} is VALID [2018-11-18 23:54:29,605 INFO L273 TraceCheckUtils]: 8: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,605 INFO L273 TraceCheckUtils]: 9: Hoare triple {2012#true} assume !!(~len > 0); {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L256 TraceCheckUtils]: 10: Hoare triple {2012#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L273 TraceCheckUtils]: 11: Hoare triple {2012#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L273 TraceCheckUtils]: 12: Hoare triple {2012#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L273 TraceCheckUtils]: 13: Hoare triple {2012#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L273 TraceCheckUtils]: 14: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {2012#true} {2012#true} #116#return; {2012#true} is VALID [2018-11-18 23:54:29,606 INFO L273 TraceCheckUtils]: 16: Hoare triple {2012#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2012#true} is VALID [2018-11-18 23:54:29,607 INFO L273 TraceCheckUtils]: 17: Hoare triple {2012#true} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2012#true} is VALID [2018-11-18 23:54:29,607 INFO L273 TraceCheckUtils]: 18: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,607 INFO L273 TraceCheckUtils]: 19: Hoare triple {2012#true} assume !!(~len > 0); {2012#true} is VALID [2018-11-18 23:54:29,607 INFO L256 TraceCheckUtils]: 20: Hoare triple {2012#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2012#true} is VALID [2018-11-18 23:54:29,607 INFO L273 TraceCheckUtils]: 21: Hoare triple {2012#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2012#true} is VALID [2018-11-18 23:54:29,607 INFO L273 TraceCheckUtils]: 22: Hoare triple {2012#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2012#true} is VALID [2018-11-18 23:54:29,608 INFO L273 TraceCheckUtils]: 23: Hoare triple {2012#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2012#true} is VALID [2018-11-18 23:54:29,608 INFO L273 TraceCheckUtils]: 24: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,608 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2012#true} {2012#true} #116#return; {2012#true} is VALID [2018-11-18 23:54:29,608 INFO L273 TraceCheckUtils]: 26: Hoare triple {2012#true} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2012#true} is VALID [2018-11-18 23:54:29,608 INFO L273 TraceCheckUtils]: 27: Hoare triple {2012#true} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2012#true} is VALID [2018-11-18 23:54:29,609 INFO L273 TraceCheckUtils]: 28: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,609 INFO L273 TraceCheckUtils]: 29: Hoare triple {2012#true} assume !(~len > 0); {2012#true} is VALID [2018-11-18 23:54:29,609 INFO L273 TraceCheckUtils]: 30: Hoare triple {2012#true} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2012#true} is VALID [2018-11-18 23:54:29,609 INFO L273 TraceCheckUtils]: 31: Hoare triple {2012#true} assume true; {2012#true} is VALID [2018-11-18 23:54:29,615 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2012#true} {2014#(not (= 0 |main_~#s~0.base|))} #120#return; {2014#(not (= 0 |main_~#s~0.base|))} is VALID [2018-11-18 23:54:29,615 INFO L273 TraceCheckUtils]: 33: Hoare triple {2014#(not (= 0 |main_~#s~0.base|))} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {2014#(not (= 0 |main_~#s~0.base|))} is VALID [2018-11-18 23:54:29,615 INFO L256 TraceCheckUtils]: 34: Hoare triple {2014#(not (= 0 |main_~#s~0.base|))} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {2012#true} is VALID [2018-11-18 23:54:29,616 INFO L273 TraceCheckUtils]: 35: Hoare triple {2012#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {2015#(and (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:29,616 INFO L256 TraceCheckUtils]: 36: Hoare triple {2015#(and (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {2012#true} is VALID [2018-11-18 23:54:29,616 INFO L273 TraceCheckUtils]: 37: Hoare triple {2012#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2016#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:54:29,617 INFO L273 TraceCheckUtils]: 38: Hoare triple {2016#(not (= 0 node_create_~temp~0.base))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2016#(not (= 0 node_create_~temp~0.base))} is VALID [2018-11-18 23:54:29,617 INFO L273 TraceCheckUtils]: 39: Hoare triple {2016#(not (= 0 node_create_~temp~0.base))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2017#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:54:29,618 INFO L273 TraceCheckUtils]: 40: Hoare triple {2017#(not (= 0 |node_create_#res.base|))} assume true; {2017#(not (= 0 |node_create_#res.base|))} is VALID [2018-11-18 23:54:29,620 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2017#(not (= 0 |node_create_#res.base|))} {2015#(and (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} #126#return; {2018#(and (not (= 0 |sll_append_#t~ret6.base|)) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:29,621 INFO L273 TraceCheckUtils]: 42: Hoare triple {2018#(and (not (= 0 |sll_append_#t~ret6.base|)) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2019#(and (= |sll_append_#t~mem7.offset| (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset)) (= |sll_append_#t~mem7.base| (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset)) (not (= 0 sll_append_~new_last~0.base)) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:29,622 INFO L273 TraceCheckUtils]: 43: Hoare triple {2019#(and (= |sll_append_#t~mem7.offset| (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset)) (= |sll_append_#t~mem7.base| (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset)) (not (= 0 sll_append_~new_last~0.base)) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= sll_append_~head.base |sll_append_#in~head.base|))} assume !(0 == #t~mem7.base && 0 == #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:29,623 INFO L273 TraceCheckUtils]: 44: Hoare triple {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} assume true; {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:29,624 INFO L273 TraceCheckUtils]: 45: Hoare triple {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, 4 + ~last~0.offset, 4); {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:29,624 INFO L273 TraceCheckUtils]: 46: Hoare triple {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} assume !(#t~mem10.base != 0 || #t~mem10.offset != 0);havoc #t~mem10.base, #t~mem10.offset; {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:29,626 INFO L273 TraceCheckUtils]: 47: Hoare triple {2020#(or (and (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (not (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (not (= (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); {2021#(or (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:29,627 INFO L273 TraceCheckUtils]: 48: Hoare triple {2021#(or (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} assume true; {2021#(or (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:29,629 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2021#(or (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (not (= 0 (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} {2014#(not (= 0 |main_~#s~0.base|))} #122#return; {2022#(or (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0)))} is VALID [2018-11-18 23:54:29,629 INFO L273 TraceCheckUtils]: 50: Hoare triple {2022#(or (not (= 0 (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0)))} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {2023#(or (not (= main_~ptr~0.offset 0)) (not (= 0 main_~ptr~0.base)))} is VALID [2018-11-18 23:54:29,630 INFO L273 TraceCheckUtils]: 51: Hoare triple {2023#(or (not (= main_~ptr~0.offset 0)) (not (= 0 main_~ptr~0.base)))} assume true; {2023#(or (not (= main_~ptr~0.offset 0)) (not (= 0 main_~ptr~0.base)))} is VALID [2018-11-18 23:54:29,631 INFO L273 TraceCheckUtils]: 52: Hoare triple {2023#(or (not (= main_~ptr~0.offset 0)) (not (= 0 main_~ptr~0.base)))} assume !(~ptr~0.base != 0 || ~ptr~0.offset != 0); {2013#false} is VALID [2018-11-18 23:54:29,631 INFO L273 TraceCheckUtils]: 53: Hoare triple {2013#false} assume ~count~0 != 1 + ~len~0; {2013#false} is VALID [2018-11-18 23:54:29,631 INFO L273 TraceCheckUtils]: 54: Hoare triple {2013#false} assume !false; {2013#false} is VALID [2018-11-18 23:54:29,637 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2018-11-18 23:54:29,637 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-18 23:54:29,637 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2018-11-18 23:54:29,638 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 55 [2018-11-18 23:54:29,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:54:29,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-11-18 23:54:29,686 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:54:29,687 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-11-18 23:54:29,687 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-11-18 23:54:29,687 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2018-11-18 23:54:29,687 INFO L87 Difference]: Start difference. First operand 47 states and 52 transitions. Second operand 12 states. [2018-11-18 23:54:30,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:30,977 INFO L93 Difference]: Finished difference Result 69 states and 74 transitions. [2018-11-18 23:54:30,978 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-18 23:54:30,978 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 55 [2018-11-18 23:54:30,978 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-18 23:54:30,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:54:30,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 66 transitions. [2018-11-18 23:54:30,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-11-18 23:54:30,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 66 transitions. [2018-11-18 23:54:30,987 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 66 transitions. [2018-11-18 23:54:31,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-18 23:54:31,102 INFO L225 Difference]: With dead ends: 69 [2018-11-18 23:54:31,102 INFO L226 Difference]: Without dead ends: 66 [2018-11-18 23:54:31,103 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=52, Invalid=254, Unknown=0, NotChecked=0, Total=306 [2018-11-18 23:54:31,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-18 23:54:31,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 56. [2018-11-18 23:54:31,180 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-18 23:54:31,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 56 states. [2018-11-18 23:54:31,181 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 56 states. [2018-11-18 23:54:31,181 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 56 states. [2018-11-18 23:54:31,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:31,185 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2018-11-18 23:54:31,185 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2018-11-18 23:54:31,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:54:31,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:54:31,186 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 66 states. [2018-11-18 23:54:31,186 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 66 states. [2018-11-18 23:54:31,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-18 23:54:31,188 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2018-11-18 23:54:31,189 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2018-11-18 23:54:31,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-18 23:54:31,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-18 23:54:31,189 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-18 23:54:31,189 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-18 23:54:31,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 56 states. [2018-11-18 23:54:31,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 62 transitions. [2018-11-18 23:54:31,192 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 62 transitions. Word has length 55 [2018-11-18 23:54:31,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-18 23:54:31,192 INFO L480 AbstractCegarLoop]: Abstraction has 56 states and 62 transitions. [2018-11-18 23:54:31,193 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-11-18 23:54:31,193 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 62 transitions. [2018-11-18 23:54:31,194 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-18 23:54:31,194 INFO L367 BasicCegarLoop]: Found error trace [2018-11-18 23:54:31,194 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-18 23:54:31,194 INFO L423 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-18 23:54:31,194 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-18 23:54:31,195 INFO L82 PathProgramCache]: Analyzing trace with hash -342888763, now seen corresponding path program 1 times [2018-11-18 23:54:31,195 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-18 23:54:31,195 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-18 23:54:31,196 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:54:31,196 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:54:31,196 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-18 23:54:31,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:54:32,686 WARN L180 SmtUtils]: Spent 183.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 50 [2018-11-18 23:54:33,033 WARN L180 SmtUtils]: Spent 106.00 ms on a formula simplification. DAG size of input: 60 DAG size of output: 45 [2018-11-18 23:54:33,291 WARN L180 SmtUtils]: Spent 130.00 ms on a formula simplification. DAG size of input: 78 DAG size of output: 60 [2018-11-18 23:54:33,607 INFO L256 TraceCheckUtils]: 0: Hoare triple {2340#true} call ULTIMATE.init(); {2340#true} is VALID [2018-11-18 23:54:33,608 INFO L273 TraceCheckUtils]: 1: Hoare triple {2340#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2340#true} is VALID [2018-11-18 23:54:33,608 INFO L273 TraceCheckUtils]: 2: Hoare triple {2340#true} assume true; {2340#true} is VALID [2018-11-18 23:54:33,608 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2340#true} {2340#true} #128#return; {2340#true} is VALID [2018-11-18 23:54:33,609 INFO L256 TraceCheckUtils]: 4: Hoare triple {2340#true} call #t~ret17 := main(); {2340#true} is VALID [2018-11-18 23:54:33,610 INFO L273 TraceCheckUtils]: 5: Hoare triple {2340#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {2342#(= 0 |main_~#s~0.offset|)} is VALID [2018-11-18 23:54:33,610 INFO L256 TraceCheckUtils]: 6: Hoare triple {2342#(= 0 |main_~#s~0.offset|)} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {2340#true} is VALID [2018-11-18 23:54:33,611 INFO L273 TraceCheckUtils]: 7: Hoare triple {2340#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,616 INFO L273 TraceCheckUtils]: 8: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume true; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,616 INFO L273 TraceCheckUtils]: 9: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume !!(~len > 0); {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,616 INFO L256 TraceCheckUtils]: 10: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2340#true} is VALID [2018-11-18 23:54:33,617 INFO L273 TraceCheckUtils]: 11: Hoare triple {2340#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2340#true} is VALID [2018-11-18 23:54:33,617 INFO L273 TraceCheckUtils]: 12: Hoare triple {2340#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2340#true} is VALID [2018-11-18 23:54:33,617 INFO L273 TraceCheckUtils]: 13: Hoare triple {2340#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2340#true} is VALID [2018-11-18 23:54:33,617 INFO L273 TraceCheckUtils]: 14: Hoare triple {2340#true} assume true; {2340#true} is VALID [2018-11-18 23:54:33,623 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {2340#true} {2343#(= sll_create_~data |sll_create_#in~data|)} #116#return; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,623 INFO L273 TraceCheckUtils]: 16: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,624 INFO L273 TraceCheckUtils]: 17: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,624 INFO L273 TraceCheckUtils]: 18: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume true; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,624 INFO L273 TraceCheckUtils]: 19: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume !!(~len > 0); {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:33,624 INFO L256 TraceCheckUtils]: 20: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2340#true} is VALID [2018-11-18 23:54:33,625 INFO L273 TraceCheckUtils]: 21: Hoare triple {2340#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} is VALID [2018-11-18 23:54:33,626 INFO L273 TraceCheckUtils]: 22: Hoare triple {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} is VALID [2018-11-18 23:54:33,626 INFO L273 TraceCheckUtils]: 23: Hoare triple {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} is VALID [2018-11-18 23:54:33,627 INFO L273 TraceCheckUtils]: 24: Hoare triple {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} assume true; {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} is VALID [2018-11-18 23:54:33,629 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} {2343#(= sll_create_~data |sll_create_#in~data|)} #116#return; {2346#(and (= 0 |sll_create_#t~ret4.offset|) (= (select |#valid| |sll_create_#t~ret4.base|) 1) (= (select (select |#memory_int| |sll_create_#t~ret4.base|) 0) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,630 INFO L273 TraceCheckUtils]: 26: Hoare triple {2346#(and (= 0 |sll_create_#t~ret4.offset|) (= (select |#valid| |sll_create_#t~ret4.base|) 1) (= (select (select |#memory_int| |sll_create_#t~ret4.base|) 0) |sll_create_#in~data|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,631 INFO L273 TraceCheckUtils]: 27: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,632 INFO L273 TraceCheckUtils]: 28: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} assume true; {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,632 INFO L273 TraceCheckUtils]: 29: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} assume !(~len > 0); {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,634 INFO L273 TraceCheckUtils]: 30: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,634 INFO L273 TraceCheckUtils]: 31: Hoare triple {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} assume true; {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:33,636 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} {2342#(= 0 |main_~#s~0.offset|)} #120#return; {2349#(and (= main_~data~0 (select (select |#memory_int| |main_#t~ret11.base|) |main_#t~ret11.offset|)) (= (select |#valid| |main_#t~ret11.base|) 1) (= 0 |main_#t~ret11.offset|) (= 0 |main_~#s~0.offset|))} is VALID [2018-11-18 23:54:33,637 INFO L273 TraceCheckUtils]: 33: Hoare triple {2349#(and (= main_~data~0 (select (select |#memory_int| |main_#t~ret11.base|) |main_#t~ret11.offset|)) (= (select |#valid| |main_#t~ret11.base|) 1) (= 0 |main_#t~ret11.offset|) (= 0 |main_~#s~0.offset|))} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {2350#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1))} is VALID [2018-11-18 23:54:33,639 INFO L256 TraceCheckUtils]: 34: Hoare triple {2350#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1))} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:33,640 INFO L273 TraceCheckUtils]: 35: Hoare triple {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {2352#(and (= |#valid| |old(#valid)|) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~data |sll_append_#in~data|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:33,641 INFO L256 TraceCheckUtils]: 36: Hoare triple {2352#(and (= |#valid| |old(#valid)|) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~data |sll_append_#in~data|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:33,642 INFO L273 TraceCheckUtils]: 37: Hoare triple {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2353#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:33,643 INFO L273 TraceCheckUtils]: 38: Hoare triple {2353#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2353#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:33,648 INFO L273 TraceCheckUtils]: 39: Hoare triple {2353#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2354#(and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (store (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))))) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (not (= (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) 0))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= (select (select |#memory_int| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) |node_create_#in~data|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} is VALID [2018-11-18 23:54:33,650 INFO L273 TraceCheckUtils]: 40: Hoare triple {2354#(and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (store (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))))) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (not (= (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) 0))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= (select (select |#memory_int| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) |node_create_#in~data|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} assume true; {2354#(and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (store (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))))) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (not (= (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) 0))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= (select (select |#memory_int| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) |node_create_#in~data|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} is VALID [2018-11-18 23:54:33,654 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2354#(and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (and (= (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (store (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))))) (not (= (@diff (select |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|))) 0))) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|) (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)))) (= (store |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) |#memory_$Pointer$.offset|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (store (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))))) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) (not (= (@diff (select |old(#memory_$Pointer$.offset)| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|))) 0))) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= (select (select |#memory_int| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0) |node_create_#in~data|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|)))} {2352#(and (= |#valid| |old(#valid)|) (= |sll_append_#in~head.offset| sll_append_~head.offset) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= sll_append_~data |sll_append_#in~data|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #126#return; {2355#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| sll_append_~head.base) (select |#memory_$Pointer$.base| sll_append_~head.base)) (= (select (select |#memory_int| sll_append_~head.base) 0) |sll_append_#in~data|)) (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.offset)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset))) (= |sll_append_#in~head.offset| sll_append_~head.offset) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:33,657 INFO L273 TraceCheckUtils]: 42: Hoare triple {2355#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| sll_append_~head.base) (select |#memory_$Pointer$.base| sll_append_~head.base)) (= (select (select |#memory_int| sll_append_~head.base) 0) |sll_append_#in~data|)) (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.offset)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset))) (= |sll_append_#in~head.offset| sll_append_~head.offset) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2356#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| sll_append_~head.base) (select |#memory_$Pointer$.base| sll_append_~head.base)) (= (select (select |#memory_int| sll_append_~head.base) 0) |sll_append_#in~data|)) (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.offset)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset))) (= (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset) |sll_append_#t~mem7.offset|) (= |sll_append_#in~head.offset| sll_append_~head.offset) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:33,659 INFO L273 TraceCheckUtils]: 43: Hoare triple {2356#(and (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.base)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.base| sll_append_~head.base) sll_append_~head.offset))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= (select |old(#memory_$Pointer$.base)| sll_append_~head.base) (select |#memory_$Pointer$.base| sll_append_~head.base)) (= (select (select |#memory_int| sll_append_~head.base) 0) |sll_append_#in~data|)) (or (not (= sll_append_~head.offset 0)) (= (select (select |old(#memory_$Pointer$.offset)| sll_append_~head.base) sll_append_~head.offset) (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset))) (= (select (select |#memory_$Pointer$.offset| sll_append_~head.base) sll_append_~head.offset) |sll_append_#t~mem7.offset|) (= |sll_append_#in~head.offset| sll_append_~head.offset) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= sll_append_~head.base |sll_append_#in~head.base|))} assume !(0 == #t~mem7.base && 0 == #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:33,660 INFO L273 TraceCheckUtils]: 44: Hoare triple {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} assume true; {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:33,660 INFO L273 TraceCheckUtils]: 45: Hoare triple {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, 4 + ~last~0.offset, 4); {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:33,661 INFO L273 TraceCheckUtils]: 46: Hoare triple {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} assume !(#t~mem10.base != 0 || #t~mem10.offset != 0);havoc #t~mem10.base, #t~mem10.offset; {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} is VALID [2018-11-18 23:54:33,664 INFO L273 TraceCheckUtils]: 47: Hoare triple {2357#(or (and (not (= (+ sll_append_~last~0.offset 4) 0)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (and (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset) |sll_append_#in~head.offset|)) |sll_append_#in~data|) (= |sll_append_#in~head.base| (select (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base) |sll_append_#in~head.offset|)) (= sll_append_~last~0.base |sll_append_#in~head.base|)) (= (select (select (store |#memory_$Pointer$.base| sll_append_~last~0.base (store (select |#memory_$Pointer$.base| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.base)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= 0 (select (select (store |#memory_$Pointer$.offset| sll_append_~last~0.base (store (select |#memory_$Pointer$.offset| sll_append_~last~0.base) (+ sll_append_~last~0.offset 4) sll_append_~new_last~0.offset)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)))} call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); {2358#(or (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (and (or (and (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2018-11-18 23:54:33,665 INFO L273 TraceCheckUtils]: 48: Hoare triple {2358#(or (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (and (or (and (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))))} assume true; {2358#(or (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (and (or (and (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2018-11-18 23:54:33,668 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2358#(or (not (= |sll_append_#in~head.offset| 0)) (not (= (select (select |old(#memory_$Pointer$.offset)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 0)) (and (or (and (= |sll_append_#in~head.base| (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_int| |sll_append_#in~head.base|) (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) |sll_append_#in~data|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (select (select |old(#memory_$Pointer$.base)| |sll_append_#in~head.base|) |sll_append_#in~head.offset|))) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= 0 (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))))} {2350#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1))} #122#return; {2359#(= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-18 23:54:33,669 INFO L273 TraceCheckUtils]: 50: Hoare triple {2359#(= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {2360#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} is VALID [2018-11-18 23:54:33,670 INFO L273 TraceCheckUtils]: 51: Hoare triple {2360#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} assume true; {2360#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} is VALID [2018-11-18 23:54:33,670 INFO L273 TraceCheckUtils]: 52: Hoare triple {2360#(= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) main_~ptr~0.offset))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {2361#(= main_~data~0 |main_#t~mem14|)} is VALID [2018-11-18 23:54:33,671 INFO L273 TraceCheckUtils]: 53: Hoare triple {2361#(= main_~data~0 |main_#t~mem14|)} assume ~data~0 != #t~mem14;havoc #t~mem14; {2341#false} is VALID [2018-11-18 23:54:33,671 INFO L273 TraceCheckUtils]: 54: Hoare triple {2341#false} assume !false; {2341#false} is VALID [2018-11-18 23:54:33,686 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:54:33,686 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-18 23:54:33,686 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-18 23:54:33,696 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-18 23:54:33,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:54:33,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-18 23:54:33,801 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-18 23:54:34,029 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-11-18 23:54:34,031 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,036 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,036 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-11-18 23:54:34,039 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:54:34,058 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:54:34,063 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:54:34,064 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,066 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,073 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,074 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:20, output treesize:16 [2018-11-18 23:54:34,230 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:54:34,235 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:54:34,237 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,239 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,258 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-18 23:54:34,263 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:54:34,266 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,268 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,285 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:34,286 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:41, output treesize:34 [2018-11-18 23:54:34,295 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:54:56,090 WARN L180 SmtUtils]: Spent 217.00 ms on a formula simplification. DAG size of input: 93 DAG size of output: 51 [2018-11-18 23:54:56,099 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:54:56,101 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:54:56,102 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 8 [2018-11-18 23:54:56,104 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:56,195 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 90 treesize of output 93 [2018-11-18 23:54:56,237 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 86 treesize of output 85 [2018-11-18 23:54:56,260 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:56,454 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:54:56,456 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 79 treesize of output 88 [2018-11-18 23:54:56,460 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:56,682 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 84 treesize of output 85 [2018-11-18 23:54:56,690 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 17 [2018-11-18 23:54:56,692 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:56,713 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:56,890 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 81 treesize of output 101 [2018-11-18 23:54:56,903 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 90 treesize of output 89 [2018-11-18 23:54:56,911 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,004 INFO L267 ElimStorePlain]: Start of recursive call 8: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,076 INFO L267 ElimStorePlain]: Start of recursive call 3: 2 dim-1 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,159 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 78 treesize of output 77 [2018-11-18 23:54:57,193 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 74 treesize of output 73 [2018-11-18 23:54:57,200 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,294 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:54:57,297 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 76 [2018-11-18 23:54:57,303 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,432 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 73 treesize of output 78 [2018-11-18 23:54:57,456 INFO L700 Elim1Store]: detected not equals via solver [2018-11-18 23:54:57,458 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 63 treesize of output 75 [2018-11-18 23:54:57,494 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:54:57,516 INFO L267 ElimStorePlain]: Start of recursive call 14: 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:54:57,588 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 65 [2018-11-18 23:54:57,596 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,632 INFO L267 ElimStorePlain]: Start of recursive call 13: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,737 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 72 treesize of output 75 [2018-11-18 23:54:57,765 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 73 treesize of output 72 [2018-11-18 23:54:57,768 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,821 INFO L267 ElimStorePlain]: Start of recursive call 17: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,889 INFO L267 ElimStorePlain]: Start of recursive call 10: 2 dim-1 vars, 3 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,927 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 28 [2018-11-18 23:54:57,933 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-18 23:54:57,935 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,944 INFO L267 ElimStorePlain]: Start of recursive call 19: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:57,973 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, 3 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-18 23:54:57,973 INFO L202 ElimStorePlain]: Needed 20 recursive calls to eliminate 8 variables, input treesize:180, output treesize:47 [2018-11-18 23:54:57,991 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:54:58,124 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 34 [2018-11-18 23:54:58,145 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 16 [2018-11-18 23:54:58,147 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,170 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 12 [2018-11-18 23:54:58,172 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,183 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,206 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 24 [2018-11-18 23:54:58,214 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 8 [2018-11-18 23:54:58,216 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,232 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 3 [2018-11-18 23:54:58,233 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,239 INFO L267 ElimStorePlain]: Start of recursive call 5: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,248 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,249 INFO L202 ElimStorePlain]: Needed 7 recursive calls to eliminate 4 variables, input treesize:58, output treesize:14 [2018-11-18 23:54:58,252 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:54:58,312 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-18 23:54:58,316 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-18 23:54:58,341 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,342 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,346 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-18 23:54:58,347 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:18, output treesize:7 [2018-11-18 23:54:58,349 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-18 23:54:58,391 INFO L256 TraceCheckUtils]: 0: Hoare triple {2340#true} call ULTIMATE.init(); {2340#true} is VALID [2018-11-18 23:54:58,391 INFO L273 TraceCheckUtils]: 1: Hoare triple {2340#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2340#true} is VALID [2018-11-18 23:54:58,391 INFO L273 TraceCheckUtils]: 2: Hoare triple {2340#true} assume true; {2340#true} is VALID [2018-11-18 23:54:58,392 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2340#true} {2340#true} #128#return; {2340#true} is VALID [2018-11-18 23:54:58,392 INFO L256 TraceCheckUtils]: 4: Hoare triple {2340#true} call #t~ret17 := main(); {2340#true} is VALID [2018-11-18 23:54:58,393 INFO L273 TraceCheckUtils]: 5: Hoare triple {2340#true} ~len~0 := 2;~data~0 := 1;call ~#s~0.base, ~#s~0.offset := #Ultimate.alloc(4);call write~$Pointer$(0, 0, ~#s~0.base, ~#s~0.offset, 4); {2380#(and (= |main_~#s~0.offset| 0) (= main_~data~0 1))} is VALID [2018-11-18 23:54:58,393 INFO L256 TraceCheckUtils]: 6: Hoare triple {2380#(and (= |main_~#s~0.offset| 0) (= main_~data~0 1))} call #t~ret11.base, #t~ret11.offset := sll_create(~len~0, ~data~0); {2340#true} is VALID [2018-11-18 23:54:58,413 INFO L273 TraceCheckUtils]: 7: Hoare triple {2340#true} ~len := #in~len;~data := #in~data;~head~0.base, ~head~0.offset := 0, 0; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,426 INFO L273 TraceCheckUtils]: 8: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume true; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,435 INFO L273 TraceCheckUtils]: 9: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume !!(~len > 0); {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,435 INFO L256 TraceCheckUtils]: 10: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2340#true} is VALID [2018-11-18 23:54:58,435 INFO L273 TraceCheckUtils]: 11: Hoare triple {2340#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2340#true} is VALID [2018-11-18 23:54:58,436 INFO L273 TraceCheckUtils]: 12: Hoare triple {2340#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2340#true} is VALID [2018-11-18 23:54:58,436 INFO L273 TraceCheckUtils]: 13: Hoare triple {2340#true} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2340#true} is VALID [2018-11-18 23:54:58,436 INFO L273 TraceCheckUtils]: 14: Hoare triple {2340#true} assume true; {2340#true} is VALID [2018-11-18 23:54:58,450 INFO L268 TraceCheckUtils]: 15: Hoare quadruple {2340#true} {2343#(= sll_create_~data |sll_create_#in~data|)} #116#return; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,459 INFO L273 TraceCheckUtils]: 16: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,469 INFO L273 TraceCheckUtils]: 17: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,469 INFO L273 TraceCheckUtils]: 18: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume true; {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,474 INFO L273 TraceCheckUtils]: 19: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} assume !!(~len > 0); {2343#(= sll_create_~data |sll_create_#in~data|)} is VALID [2018-11-18 23:54:58,474 INFO L256 TraceCheckUtils]: 20: Hoare triple {2343#(= sll_create_~data |sll_create_#in~data|)} call #t~ret4.base, #t~ret4.offset := node_create(~data); {2340#true} is VALID [2018-11-18 23:54:58,475 INFO L273 TraceCheckUtils]: 21: Hoare triple {2340#true} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} is VALID [2018-11-18 23:54:58,475 INFO L273 TraceCheckUtils]: 22: Hoare triple {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} is VALID [2018-11-18 23:54:58,476 INFO L273 TraceCheckUtils]: 23: Hoare triple {2344#(and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~data |node_create_#in~data|) (= node_create_~temp~0.offset 0))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} is VALID [2018-11-18 23:54:58,476 INFO L273 TraceCheckUtils]: 24: Hoare triple {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} assume true; {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} is VALID [2018-11-18 23:54:58,477 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2345#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 |node_create_#res.offset|) (= (select (select |#memory_int| |node_create_#res.base|) 0) |node_create_#in~data|))} {2343#(= sll_create_~data |sll_create_#in~data|)} #116#return; {2346#(and (= 0 |sll_create_#t~ret4.offset|) (= (select |#valid| |sll_create_#t~ret4.base|) 1) (= (select (select |#memory_int| |sll_create_#t~ret4.base|) 0) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,478 INFO L273 TraceCheckUtils]: 26: Hoare triple {2346#(and (= 0 |sll_create_#t~ret4.offset|) (= (select |#valid| |sll_create_#t~ret4.base|) 1) (= (select (select |#memory_int| |sll_create_#t~ret4.base|) 0) |sll_create_#in~data|))} ~new_head~0.base, ~new_head~0.offset := #t~ret4.base, #t~ret4.offset;havoc #t~ret4.base, #t~ret4.offset;call write~$Pointer$(~head~0.base, ~head~0.offset, ~new_head~0.base, 4 + ~new_head~0.offset, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset; {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,479 INFO L273 TraceCheckUtils]: 27: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} #t~post3 := ~len;~len := #t~post3 - 1;havoc #t~post3; {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,480 INFO L273 TraceCheckUtils]: 28: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} assume true; {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,480 INFO L273 TraceCheckUtils]: 29: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} assume !(~len > 0); {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,481 INFO L273 TraceCheckUtils]: 30: Hoare triple {2347#(and (= (select |#valid| sll_create_~head~0.base) 1) (= 0 sll_create_~head~0.offset) (= (select (select |#memory_int| sll_create_~head~0.base) sll_create_~head~0.offset) |sll_create_#in~data|))} #res.base, #res.offset := ~head~0.base, ~head~0.offset; {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,482 INFO L273 TraceCheckUtils]: 31: Hoare triple {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} assume true; {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} is VALID [2018-11-18 23:54:58,484 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {2348#(and (= 0 |sll_create_#res.offset|) (= (select |#valid| |sll_create_#res.base|) 1) (= (select (select |#memory_int| |sll_create_#res.base|) |sll_create_#res.offset|) |sll_create_#in~data|))} {2380#(and (= |main_~#s~0.offset| 0) (= main_~data~0 1))} #120#return; {2462#(and (= main_~data~0 (select (select |#memory_int| |main_#t~ret11.base|) 0)) (= 1 (select |#valid| |main_#t~ret11.base|)) (= |main_~#s~0.offset| 0) (= |main_#t~ret11.offset| 0) (= main_~data~0 1))} is VALID [2018-11-18 23:54:58,486 INFO L273 TraceCheckUtils]: 33: Hoare triple {2462#(and (= main_~data~0 (select (select |#memory_int| |main_#t~ret11.base|) 0)) (= 1 (select |#valid| |main_#t~ret11.base|)) (= |main_~#s~0.offset| 0) (= |main_#t~ret11.offset| 0) (= main_~data~0 1))} call write~$Pointer$(#t~ret11.base, #t~ret11.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret11.base, #t~ret11.offset; {2466#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (= |main_~#s~0.offset| 0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1))} is VALID [2018-11-18 23:54:58,487 INFO L256 TraceCheckUtils]: 34: Hoare triple {2466#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (= |main_~#s~0.offset| 0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1))} call sll_append(~#s~0.base, ~#s~0.offset, ~data~0); {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:58,488 INFO L273 TraceCheckUtils]: 35: Hoare triple {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data; {2473#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:58,489 INFO L256 TraceCheckUtils]: 36: Hoare triple {2473#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret6.base, #t~ret6.offset := node_create(~data); {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:58,490 INFO L273 TraceCheckUtils]: 37: Hoare triple {2351#(and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~data := #in~data;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.alloc(8);~temp~0.base, ~temp~0.offset := #t~malloc2.base, #t~malloc2.offset; {2480#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:58,491 INFO L273 TraceCheckUtils]: 38: Hoare triple {2480#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {2480#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-18 23:54:58,493 INFO L273 TraceCheckUtils]: 39: Hoare triple {2480#(and (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_int| |old(#memory_int)|) (= node_create_~temp~0.offset 0) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, 4 + ~temp~0.offset, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {2487#(exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)))))} is VALID [2018-11-18 23:54:58,494 INFO L273 TraceCheckUtils]: 40: Hoare triple {2487#(exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)))))} assume true; {2487#(exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)))))} is VALID [2018-11-18 23:54:58,496 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2487#(exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)))))} {2473#(and (= |#valid| |old(#valid)|) (= sll_append_~head.offset |sll_append_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= sll_append_~head.base |sll_append_#in~head.base|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #126#return; {2494#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:58,497 INFO L273 TraceCheckUtils]: 42: Hoare triple {2494#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~head.base |sll_append_#in~head.base|))} ~new_last~0.base, ~new_last~0.offset := #t~ret6.base, #t~ret6.offset;havoc #t~ret6.base, #t~ret6.offset;call #t~mem7.base, #t~mem7.offset := read~$Pointer$(~head.base, ~head.offset, 4); {2494#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~head.base |sll_append_#in~head.base|))} is VALID [2018-11-18 23:54:58,498 INFO L273 TraceCheckUtils]: 43: Hoare triple {2494#(and (= sll_append_~head.offset |sll_append_#in~head.offset|) (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~head.base |sll_append_#in~head.base|))} assume !(0 == #t~mem7.base && 0 == #t~mem7.offset);havoc #t~mem7.base, #t~mem7.offset;call #t~mem8.base, #t~mem8.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~0.base, ~last~0.offset := #t~mem8.base, #t~mem8.offset;havoc #t~mem8.base, #t~mem8.offset; {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} is VALID [2018-11-18 23:54:58,499 INFO L273 TraceCheckUtils]: 44: Hoare triple {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} assume true; {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} is VALID [2018-11-18 23:54:58,501 INFO L273 TraceCheckUtils]: 45: Hoare triple {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~0.base, 4 + ~last~0.offset, 4); {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} is VALID [2018-11-18 23:54:58,502 INFO L273 TraceCheckUtils]: 46: Hoare triple {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} assume !(#t~mem10.base != 0 || #t~mem10.offset != 0);havoc #t~mem10.base, #t~mem10.offset; {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} is VALID [2018-11-18 23:55:00,506 INFO L273 TraceCheckUtils]: 47: Hoare triple {2501#(and (exists ((node_create_~data Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |#memory_$Pointer$.offset|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0))))) (= sll_append_~last~0.offset (select (select |#memory_$Pointer$.offset| |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_append_#in~head.base|) |sll_append_#in~head.offset|) sll_append_~last~0.base))} call write~$Pointer$(~new_last~0.base, ~new_last~0.offset, ~last~0.base, 4 + ~last~0.offset, 4); {2514#(exists ((node_create_~data Int) (sll_append_~new_last~0.base Int) (sll_append_~new_last~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.base| (store (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.base))) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= (store (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.offset)) |#memory_$Pointer$.offset|)))} is UNKNOWN [2018-11-18 23:55:00,507 INFO L273 TraceCheckUtils]: 48: Hoare triple {2514#(exists ((node_create_~data Int) (sll_append_~new_last~0.base Int) (sll_append_~new_last~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.base| (store (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.base))) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= (store (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.offset)) |#memory_$Pointer$.offset|)))} assume true; {2514#(exists ((node_create_~data Int) (sll_append_~new_last~0.base Int) (sll_append_~new_last~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.base| (store (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.base))) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= (store (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.offset)) |#memory_$Pointer$.offset|)))} is VALID [2018-11-18 23:55:00,510 INFO L268 TraceCheckUtils]: 49: Hoare quadruple {2514#(exists ((node_create_~data Int) (sll_append_~new_last~0.base Int) (sll_append_~new_last~0.offset Int) (node_create_~temp~0.base Int)) (and (= (store |old(#memory_int)| node_create_~temp~0.base (store (select |old(#memory_int)| node_create_~temp~0.base) 0 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.base| (store (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.base))) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= (store (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) (select (select (store |old(#memory_$Pointer$.base)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.base)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|)) (+ (select (select (store |old(#memory_$Pointer$.offset)| node_create_~temp~0.base (store (select |old(#memory_$Pointer$.offset)| node_create_~temp~0.base) 4 0)) |sll_append_#in~head.base|) |sll_append_#in~head.offset|) 4) sll_append_~new_last~0.offset)) |#memory_$Pointer$.offset|)))} {2466#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (= |main_~#s~0.offset| 0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1))} #122#return; {2521#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((node_create_~temp~0.base Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) node_create_~temp~0.base)) (= (select (select |#memory_$Pointer$.base| node_create_~temp~0.base) 4) 0) (= 0 (select (select |#memory_$Pointer$.offset| node_create_~temp~0.base) 4)))) (= |main_~#s~0.offset| 0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1))} is VALID [2018-11-18 23:55:00,511 INFO L273 TraceCheckUtils]: 50: Hoare triple {2521#(and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (exists ((node_create_~temp~0.base Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) node_create_~temp~0.base)) (= (select (select |#memory_$Pointer$.base| node_create_~temp~0.base) 4) 0) (= 0 (select (select |#memory_$Pointer$.offset| node_create_~temp~0.base) 4)))) (= |main_~#s~0.offset| 0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 0)) (= main_~data~0 1))} call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem12.base, #t~mem12.offset;havoc #t~mem12.base, #t~mem12.offset;~count~0 := 0; {2525#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} is VALID [2018-11-18 23:55:00,512 INFO L273 TraceCheckUtils]: 51: Hoare triple {2525#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} assume true; {2525#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} is VALID [2018-11-18 23:55:00,513 INFO L273 TraceCheckUtils]: 52: Hoare triple {2525#(and (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 0)) (= main_~data~0 1))} assume !!(~ptr~0.base != 0 || ~ptr~0.offset != 0);call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~ptr~0.base, 4 + ~ptr~0.offset, 4);~temp~2.base, ~temp~2.offset := #t~mem13.base, #t~mem13.offset;havoc #t~mem13.base, #t~mem13.offset;call #t~mem14 := read~int(~ptr~0.base, ~ptr~0.offset, 4); {2532#(and (= |main_#t~mem14| main_~data~0) (= main_~data~0 1))} is VALID [2018-11-18 23:55:00,514 INFO L273 TraceCheckUtils]: 53: Hoare triple {2532#(and (= |main_#t~mem14| main_~data~0) (= main_~data~0 1))} assume ~data~0 != #t~mem14;havoc #t~mem14; {2341#false} is VALID [2018-11-18 23:55:00,514 INFO L273 TraceCheckUtils]: 54: Hoare triple {2341#false} assume !false; {2341#false} is VALID [2018-11-18 23:55:00,526 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-18 23:55:00,545 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-18 23:55:00,545 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 21] total 34 [2018-11-18 23:55:00,545 INFO L78 Accepts]: Start accepts. Automaton has 34 states. Word has length 55 [2018-11-18 23:55:00,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-18 23:55:00,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states. [2018-11-18 23:55:04,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 74 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-18 23:55:04,678 INFO L459 AbstractCegarLoop]: Interpolant automaton has 34 states [2018-11-18 23:55:04,678 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2018-11-18 23:55:04,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=109, Invalid=1003, Unknown=10, NotChecked=0, Total=1122 [2018-11-18 23:55:04,679 INFO L87 Difference]: Start difference. First operand 56 states and 62 transitions. Second operand 34 states. [2018-11-18 23:55:34,844 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 84 DAG size of output: 50