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-Const.epf -i ../../../trunk/examples/svcomp/list-simple/sll2c_insert_unequal_true-unreach-call_true-valid-memsafety.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 19:14:11,864 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 19:14:11,867 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 19:14:11,887 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 19:14:11,887 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 19:14:11,888 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 19:14:11,890 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 19:14:11,892 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 19:14:11,896 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 19:14:11,897 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 19:14:11,898 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 19:14:11,898 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 19:14:11,899 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 19:14:11,900 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 19:14:11,902 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 19:14:11,903 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 19:14:11,904 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 19:14:11,907 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 19:14:11,913 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 19:14:11,918 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 19:14:11,920 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 19:14:11,924 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 19:14:11,929 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 19:14:11,930 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 19:14:11,930 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 19:14:11,933 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 19:14:11,935 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 19:14:11,935 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 19:14:11,936 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 19:14:11,937 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 19:14:11,937 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 19:14:11,938 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 19:14:11,938 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 19:14:11,938 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 19:14:11,939 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 19:14:11,940 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 19:14:11,940 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default-Const.epf [2018-11-14 19:14:11,955 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 19:14:11,955 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 19:14:11,956 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 19:14:11,956 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 19:14:11,957 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 19:14:11,957 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 19:14:11,957 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 19:14:11,958 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 19:14:11,958 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 19:14:11,958 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-14 19:14:11,958 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 19:14:11,958 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 19:14:11,959 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 19:14:11,959 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 19:14:11,959 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 19:14:11,959 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 19:14:11,959 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 19:14:11,960 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 19:14:11,960 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 19:14:11,960 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 19:14:11,960 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 19:14:11,960 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 19:14:11,961 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 19:14:11,961 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 19:14:11,961 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 19:14:11,961 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 19:14:11,961 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 19:14:11,962 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-14 19:14:11,962 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 19:14:11,962 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-14 19:14:11,962 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 19:14:12,031 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 19:14:12,045 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 19:14:12,049 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 19:14:12,051 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 19:14:12,052 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 19:14:12,052 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-simple/sll2c_insert_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-14 19:14:12,119 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/716e61b96/6153f6fcacc54f628005d244b82ea51c/FLAGdab3980c8 [2018-11-14 19:14:12,631 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 19:14:12,632 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-simple/sll2c_insert_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-14 19:14:12,650 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/716e61b96/6153f6fcacc54f628005d244b82ea51c/FLAGdab3980c8 [2018-11-14 19:14:12,665 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/716e61b96/6153f6fcacc54f628005d244b82ea51c [2018-11-14 19:14:12,674 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 19:14:12,675 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 19:14:12,676 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 19:14:12,676 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 19:14:12,680 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 19:14:12,682 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 07:14:12" (1/1) ... [2018-11-14 19:14:12,685 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7e0ab5fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:12, skipping insertion in model container [2018-11-14 19:14:12,685 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 07:14:12" (1/1) ... [2018-11-14 19:14:12,695 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 19:14:12,759 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 19:14:13,190 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 19:14:13,207 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 19:14:13,314 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 19:14:13,485 INFO L195 MainTranslator]: Completed translation [2018-11-14 19:14:13,486 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13 WrapperNode [2018-11-14 19:14:13,486 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 19:14:13,487 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 19:14:13,487 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 19:14:13,487 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 19:14:13,500 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,501 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,519 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,519 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,549 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,557 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,561 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (1/1) ... [2018-11-14 19:14:13,577 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 19:14:13,578 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 19:14:13,581 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 19:14:13,581 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 19:14:13,582 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (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-14 19:14:13,646 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 19:14:13,647 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 19:14:13,647 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2018-11-14 19:14:13,647 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2018-11-14 19:14:13,647 INFO L138 BoogieDeclarations]: Found implementation of procedure exit [2018-11-14 19:14:13,647 INFO L138 BoogieDeclarations]: Found implementation of procedure node_create [2018-11-14 19:14:13,647 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_circular_create [2018-11-14 19:14:13,648 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_circular_destroy [2018-11-14 19:14:13,648 INFO L138 BoogieDeclarations]: Found implementation of procedure sll_circular_insert [2018-11-14 19:14:13,648 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 19:14:13,648 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 19:14:13,648 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2018-11-14 19:14:13,648 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2018-11-14 19:14:13,649 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2018-11-14 19:14:13,649 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2018-11-14 19:14:13,649 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2018-11-14 19:14:13,649 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2018-11-14 19:14:13,649 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2018-11-14 19:14:13,649 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2018-11-14 19:14:13,650 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2018-11-14 19:14:13,650 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2018-11-14 19:14:13,650 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2018-11-14 19:14:13,650 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2018-11-14 19:14:13,650 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2018-11-14 19:14:13,650 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2018-11-14 19:14:13,651 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2018-11-14 19:14:13,651 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2018-11-14 19:14:13,651 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2018-11-14 19:14:13,651 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2018-11-14 19:14:13,651 INFO L130 BoogieDeclarations]: Found specification of procedure select [2018-11-14 19:14:13,651 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2018-11-14 19:14:13,652 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2018-11-14 19:14:13,652 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2018-11-14 19:14:13,652 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2018-11-14 19:14:13,652 INFO L130 BoogieDeclarations]: Found specification of procedure random [2018-11-14 19:14:13,652 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2018-11-14 19:14:13,652 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2018-11-14 19:14:13,653 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2018-11-14 19:14:13,655 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2018-11-14 19:14:13,655 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2018-11-14 19:14:13,655 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2018-11-14 19:14:13,655 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2018-11-14 19:14:13,655 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2018-11-14 19:14:13,656 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2018-11-14 19:14:13,657 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2018-11-14 19:14:13,657 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2018-11-14 19:14:13,657 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2018-11-14 19:14:13,657 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2018-11-14 19:14:13,657 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2018-11-14 19:14:13,658 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2018-11-14 19:14:13,658 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2018-11-14 19:14:13,658 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2018-11-14 19:14:13,658 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2018-11-14 19:14:13,658 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2018-11-14 19:14:13,658 INFO L130 BoogieDeclarations]: Found specification of procedure free [2018-11-14 19:14:13,659 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2018-11-14 19:14:13,659 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2018-11-14 19:14:13,659 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2018-11-14 19:14:13,659 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2018-11-14 19:14:13,659 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2018-11-14 19:14:13,659 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2018-11-14 19:14:13,664 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2018-11-14 19:14:13,664 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2018-11-14 19:14:13,664 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2018-11-14 19:14:13,664 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2018-11-14 19:14:13,664 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2018-11-14 19:14:13,664 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2018-11-14 19:14:13,665 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2018-11-14 19:14:13,665 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2018-11-14 19:14:13,665 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2018-11-14 19:14:13,666 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2018-11-14 19:14:13,666 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2018-11-14 19:14:13,666 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2018-11-14 19:14:13,666 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2018-11-14 19:14:13,666 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2018-11-14 19:14:13,666 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2018-11-14 19:14:13,667 INFO L130 BoogieDeclarations]: Found specification of procedure system [2018-11-14 19:14:13,668 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2018-11-14 19:14:13,668 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2018-11-14 19:14:13,668 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2018-11-14 19:14:13,668 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2018-11-14 19:14:13,668 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2018-11-14 19:14:13,669 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2018-11-14 19:14:13,669 INFO L130 BoogieDeclarations]: Found specification of procedure div [2018-11-14 19:14:13,669 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2018-11-14 19:14:13,669 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2018-11-14 19:14:13,669 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2018-11-14 19:14:13,670 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2018-11-14 19:14:13,671 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2018-11-14 19:14:13,671 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2018-11-14 19:14:13,671 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2018-11-14 19:14:13,671 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2018-11-14 19:14:13,671 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2018-11-14 19:14:13,672 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2018-11-14 19:14:13,672 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2018-11-14 19:14:13,672 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2018-11-14 19:14:13,672 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2018-11-14 19:14:13,672 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2018-11-14 19:14:13,672 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2018-11-14 19:14:13,674 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2018-11-14 19:14:13,674 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2018-11-14 19:14:13,675 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2018-11-14 19:14:13,675 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2018-11-14 19:14:13,675 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2018-11-14 19:14:13,675 INFO L130 BoogieDeclarations]: Found specification of procedure node_create [2018-11-14 19:14:13,675 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 19:14:13,675 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-14 19:14:13,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-14 19:14:13,676 INFO L130 BoogieDeclarations]: Found specification of procedure sll_circular_create [2018-11-14 19:14:13,676 INFO L130 BoogieDeclarations]: Found specification of procedure sll_circular_destroy [2018-11-14 19:14:13,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-14 19:14:13,676 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 19:14:13,677 INFO L130 BoogieDeclarations]: Found specification of procedure sll_circular_insert [2018-11-14 19:14:13,677 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 19:14:13,677 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-14 19:14:13,677 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 19:14:13,677 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 19:14:13,677 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-11-14 19:14:15,175 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 19:14:15,176 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 07:14:15 BoogieIcfgContainer [2018-11-14 19:14:15,176 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 19:14:15,178 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 19:14:15,178 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 19:14:15,181 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 19:14:15,182 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 07:14:12" (1/3) ... [2018-11-14 19:14:15,183 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@637f965c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 07:14:15, skipping insertion in model container [2018-11-14 19:14:15,183 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 07:14:13" (2/3) ... [2018-11-14 19:14:15,183 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@637f965c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 07:14:15, skipping insertion in model container [2018-11-14 19:14:15,183 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 07:14:15" (3/3) ... [2018-11-14 19:14:15,185 INFO L112 eAbstractionObserver]: Analyzing ICFG sll2c_insert_unequal_true-unreach-call_true-valid-memsafety.i [2018-11-14 19:14:15,194 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 19:14:15,202 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 19:14:15,217 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 19:14:15,250 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 19:14:15,251 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 19:14:15,251 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 19:14:15,251 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 19:14:15,252 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 19:14:15,252 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 19:14:15,252 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 19:14:15,252 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 19:14:15,252 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 19:14:15,273 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states. [2018-11-14 19:14:15,281 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2018-11-14 19:14:15,281 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:14:15,282 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:14:15,285 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:14:15,291 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:14:15,292 INFO L82 PathProgramCache]: Analyzing trace with hash -18519527, now seen corresponding path program 1 times [2018-11-14 19:14:15,294 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:14:15,294 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:14:15,352 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:15,352 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:14:15,352 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:15,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:15,571 INFO L256 TraceCheckUtils]: 0: Hoare triple {67#true} call ULTIMATE.init(); {67#true} is VALID [2018-11-14 19:14:15,576 INFO L273 TraceCheckUtils]: 1: Hoare triple {67#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {67#true} is VALID [2018-11-14 19:14:15,576 INFO L273 TraceCheckUtils]: 2: Hoare triple {67#true} assume true; {67#true} is VALID [2018-11-14 19:14:15,578 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {67#true} {67#true} #169#return; {67#true} is VALID [2018-11-14 19:14:15,579 INFO L256 TraceCheckUtils]: 4: Hoare triple {67#true} call #t~ret29 := main(); {67#true} is VALID [2018-11-14 19:14:15,579 INFO L273 TraceCheckUtils]: 5: Hoare triple {67#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); {67#true} is VALID [2018-11-14 19:14:15,580 INFO L256 TraceCheckUtils]: 6: Hoare triple {67#true} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {67#true} is VALID [2018-11-14 19:14:15,580 INFO L273 TraceCheckUtils]: 7: Hoare triple {67#true} ~len := #in~len;~data := #in~data; {67#true} is VALID [2018-11-14 19:14:15,580 INFO L256 TraceCheckUtils]: 8: Hoare triple {67#true} call #t~ret3.base, #t~ret3.offset := node_create(~data); {67#true} is VALID [2018-11-14 19:14:15,581 INFO L273 TraceCheckUtils]: 9: Hoare triple {67#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; {67#true} is VALID [2018-11-14 19:14:15,581 INFO L273 TraceCheckUtils]: 10: Hoare triple {67#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {67#true} is VALID [2018-11-14 19:14:15,582 INFO L273 TraceCheckUtils]: 11: Hoare triple {67#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {67#true} is VALID [2018-11-14 19:14:15,584 INFO L273 TraceCheckUtils]: 12: Hoare triple {67#true} assume true; {67#true} is VALID [2018-11-14 19:14:15,584 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {67#true} {67#true} #165#return; {67#true} is VALID [2018-11-14 19:14:15,584 INFO L273 TraceCheckUtils]: 14: Hoare triple {67#true} ~head~0.base, ~head~0.offset := #t~ret3.base, #t~ret3.offset;havoc #t~ret3.base, #t~ret3.offset;~last~0.base, ~last~0.offset := ~head~0.base, ~head~0.offset; {67#true} is VALID [2018-11-14 19:14:15,599 INFO L273 TraceCheckUtils]: 15: Hoare triple {67#true} assume !true; {68#false} is VALID [2018-11-14 19:14:15,599 INFO L273 TraceCheckUtils]: 16: Hoare triple {68#false} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset + 0, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {68#false} is VALID [2018-11-14 19:14:15,600 INFO L273 TraceCheckUtils]: 17: Hoare triple {68#false} assume true; {68#false} is VALID [2018-11-14 19:14:15,600 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {68#false} {67#true} #159#return; {68#false} is VALID [2018-11-14 19:14:15,601 INFO L273 TraceCheckUtils]: 19: Hoare triple {68#false} call write~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {68#false} is VALID [2018-11-14 19:14:15,601 INFO L256 TraceCheckUtils]: 20: Hoare triple {68#false} call sll_circular_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {67#true} is VALID [2018-11-14 19:14:15,601 INFO L273 TraceCheckUtils]: 21: Hoare triple {67#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {67#true} is VALID [2018-11-14 19:14:15,602 INFO L256 TraceCheckUtils]: 22: Hoare triple {67#true} call #t~ret8.base, #t~ret8.offset := node_create(~data); {67#true} is VALID [2018-11-14 19:14:15,602 INFO L273 TraceCheckUtils]: 23: Hoare triple {67#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; {67#true} is VALID [2018-11-14 19:14:15,602 INFO L273 TraceCheckUtils]: 24: Hoare triple {67#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {67#true} is VALID [2018-11-14 19:14:15,604 INFO L273 TraceCheckUtils]: 25: Hoare triple {67#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {67#true} is VALID [2018-11-14 19:14:15,605 INFO L273 TraceCheckUtils]: 26: Hoare triple {67#true} assume true; {67#true} is VALID [2018-11-14 19:14:15,605 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {67#true} {67#true} #155#return; {67#true} is VALID [2018-11-14 19:14:15,606 INFO L273 TraceCheckUtils]: 28: Hoare triple {67#true} ~new_node~0.base, ~new_node~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {67#true} is VALID [2018-11-14 19:14:15,606 INFO L273 TraceCheckUtils]: 29: Hoare triple {67#true} assume !true; {67#true} is VALID [2018-11-14 19:14:15,606 INFO L273 TraceCheckUtils]: 30: Hoare triple {67#true} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 0, 4);call write~$Pointer$(~last~1.base, ~last~1.offset, ~new_node~0.base, ~new_node~0.offset + 0, 4); {67#true} is VALID [2018-11-14 19:14:15,607 INFO L273 TraceCheckUtils]: 31: Hoare triple {67#true} assume true; {67#true} is VALID [2018-11-14 19:14:15,607 INFO L268 TraceCheckUtils]: 32: Hoare quadruple {67#true} {68#false} #161#return; {68#false} is VALID [2018-11-14 19:14:15,607 INFO L273 TraceCheckUtils]: 33: Hoare triple {68#false} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset;~count~0 := 0; {68#false} is VALID [2018-11-14 19:14:15,611 INFO L273 TraceCheckUtils]: 34: Hoare triple {68#false} assume true;call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 4, 4); {68#false} is VALID [2018-11-14 19:14:15,611 INFO L273 TraceCheckUtils]: 35: Hoare triple {68#false} assume ~data~0 != #t~mem18;havoc #t~mem18; {68#false} is VALID [2018-11-14 19:14:15,612 INFO L273 TraceCheckUtils]: 36: Hoare triple {68#false} assume !false; {68#false} is VALID [2018-11-14 19:14:15,626 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-14 19:14:15,629 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 19:14:15,629 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 19:14:15,635 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 37 [2018-11-14 19:14:15,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:14:15,642 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 19:14:15,867 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-14 19:14:15,867 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 19:14:15,875 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 19:14:15,876 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 19:14:15,878 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 2 states. [2018-11-14 19:14:16,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:16,167 INFO L93 Difference]: Finished difference Result 114 states and 148 transitions. [2018-11-14 19:14:16,167 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 19:14:16,167 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 37 [2018-11-14 19:14:16,168 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:14:16,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 19:14:16,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 148 transitions. [2018-11-14 19:14:16,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 19:14:16,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 148 transitions. [2018-11-14 19:14:16,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 148 transitions. [2018-11-14 19:14:16,577 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:16,592 INFO L225 Difference]: With dead ends: 114 [2018-11-14 19:14:16,592 INFO L226 Difference]: Without dead ends: 48 [2018-11-14 19:14:16,596 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-14 19:14:16,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-11-14 19:14:16,651 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 48. [2018-11-14 19:14:16,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:14:16,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 48 states. [2018-11-14 19:14:16,653 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-14 19:14:16,653 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-14 19:14:16,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:16,660 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2018-11-14 19:14:16,660 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2018-11-14 19:14:16,661 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:16,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:16,662 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 48 states. [2018-11-14 19:14:16,662 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 48 states. [2018-11-14 19:14:16,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:16,668 INFO L93 Difference]: Finished difference Result 48 states and 58 transitions. [2018-11-14 19:14:16,668 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2018-11-14 19:14:16,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:16,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:16,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:14:16,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:14:16,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-11-14 19:14:16,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 58 transitions. [2018-11-14 19:14:16,677 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 58 transitions. Word has length 37 [2018-11-14 19:14:16,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:14:16,677 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 58 transitions. [2018-11-14 19:14:16,677 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 19:14:16,678 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 58 transitions. [2018-11-14 19:14:16,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-14 19:14:16,679 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:14:16,679 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:14:16,680 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:14:16,680 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:14:16,680 INFO L82 PathProgramCache]: Analyzing trace with hash 1595928658, now seen corresponding path program 1 times [2018-11-14 19:14:16,680 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:14:16,681 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:14:16,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:16,683 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:14:16,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:16,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:16,864 INFO L256 TraceCheckUtils]: 0: Hoare triple {381#true} call ULTIMATE.init(); {381#true} is VALID [2018-11-14 19:14:16,864 INFO L273 TraceCheckUtils]: 1: Hoare triple {381#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {381#true} is VALID [2018-11-14 19:14:16,864 INFO L273 TraceCheckUtils]: 2: Hoare triple {381#true} assume true; {381#true} is VALID [2018-11-14 19:14:16,865 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {381#true} {381#true} #169#return; {381#true} is VALID [2018-11-14 19:14:16,865 INFO L256 TraceCheckUtils]: 4: Hoare triple {381#true} call #t~ret29 := main(); {381#true} is VALID [2018-11-14 19:14:16,865 INFO L273 TraceCheckUtils]: 5: Hoare triple {381#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); {381#true} is VALID [2018-11-14 19:14:16,866 INFO L256 TraceCheckUtils]: 6: Hoare triple {381#true} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {381#true} is VALID [2018-11-14 19:14:16,866 INFO L273 TraceCheckUtils]: 7: Hoare triple {381#true} ~len := #in~len;~data := #in~data; {381#true} is VALID [2018-11-14 19:14:16,866 INFO L256 TraceCheckUtils]: 8: Hoare triple {381#true} call #t~ret3.base, #t~ret3.offset := node_create(~data); {381#true} is VALID [2018-11-14 19:14:16,867 INFO L273 TraceCheckUtils]: 9: Hoare triple {381#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; {381#true} is VALID [2018-11-14 19:14:16,867 INFO L273 TraceCheckUtils]: 10: Hoare triple {381#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {381#true} is VALID [2018-11-14 19:14:16,867 INFO L273 TraceCheckUtils]: 11: Hoare triple {381#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {381#true} is VALID [2018-11-14 19:14:16,868 INFO L273 TraceCheckUtils]: 12: Hoare triple {381#true} assume true; {381#true} is VALID [2018-11-14 19:14:16,868 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {381#true} {381#true} #165#return; {381#true} is VALID [2018-11-14 19:14:16,868 INFO L273 TraceCheckUtils]: 14: Hoare triple {381#true} ~head~0.base, ~head~0.offset := #t~ret3.base, #t~ret3.offset;havoc #t~ret3.base, #t~ret3.offset;~last~0.base, ~last~0.offset := ~head~0.base, ~head~0.offset; {381#true} is VALID [2018-11-14 19:14:16,869 INFO L273 TraceCheckUtils]: 15: Hoare triple {381#true} assume true; {381#true} is VALID [2018-11-14 19:14:16,869 INFO L273 TraceCheckUtils]: 16: Hoare triple {381#true} assume !(~len > 1); {381#true} is VALID [2018-11-14 19:14:16,869 INFO L273 TraceCheckUtils]: 17: Hoare triple {381#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset + 0, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {381#true} is VALID [2018-11-14 19:14:16,870 INFO L273 TraceCheckUtils]: 18: Hoare triple {381#true} assume true; {381#true} is VALID [2018-11-14 19:14:16,870 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {381#true} {381#true} #159#return; {381#true} is VALID [2018-11-14 19:14:16,870 INFO L273 TraceCheckUtils]: 20: Hoare triple {381#true} call write~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {381#true} is VALID [2018-11-14 19:14:16,870 INFO L256 TraceCheckUtils]: 21: Hoare triple {381#true} call sll_circular_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {381#true} is VALID [2018-11-14 19:14:16,871 INFO L273 TraceCheckUtils]: 22: Hoare triple {381#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {381#true} is VALID [2018-11-14 19:14:16,871 INFO L256 TraceCheckUtils]: 23: Hoare triple {381#true} call #t~ret8.base, #t~ret8.offset := node_create(~data); {381#true} is VALID [2018-11-14 19:14:16,871 INFO L273 TraceCheckUtils]: 24: Hoare triple {381#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; {381#true} is VALID [2018-11-14 19:14:16,872 INFO L273 TraceCheckUtils]: 25: Hoare triple {381#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {381#true} is VALID [2018-11-14 19:14:16,872 INFO L273 TraceCheckUtils]: 26: Hoare triple {381#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {381#true} is VALID [2018-11-14 19:14:16,872 INFO L273 TraceCheckUtils]: 27: Hoare triple {381#true} assume true; {381#true} is VALID [2018-11-14 19:14:16,872 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {381#true} {381#true} #155#return; {381#true} is VALID [2018-11-14 19:14:16,886 INFO L273 TraceCheckUtils]: 29: Hoare triple {381#true} ~new_node~0.base, ~new_node~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {383#(and (= sll_circular_insert_~snd_to_last~0.base 0) (= sll_circular_insert_~snd_to_last~0.offset 0))} is VALID [2018-11-14 19:14:16,891 INFO L273 TraceCheckUtils]: 30: Hoare triple {383#(and (= sll_circular_insert_~snd_to_last~0.base 0) (= sll_circular_insert_~snd_to_last~0.offset 0))} assume true; {383#(and (= sll_circular_insert_~snd_to_last~0.base 0) (= sll_circular_insert_~snd_to_last~0.offset 0))} is VALID [2018-11-14 19:14:16,893 INFO L273 TraceCheckUtils]: 31: Hoare triple {383#(and (= sll_circular_insert_~snd_to_last~0.base 0) (= sll_circular_insert_~snd_to_last~0.offset 0))} assume !(~index > 0); {383#(and (= sll_circular_insert_~snd_to_last~0.base 0) (= sll_circular_insert_~snd_to_last~0.offset 0))} is VALID [2018-11-14 19:14:16,895 INFO L273 TraceCheckUtils]: 32: Hoare triple {383#(and (= sll_circular_insert_~snd_to_last~0.base 0) (= sll_circular_insert_~snd_to_last~0.offset 0))} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 0, 4);call write~$Pointer$(~last~1.base, ~last~1.offset, ~new_node~0.base, ~new_node~0.offset + 0, 4); {382#false} is VALID [2018-11-14 19:14:16,895 INFO L273 TraceCheckUtils]: 33: Hoare triple {382#false} assume true; {382#false} is VALID [2018-11-14 19:14:16,895 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {382#false} {381#true} #161#return; {382#false} is VALID [2018-11-14 19:14:16,896 INFO L273 TraceCheckUtils]: 35: Hoare triple {382#false} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset;~count~0 := 0; {382#false} is VALID [2018-11-14 19:14:16,896 INFO L273 TraceCheckUtils]: 36: Hoare triple {382#false} assume true;call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 4, 4); {382#false} is VALID [2018-11-14 19:14:16,896 INFO L273 TraceCheckUtils]: 37: Hoare triple {382#false} assume ~data~0 != #t~mem18;havoc #t~mem18; {382#false} is VALID [2018-11-14 19:14:16,896 INFO L273 TraceCheckUtils]: 38: Hoare triple {382#false} assume !false; {382#false} is VALID [2018-11-14 19:14:16,899 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-14 19:14:16,900 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 19:14:16,900 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-14 19:14:16,901 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-14 19:14:16,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:14:16,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-14 19:14:16,961 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:16,962 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-14 19:14:16,962 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-14 19:14:16,962 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 19:14:16,963 INFO L87 Difference]: Start difference. First operand 48 states and 58 transitions. Second operand 3 states. [2018-11-14 19:14:17,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:17,166 INFO L93 Difference]: Finished difference Result 69 states and 85 transitions. [2018-11-14 19:14:17,166 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-14 19:14:17,166 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 39 [2018-11-14 19:14:17,167 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:14:17,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 19:14:17,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 85 transitions. [2018-11-14 19:14:17,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-14 19:14:17,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 85 transitions. [2018-11-14 19:14:17,177 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 85 transitions. [2018-11-14 19:14:17,316 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:17,321 INFO L225 Difference]: With dead ends: 69 [2018-11-14 19:14:17,321 INFO L226 Difference]: Without dead ends: 53 [2018-11-14 19:14:17,322 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-14 19:14:17,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-14 19:14:17,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2018-11-14 19:14:17,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:14:17,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 51 states. [2018-11-14 19:14:17,371 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 51 states. [2018-11-14 19:14:17,372 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 51 states. [2018-11-14 19:14:17,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:17,376 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2018-11-14 19:14:17,377 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-14 19:14:17,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:17,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:17,378 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 53 states. [2018-11-14 19:14:17,378 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 53 states. [2018-11-14 19:14:17,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:17,383 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2018-11-14 19:14:17,383 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-14 19:14:17,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:17,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:17,385 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:14:17,385 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:14:17,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-11-14 19:14:17,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 62 transitions. [2018-11-14 19:14:17,389 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 62 transitions. Word has length 39 [2018-11-14 19:14:17,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:14:17,390 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 62 transitions. [2018-11-14 19:14:17,390 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-14 19:14:17,390 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 62 transitions. [2018-11-14 19:14:17,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2018-11-14 19:14:17,391 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:14:17,392 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:14:17,392 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:14:17,392 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:14:17,392 INFO L82 PathProgramCache]: Analyzing trace with hash -30915848, now seen corresponding path program 1 times [2018-11-14 19:14:17,393 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:14:17,393 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:14:17,395 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:17,395 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:14:17,395 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:17,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:17,571 INFO L256 TraceCheckUtils]: 0: Hoare triple {651#true} call ULTIMATE.init(); {651#true} is VALID [2018-11-14 19:14:17,572 INFO L273 TraceCheckUtils]: 1: Hoare triple {651#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {651#true} is VALID [2018-11-14 19:14:17,572 INFO L273 TraceCheckUtils]: 2: Hoare triple {651#true} assume true; {651#true} is VALID [2018-11-14 19:14:17,572 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {651#true} {651#true} #169#return; {651#true} is VALID [2018-11-14 19:14:17,573 INFO L256 TraceCheckUtils]: 4: Hoare triple {651#true} call #t~ret29 := main(); {651#true} is VALID [2018-11-14 19:14:17,574 INFO L273 TraceCheckUtils]: 5: Hoare triple {651#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); {653#(<= 2 main_~len~0)} is VALID [2018-11-14 19:14:17,574 INFO L256 TraceCheckUtils]: 6: Hoare triple {653#(<= 2 main_~len~0)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {651#true} is VALID [2018-11-14 19:14:17,578 INFO L273 TraceCheckUtils]: 7: Hoare triple {651#true} ~len := #in~len;~data := #in~data; {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-14 19:14:17,578 INFO L256 TraceCheckUtils]: 8: Hoare triple {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} call #t~ret3.base, #t~ret3.offset := node_create(~data); {651#true} is VALID [2018-11-14 19:14:17,578 INFO L273 TraceCheckUtils]: 9: Hoare triple {651#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; {651#true} is VALID [2018-11-14 19:14:17,578 INFO L273 TraceCheckUtils]: 10: Hoare triple {651#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {651#true} is VALID [2018-11-14 19:14:17,579 INFO L273 TraceCheckUtils]: 11: Hoare triple {651#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {651#true} is VALID [2018-11-14 19:14:17,579 INFO L273 TraceCheckUtils]: 12: Hoare triple {651#true} assume true; {651#true} is VALID [2018-11-14 19:14:17,581 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {651#true} {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} #165#return; {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-14 19:14:17,581 INFO L273 TraceCheckUtils]: 14: Hoare triple {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} ~head~0.base, ~head~0.offset := #t~ret3.base, #t~ret3.offset;havoc #t~ret3.base, #t~ret3.offset;~last~0.base, ~last~0.offset := ~head~0.base, ~head~0.offset; {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-14 19:14:17,582 INFO L273 TraceCheckUtils]: 15: Hoare triple {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} assume true; {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} is VALID [2018-11-14 19:14:17,583 INFO L273 TraceCheckUtils]: 16: Hoare triple {654#(<= |sll_circular_create_#in~len| sll_circular_create_~len)} assume !(~len > 1); {655#(<= |sll_circular_create_#in~len| 1)} is VALID [2018-11-14 19:14:17,584 INFO L273 TraceCheckUtils]: 17: Hoare triple {655#(<= |sll_circular_create_#in~len| 1)} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset + 0, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {655#(<= |sll_circular_create_#in~len| 1)} is VALID [2018-11-14 19:14:17,589 INFO L273 TraceCheckUtils]: 18: Hoare triple {655#(<= |sll_circular_create_#in~len| 1)} assume true; {655#(<= |sll_circular_create_#in~len| 1)} is VALID [2018-11-14 19:14:17,591 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {655#(<= |sll_circular_create_#in~len| 1)} {653#(<= 2 main_~len~0)} #159#return; {652#false} is VALID [2018-11-14 19:14:17,591 INFO L273 TraceCheckUtils]: 20: Hoare triple {652#false} call write~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {652#false} is VALID [2018-11-14 19:14:17,591 INFO L256 TraceCheckUtils]: 21: Hoare triple {652#false} call sll_circular_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {651#true} is VALID [2018-11-14 19:14:17,591 INFO L273 TraceCheckUtils]: 22: Hoare triple {651#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {651#true} is VALID [2018-11-14 19:14:17,592 INFO L256 TraceCheckUtils]: 23: Hoare triple {651#true} call #t~ret8.base, #t~ret8.offset := node_create(~data); {651#true} is VALID [2018-11-14 19:14:17,592 INFO L273 TraceCheckUtils]: 24: Hoare triple {651#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; {651#true} is VALID [2018-11-14 19:14:17,592 INFO L273 TraceCheckUtils]: 25: Hoare triple {651#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {651#true} is VALID [2018-11-14 19:14:17,592 INFO L273 TraceCheckUtils]: 26: Hoare triple {651#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {651#true} is VALID [2018-11-14 19:14:17,593 INFO L273 TraceCheckUtils]: 27: Hoare triple {651#true} assume true; {651#true} is VALID [2018-11-14 19:14:17,593 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {651#true} {651#true} #155#return; {651#true} is VALID [2018-11-14 19:14:17,593 INFO L273 TraceCheckUtils]: 29: Hoare triple {651#true} ~new_node~0.base, ~new_node~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {651#true} is VALID [2018-11-14 19:14:17,594 INFO L273 TraceCheckUtils]: 30: Hoare triple {651#true} assume true; {651#true} is VALID [2018-11-14 19:14:17,594 INFO L273 TraceCheckUtils]: 31: Hoare triple {651#true} assume !(~index > 0); {651#true} is VALID [2018-11-14 19:14:17,594 INFO L273 TraceCheckUtils]: 32: Hoare triple {651#true} assume !(~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {651#true} is VALID [2018-11-14 19:14:17,595 INFO L273 TraceCheckUtils]: 33: Hoare triple {651#true} assume #t~mem12.base != 0 || #t~mem12.offset != 0;havoc #t~mem12.base, #t~mem12.offset;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem13.base, #t~mem13.offset, ~new_node~0.base, ~new_node~0.offset + 0, 4);havoc #t~mem13.base, #t~mem13.offset;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, #t~mem14.base, #t~mem14.offset + 0, 4);havoc #t~mem14.base, #t~mem14.offset; {651#true} is VALID [2018-11-14 19:14:17,595 INFO L273 TraceCheckUtils]: 34: Hoare triple {651#true} call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~head.base, ~head.offset, 4); {651#true} is VALID [2018-11-14 19:14:17,595 INFO L273 TraceCheckUtils]: 35: Hoare triple {651#true} assume true; {651#true} is VALID [2018-11-14 19:14:17,596 INFO L268 TraceCheckUtils]: 36: Hoare quadruple {651#true} {652#false} #161#return; {652#false} is VALID [2018-11-14 19:14:17,596 INFO L273 TraceCheckUtils]: 37: Hoare triple {652#false} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset;~count~0 := 0; {652#false} is VALID [2018-11-14 19:14:17,596 INFO L273 TraceCheckUtils]: 38: Hoare triple {652#false} assume true;call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 4, 4); {652#false} is VALID [2018-11-14 19:14:17,597 INFO L273 TraceCheckUtils]: 39: Hoare triple {652#false} assume ~data~0 != #t~mem18;havoc #t~mem18; {652#false} is VALID [2018-11-14 19:14:17,597 INFO L273 TraceCheckUtils]: 40: Hoare triple {652#false} assume !false; {652#false} is VALID [2018-11-14 19:14:17,600 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-14 19:14:17,601 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 19:14:17,601 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2018-11-14 19:14:17,601 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2018-11-14 19:14:17,602 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:14:17,602 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-11-14 19:14:17,698 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:17,699 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-11-14 19:14:17,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-11-14 19:14:17,699 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2018-11-14 19:14:17,700 INFO L87 Difference]: Start difference. First operand 51 states and 62 transitions. Second operand 5 states. [2018-11-14 19:14:18,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:18,143 INFO L93 Difference]: Finished difference Result 92 states and 113 transitions. [2018-11-14 19:14:18,143 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-14 19:14:18,143 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2018-11-14 19:14:18,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:14:18,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 19:14:18,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 105 transitions. [2018-11-14 19:14:18,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-11-14 19:14:18,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 105 transitions. [2018-11-14 19:14:18,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 105 transitions. [2018-11-14 19:14:18,339 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:18,342 INFO L225 Difference]: With dead ends: 92 [2018-11-14 19:14:18,343 INFO L226 Difference]: Without dead ends: 55 [2018-11-14 19:14:18,343 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-14 19:14:18,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-11-14 19:14:18,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 53. [2018-11-14 19:14:18,385 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:14:18,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 53 states. [2018-11-14 19:14:18,385 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 53 states. [2018-11-14 19:14:18,385 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 53 states. [2018-11-14 19:14:18,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:18,389 INFO L93 Difference]: Finished difference Result 55 states and 67 transitions. [2018-11-14 19:14:18,390 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2018-11-14 19:14:18,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:18,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:18,391 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 55 states. [2018-11-14 19:14:18,391 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 55 states. [2018-11-14 19:14:18,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:18,396 INFO L93 Difference]: Finished difference Result 55 states and 67 transitions. [2018-11-14 19:14:18,396 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 67 transitions. [2018-11-14 19:14:18,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:18,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:18,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:14:18,397 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:14:18,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-14 19:14:18,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2018-11-14 19:14:18,401 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 41 [2018-11-14 19:14:18,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:14:18,401 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2018-11-14 19:14:18,402 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-11-14 19:14:18,402 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2018-11-14 19:14:18,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-14 19:14:18,403 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:14:18,404 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:14:18,404 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:14:18,404 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:14:18,404 INFO L82 PathProgramCache]: Analyzing trace with hash 1013759915, now seen corresponding path program 1 times [2018-11-14 19:14:18,405 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:14:18,405 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:14:18,406 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:18,407 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:14:18,407 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:18,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:18,630 INFO L256 TraceCheckUtils]: 0: Hoare triple {963#true} call ULTIMATE.init(); {963#true} is VALID [2018-11-14 19:14:18,630 INFO L273 TraceCheckUtils]: 1: Hoare triple {963#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {963#true} is VALID [2018-11-14 19:14:18,631 INFO L273 TraceCheckUtils]: 2: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,631 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {963#true} {963#true} #169#return; {963#true} is VALID [2018-11-14 19:14:18,631 INFO L256 TraceCheckUtils]: 4: Hoare triple {963#true} call #t~ret29 := main(); {963#true} is VALID [2018-11-14 19:14:18,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {963#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); {965#(<= 2 main_~len~0)} is VALID [2018-11-14 19:14:18,647 INFO L256 TraceCheckUtils]: 6: Hoare triple {965#(<= 2 main_~len~0)} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {963#true} is VALID [2018-11-14 19:14:18,647 INFO L273 TraceCheckUtils]: 7: Hoare triple {963#true} ~len := #in~len;~data := #in~data; {963#true} is VALID [2018-11-14 19:14:18,648 INFO L256 TraceCheckUtils]: 8: Hoare triple {963#true} call #t~ret3.base, #t~ret3.offset := node_create(~data); {963#true} is VALID [2018-11-14 19:14:18,648 INFO L273 TraceCheckUtils]: 9: Hoare triple {963#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; {963#true} is VALID [2018-11-14 19:14:18,648 INFO L273 TraceCheckUtils]: 10: Hoare triple {963#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {963#true} is VALID [2018-11-14 19:14:18,648 INFO L273 TraceCheckUtils]: 11: Hoare triple {963#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {963#true} is VALID [2018-11-14 19:14:18,648 INFO L273 TraceCheckUtils]: 12: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,649 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {963#true} {963#true} #165#return; {963#true} is VALID [2018-11-14 19:14:18,649 INFO L273 TraceCheckUtils]: 14: Hoare triple {963#true} ~head~0.base, ~head~0.offset := #t~ret3.base, #t~ret3.offset;havoc #t~ret3.base, #t~ret3.offset;~last~0.base, ~last~0.offset := ~head~0.base, ~head~0.offset; {963#true} is VALID [2018-11-14 19:14:18,649 INFO L273 TraceCheckUtils]: 15: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,649 INFO L273 TraceCheckUtils]: 16: Hoare triple {963#true} assume !!(~len > 1); {963#true} is VALID [2018-11-14 19:14:18,650 INFO L256 TraceCheckUtils]: 17: Hoare triple {963#true} call #t~ret4.base, #t~ret4.offset := node_create(~data); {963#true} is VALID [2018-11-14 19:14:18,650 INFO L273 TraceCheckUtils]: 18: Hoare triple {963#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; {963#true} is VALID [2018-11-14 19:14:18,650 INFO L273 TraceCheckUtils]: 19: Hoare triple {963#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {963#true} is VALID [2018-11-14 19:14:18,650 INFO L273 TraceCheckUtils]: 20: Hoare triple {963#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {963#true} is VALID [2018-11-14 19:14:18,650 INFO L273 TraceCheckUtils]: 21: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,651 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {963#true} {963#true} #167#return; {963#true} is VALID [2018-11-14 19:14:18,651 INFO L273 TraceCheckUtils]: 23: Hoare triple {963#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, ~new_head~0.offset + 0, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post5 := ~len;~len := #t~post5 - 1;havoc #t~post5; {963#true} is VALID [2018-11-14 19:14:18,651 INFO L273 TraceCheckUtils]: 24: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,651 INFO L273 TraceCheckUtils]: 25: Hoare triple {963#true} assume !(~len > 1); {963#true} is VALID [2018-11-14 19:14:18,652 INFO L273 TraceCheckUtils]: 26: Hoare triple {963#true} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset + 0, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {963#true} is VALID [2018-11-14 19:14:18,652 INFO L273 TraceCheckUtils]: 27: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,654 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {963#true} {965#(<= 2 main_~len~0)} #159#return; {965#(<= 2 main_~len~0)} is VALID [2018-11-14 19:14:18,655 INFO L273 TraceCheckUtils]: 29: Hoare triple {965#(<= 2 main_~len~0)} call write~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {966#(<= 1 main_~mid_index~0)} is VALID [2018-11-14 19:14:18,655 INFO L256 TraceCheckUtils]: 30: Hoare triple {966#(<= 1 main_~mid_index~0)} call sll_circular_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {963#true} is VALID [2018-11-14 19:14:18,656 INFO L273 TraceCheckUtils]: 31: Hoare triple {963#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset;~data := #in~data;~index := #in~index; {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} is VALID [2018-11-14 19:14:18,656 INFO L256 TraceCheckUtils]: 32: Hoare triple {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} call #t~ret8.base, #t~ret8.offset := node_create(~data); {963#true} is VALID [2018-11-14 19:14:18,656 INFO L273 TraceCheckUtils]: 33: Hoare triple {963#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; {963#true} is VALID [2018-11-14 19:14:18,657 INFO L273 TraceCheckUtils]: 34: Hoare triple {963#true} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {963#true} is VALID [2018-11-14 19:14:18,657 INFO L273 TraceCheckUtils]: 35: Hoare triple {963#true} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {963#true} is VALID [2018-11-14 19:14:18,657 INFO L273 TraceCheckUtils]: 36: Hoare triple {963#true} assume true; {963#true} is VALID [2018-11-14 19:14:18,668 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {963#true} {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} #155#return; {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} is VALID [2018-11-14 19:14:18,669 INFO L273 TraceCheckUtils]: 38: Hoare triple {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} ~new_node~0.base, ~new_node~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} is VALID [2018-11-14 19:14:18,669 INFO L273 TraceCheckUtils]: 39: Hoare triple {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} assume true; {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} is VALID [2018-11-14 19:14:18,670 INFO L273 TraceCheckUtils]: 40: Hoare triple {967#(= sll_circular_insert_~index |sll_circular_insert_#in~index|)} assume !(~index > 0); {968#(<= |sll_circular_insert_#in~index| 0)} is VALID [2018-11-14 19:14:18,671 INFO L273 TraceCheckUtils]: 41: Hoare triple {968#(<= |sll_circular_insert_#in~index| 0)} assume !(~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0);call #t~mem12.base, #t~mem12.offset := read~$Pointer$(~head.base, ~head.offset, 4); {968#(<= |sll_circular_insert_#in~index| 0)} is VALID [2018-11-14 19:14:18,671 INFO L273 TraceCheckUtils]: 42: Hoare triple {968#(<= |sll_circular_insert_#in~index| 0)} assume #t~mem12.base != 0 || #t~mem12.offset != 0;havoc #t~mem12.base, #t~mem12.offset;call #t~mem13.base, #t~mem13.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(#t~mem13.base, #t~mem13.offset, ~new_node~0.base, ~new_node~0.offset + 0, 4);havoc #t~mem13.base, #t~mem13.offset;call #t~mem14.base, #t~mem14.offset := read~$Pointer$(~head.base, ~head.offset, 4);call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, #t~mem14.base, #t~mem14.offset + 0, 4);havoc #t~mem14.base, #t~mem14.offset; {968#(<= |sll_circular_insert_#in~index| 0)} is VALID [2018-11-14 19:14:18,672 INFO L273 TraceCheckUtils]: 43: Hoare triple {968#(<= |sll_circular_insert_#in~index| 0)} call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~head.base, ~head.offset, 4); {968#(<= |sll_circular_insert_#in~index| 0)} is VALID [2018-11-14 19:14:18,673 INFO L273 TraceCheckUtils]: 44: Hoare triple {968#(<= |sll_circular_insert_#in~index| 0)} assume true; {968#(<= |sll_circular_insert_#in~index| 0)} is VALID [2018-11-14 19:14:18,679 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {968#(<= |sll_circular_insert_#in~index| 0)} {966#(<= 1 main_~mid_index~0)} #161#return; {964#false} is VALID [2018-11-14 19:14:18,679 INFO L273 TraceCheckUtils]: 46: Hoare triple {964#false} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset;~count~0 := 0; {964#false} is VALID [2018-11-14 19:14:18,679 INFO L273 TraceCheckUtils]: 47: Hoare triple {964#false} assume true;call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 4, 4); {964#false} is VALID [2018-11-14 19:14:18,680 INFO L273 TraceCheckUtils]: 48: Hoare triple {964#false} assume ~data~0 != #t~mem18;havoc #t~mem18; {964#false} is VALID [2018-11-14 19:14:18,680 INFO L273 TraceCheckUtils]: 49: Hoare triple {964#false} assume !false; {964#false} is VALID [2018-11-14 19:14:18,684 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2018-11-14 19:14:18,685 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 19:14:18,685 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-14 19:14:18,685 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 50 [2018-11-14 19:14:18,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:14:18,686 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 19:14:18,807 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:18,807 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 19:14:18,808 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 19:14:18,808 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-14 19:14:18,808 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand 6 states. [2018-11-14 19:14:19,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:19,272 INFO L93 Difference]: Finished difference Result 71 states and 87 transitions. [2018-11-14 19:14:19,273 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 19:14:19,273 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 50 [2018-11-14 19:14:19,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 19:14:19,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 19:14:19,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2018-11-14 19:14:19,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 19:14:19,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2018-11-14 19:14:19,280 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2018-11-14 19:14:19,461 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 19:14:19,463 INFO L225 Difference]: With dead ends: 71 [2018-11-14 19:14:19,463 INFO L226 Difference]: Without dead ends: 52 [2018-11-14 19:14:19,464 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-14 19:14:19,464 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-11-14 19:14:19,518 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2018-11-14 19:14:19,518 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 19:14:19,519 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 52 states. [2018-11-14 19:14:19,519 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2018-11-14 19:14:19,519 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2018-11-14 19:14:19,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:19,522 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-14 19:14:19,523 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2018-11-14 19:14:19,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:19,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:19,524 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 52 states. [2018-11-14 19:14:19,524 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 52 states. [2018-11-14 19:14:19,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 19:14:19,527 INFO L93 Difference]: Finished difference Result 52 states and 62 transitions. [2018-11-14 19:14:19,527 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2018-11-14 19:14:19,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 19:14:19,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 19:14:19,528 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 19:14:19,529 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 19:14:19,529 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-11-14 19:14:19,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 62 transitions. [2018-11-14 19:14:19,532 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 62 transitions. Word has length 50 [2018-11-14 19:14:19,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 19:14:19,532 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 62 transitions. [2018-11-14 19:14:19,532 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 19:14:19,533 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 62 transitions. [2018-11-14 19:14:19,534 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-14 19:14:19,534 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 19:14:19,534 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 19:14:19,534 INFO L423 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 19:14:19,535 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 19:14:19,535 INFO L82 PathProgramCache]: Analyzing trace with hash -424004801, now seen corresponding path program 1 times [2018-11-14 19:14:19,535 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-14 19:14:19,535 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-14 19:14:19,537 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:19,537 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:14:19,537 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-14 19:14:19,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:20,157 WARN L179 SmtUtils]: Spent 153.00 ms on a formula simplification that was a NOOP. DAG size: 15 [2018-11-14 19:14:21,501 WARN L179 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 45 DAG size of output: 41 [2018-11-14 19:14:22,492 INFO L256 TraceCheckUtils]: 0: Hoare triple {1243#true} call ULTIMATE.init(); {1243#true} is VALID [2018-11-14 19:14:22,492 INFO L273 TraceCheckUtils]: 1: Hoare triple {1243#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1243#true} is VALID [2018-11-14 19:14:22,492 INFO L273 TraceCheckUtils]: 2: Hoare triple {1243#true} assume true; {1243#true} is VALID [2018-11-14 19:14:22,493 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1243#true} {1243#true} #169#return; {1243#true} is VALID [2018-11-14 19:14:22,493 INFO L256 TraceCheckUtils]: 4: Hoare triple {1243#true} call #t~ret29 := main(); {1243#true} is VALID [2018-11-14 19:14:22,494 INFO L273 TraceCheckUtils]: 5: Hoare triple {1243#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); {1245#(and (<= main_~data~0 1) (= 0 |main_~#s~0.offset|) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-14 19:14:22,495 INFO L256 TraceCheckUtils]: 6: Hoare triple {1245#(and (<= main_~data~0 1) (= 0 |main_~#s~0.offset|) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {1246#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 19:14:22,495 INFO L273 TraceCheckUtils]: 7: Hoare triple {1246#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {1247#(and (= |#valid| |old(#valid)|) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:14:22,496 INFO L256 TraceCheckUtils]: 8: Hoare triple {1247#(and (= |#valid| |old(#valid)|) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} call #t~ret3.base, #t~ret3.offset := node_create(~data); {1246#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 19:14:22,498 INFO L273 TraceCheckUtils]: 9: Hoare triple {1246#(= |#valid| |old(#valid)|)} ~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; {1248#(and (or (= |#valid| |old(#valid)|) (and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~temp~0.base (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,499 INFO L273 TraceCheckUtils]: 10: Hoare triple {1248#(and (or (= |#valid| |old(#valid)|) (and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~temp~0.base (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1248#(and (or (= |#valid| |old(#valid)|) (and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~temp~0.base (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,501 INFO L273 TraceCheckUtils]: 11: Hoare triple {1248#(and (or (= |#valid| |old(#valid)|) (and (= (select |#valid| node_create_~temp~0.base) 1) (= node_create_~temp~0.base (@diff |old(#valid)| |#valid|)))) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1249#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,502 INFO L273 TraceCheckUtils]: 12: Hoare triple {1249#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {1249#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,504 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1249#(and (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} {1247#(and (= |#valid| |old(#valid)|) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} #165#return; {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,505 INFO L273 TraceCheckUtils]: 14: Hoare triple {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} ~head~0.base, ~head~0.offset := #t~ret3.base, #t~ret3.offset;havoc #t~ret3.base, #t~ret3.offset;~last~0.base, ~last~0.offset := ~head~0.base, ~head~0.offset; {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,506 INFO L273 TraceCheckUtils]: 15: Hoare triple {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume true; {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,507 INFO L273 TraceCheckUtils]: 16: Hoare triple {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} assume !!(~len > 1); {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} is VALID [2018-11-14 19:14:22,508 INFO L256 TraceCheckUtils]: 17: Hoare triple {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1246#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 19:14:22,510 INFO L273 TraceCheckUtils]: 18: Hoare triple {1246#(= |#valid| |old(#valid)|)} ~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; {1251#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (or (= 1 node_create_~data) (and (or (<= node_create_~data 1) (<= node_create_~data |node_create_#in~data|)) (or (<= |node_create_#in~data| node_create_~data) (< 1 node_create_~data)))))} is VALID [2018-11-14 19:14:22,511 INFO L273 TraceCheckUtils]: 19: Hoare triple {1251#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (or (= 1 node_create_~data) (and (or (<= node_create_~data 1) (<= node_create_~data |node_create_#in~data|)) (or (<= |node_create_#in~data| node_create_~data) (< 1 node_create_~data)))))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1251#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (or (= 1 node_create_~data) (and (or (<= node_create_~data 1) (<= node_create_~data |node_create_#in~data|)) (or (<= |node_create_#in~data| node_create_~data) (< 1 node_create_~data)))))} is VALID [2018-11-14 19:14:22,513 INFO L273 TraceCheckUtils]: 20: Hoare triple {1251#(and (= (select |#valid| node_create_~temp~0.base) 1) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= 0 node_create_~temp~0.offset) (or (= 1 node_create_~data) (and (or (<= node_create_~data 1) (<= node_create_~data |node_create_#in~data|)) (or (<= |node_create_#in~data| node_create_~data) (< 1 node_create_~data)))))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1252#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (or (= (select (select |#memory_int| |node_create_#res.base|) 4) 1) (<= 2 |node_create_#in~data|) (<= |node_create_#in~data| 0)))} is VALID [2018-11-14 19:14:22,514 INFO L273 TraceCheckUtils]: 21: Hoare triple {1252#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (or (= (select (select |#memory_int| |node_create_#res.base|) 4) 1) (<= 2 |node_create_#in~data|) (<= |node_create_#in~data| 0)))} assume true; {1252#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (or (= (select (select |#memory_int| |node_create_#res.base|) 4) 1) (<= 2 |node_create_#in~data|) (<= |node_create_#in~data| 0)))} is VALID [2018-11-14 19:14:22,531 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1252#(and (= (select |#valid| |node_create_#res.base|) 1) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= 0 |node_create_#res.offset|) (or (= (select (select |#memory_int| |node_create_#res.base|) 4) 1) (<= 2 |node_create_#in~data|) (<= |node_create_#in~data| 0)))} {1250#(and (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|) (or (= (select |#valid| (@diff |old(#valid)| |#valid|)) 1) (= |#valid| |old(#valid)|)) (= |#valid| (store |old(#valid)| (@diff |old(#valid)| |#valid|) (select |#valid| (@diff |old(#valid)| |#valid|)))))} #167#return; {1253#(and (= 0 |sll_circular_create_#t~ret4.offset|) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret4.base|)) (= (select |#valid| |sll_circular_create_#t~ret4.base|) 1) (or (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|) (= (select (select |#memory_int| |sll_circular_create_#t~ret4.base|) 4) 1)))} is VALID [2018-11-14 19:14:22,532 INFO L273 TraceCheckUtils]: 23: Hoare triple {1253#(and (= 0 |sll_circular_create_#t~ret4.offset|) (= 0 (select |old(#valid)| |sll_circular_create_#t~ret4.base|)) (= (select |#valid| |sll_circular_create_#t~ret4.base|) 1) (or (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|) (= (select (select |#memory_int| |sll_circular_create_#t~ret4.base|) 4) 1)))} ~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, ~new_head~0.offset + 0, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post5 := ~len;~len := #t~post5 - 1;havoc #t~post5; {1254#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (or (= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) 1) (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|)) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)))} is VALID [2018-11-14 19:14:22,551 INFO L273 TraceCheckUtils]: 24: Hoare triple {1254#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (or (= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) 1) (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|)) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)))} assume true; {1254#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (or (= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) 1) (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|)) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)))} is VALID [2018-11-14 19:14:22,560 INFO L273 TraceCheckUtils]: 25: Hoare triple {1254#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (or (= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) 1) (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|)) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)))} assume !(~len > 1); {1254#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (or (= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) 1) (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|)) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)))} is VALID [2018-11-14 19:14:22,575 INFO L273 TraceCheckUtils]: 26: Hoare triple {1254#(and (= 0 sll_circular_create_~head~0.offset) (= (select |#valid| sll_circular_create_~head~0.base) 1) (or (= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) 1) (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|)) (= 0 (select |old(#valid)| sll_circular_create_~head~0.base)))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset + 0, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {1255#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (or (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|) (= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) 1)) (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1))} is VALID [2018-11-14 19:14:22,576 INFO L273 TraceCheckUtils]: 27: Hoare triple {1255#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (or (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|) (= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) 1)) (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1))} assume true; {1255#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (or (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|) (= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) 1)) (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1))} is VALID [2018-11-14 19:14:22,578 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1255#(and (= 0 (select |old(#valid)| |sll_circular_create_#res.base|)) (or (<= |sll_circular_create_#in~data| 0) (<= 2 |sll_circular_create_#in~data|) (= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) 1)) (= 0 |sll_circular_create_#res.offset|) (= (select |#valid| |sll_circular_create_#res.base|) 1))} {1245#(and (<= main_~data~0 1) (= 0 |main_~#s~0.offset|) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} #159#return; {1256#(and (= 1 main_~data~0) (= (select |#valid| |main_#t~ret15.base|) 1) (= main_~data~0 (select (select |#memory_int| |main_#t~ret15.base|) 4)) (= 0 |main_#t~ret15.offset|) (= 0 |main_~#s~0.offset|) (not (= |main_~#s~0.base| |main_#t~ret15.base|)))} is VALID [2018-11-14 19:14:22,580 INFO L273 TraceCheckUtils]: 29: Hoare triple {1256#(and (= 1 main_~data~0) (= (select |#valid| |main_#t~ret15.base|) 1) (= main_~data~0 (select (select |#memory_int| |main_#t~ret15.base|) 4)) (= 0 |main_#t~ret15.offset|) (= 0 |main_~#s~0.offset|) (not (= |main_~#s~0.base| |main_#t~ret15.base|)))} call write~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {1257#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1))} is VALID [2018-11-14 19:14:22,589 INFO L256 TraceCheckUtils]: 30: Hoare triple {1257#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1))} call sll_circular_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {1258#(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-14 19:14:22,590 INFO L273 TraceCheckUtils]: 31: Hoare triple {1258#(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;~index := #in~index; {1259#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base)) (= sll_circular_insert_~head.base |sll_circular_insert_#in~head.base|) (= |#valid| |old(#valid)|) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= (select |old(#memory_$Pointer$.base)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.base| sll_circular_insert_~head.base)))} is VALID [2018-11-14 19:14:22,594 INFO L256 TraceCheckUtils]: 32: Hoare triple {1259#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base)) (= sll_circular_insert_~head.base |sll_circular_insert_#in~head.base|) (= |#valid| |old(#valid)|) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= (select |old(#memory_$Pointer$.base)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.base| sll_circular_insert_~head.base)))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {1258#(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-14 19:14:22,594 INFO L273 TraceCheckUtils]: 33: Hoare triple {1258#(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; {1260#(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-14 19:14:22,595 INFO L273 TraceCheckUtils]: 34: Hoare triple {1260#(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); {1260#(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-14 19:14:22,597 INFO L273 TraceCheckUtils]: 35: Hoare triple {1260#(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, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1261#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (= (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$.base| |node_create_#res.base|) 0)) (= |#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)|)))} is VALID [2018-11-14 19:14:22,599 INFO L273 TraceCheckUtils]: 36: Hoare triple {1261#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (= (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$.base| |node_create_#res.base|) 0)) (= |#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)|)))} assume true; {1261#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (= (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$.base| |node_create_#res.base|) 0)) (= |#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)|)))} is VALID [2018-11-14 19:14:22,604 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {1261#(and (or (= 0 (select (select |#memory_$Pointer$.offset| (@diff |old(#memory_$Pointer$.offset)| |#memory_$Pointer$.offset|)) 0)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|)) (or (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= 0 (select (select |#memory_$Pointer$.base| (@diff |old(#memory_$Pointer$.base)| |#memory_$Pointer$.base|)) 0))) (= (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$.base| |node_create_#res.base|) 0)) (= |#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)|)))} {1259#(and (= (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base)) (= sll_circular_insert_~head.base |sll_circular_insert_#in~head.base|) (= |#valid| |old(#valid)|) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= (select |old(#memory_$Pointer$.base)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.base| sll_circular_insert_~head.base)))} #155#return; {1262#(and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= sll_circular_insert_~head.base |sll_circular_insert_#in~head.base|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_insert_~head.base) sll_circular_insert_~head.offset)) (= (select |old(#memory_$Pointer$.base)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.base| sll_circular_insert_~head.base)) (not (= |sll_circular_insert_#in~head.offset| 0))) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (or (not (= |sll_circular_insert_#in~head.base| |sll_circular_insert_#t~ret8.base|)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_insert_~head.base) sll_circular_insert_~head.offset)) (not (= |sll_circular_insert_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base)) (= 0 (select (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base) sll_circular_insert_~head.offset)) (not (= |sll_circular_insert_#in~head.offset| 0))))} is VALID [2018-11-14 19:14:22,606 INFO L273 TraceCheckUtils]: 38: Hoare triple {1262#(and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= sll_circular_insert_~head.base |sll_circular_insert_#in~head.base|) (or (= 0 (select (select |#memory_$Pointer$.base| sll_circular_insert_~head.base) sll_circular_insert_~head.offset)) (= (select |old(#memory_$Pointer$.base)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.base| sll_circular_insert_~head.base)) (not (= |sll_circular_insert_#in~head.offset| 0))) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (or (not (= |sll_circular_insert_#in~head.base| |sll_circular_insert_#t~ret8.base|)) (= 0 (select (select |#memory_$Pointer$.base| sll_circular_insert_~head.base) sll_circular_insert_~head.offset)) (not (= |sll_circular_insert_#in~head.offset| 0))) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (or (= (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~head.base) (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base)) (= 0 (select (select |#memory_$Pointer$.offset| sll_circular_insert_~head.base) sll_circular_insert_~head.offset)) (not (= |sll_circular_insert_#in~head.offset| 0))))} ~new_node~0.base, ~new_node~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1263#(and (or (and (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= sll_circular_insert_~new_node~0.base |sll_circular_insert_#in~head.base|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base)) (not (= |sll_circular_insert_#in~head.offset| 0)) (= 0 sll_circular_insert_~last~1.base)) (or (= sll_circular_insert_~last~1.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= 0 sll_circular_insert_~last~1.offset) (not (= |sll_circular_insert_#in~head.offset| 0))))} is VALID [2018-11-14 19:14:22,625 INFO L273 TraceCheckUtils]: 39: Hoare triple {1263#(and (or (and (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= sll_circular_insert_~new_node~0.base |sll_circular_insert_#in~head.base|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base)) (not (= |sll_circular_insert_#in~head.offset| 0)) (= 0 sll_circular_insert_~last~1.base)) (or (= sll_circular_insert_~last~1.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= 0 sll_circular_insert_~last~1.offset) (not (= |sll_circular_insert_#in~head.offset| 0))))} assume true; {1263#(and (or (and (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= sll_circular_insert_~new_node~0.base |sll_circular_insert_#in~head.base|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base)) (not (= |sll_circular_insert_#in~head.offset| 0)) (= 0 sll_circular_insert_~last~1.base)) (or (= sll_circular_insert_~last~1.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= 0 sll_circular_insert_~last~1.offset) (not (= |sll_circular_insert_#in~head.offset| 0))))} is VALID [2018-11-14 19:14:22,642 INFO L273 TraceCheckUtils]: 40: Hoare triple {1263#(and (or (and (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (not (= sll_circular_insert_~new_node~0.base |sll_circular_insert_#in~head.base|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base)) (not (= |sll_circular_insert_#in~head.offset| 0)) (= 0 sll_circular_insert_~last~1.base)) (or (= sll_circular_insert_~last~1.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= 0 sll_circular_insert_~last~1.offset) (not (= |sll_circular_insert_#in~head.offset| 0))))} assume !!(~index > 0);~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~1.base, ~last~1.offset;call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~1.base, ~last~1.offset + 0, 4);~last~1.base, ~last~1.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;#t~post11 := ~index;~index := #t~post11 - 1;havoc #t~post11; {1264#(and (or (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select (store (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base)) |sll_circular_insert_#in~head.base|)) (= sll_circular_insert_~snd_to_last~0.offset (select (select (store (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))) (= sll_circular_insert_~snd_to_last~0.base 0) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|)) (or (= 0 sll_circular_insert_~snd_to_last~0.offset) (= sll_circular_insert_~snd_to_last~0.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (not (= |sll_circular_insert_#in~head.offset| 0))))} is VALID [2018-11-14 19:14:22,644 INFO L273 TraceCheckUtils]: 41: Hoare triple {1264#(and (or (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select (store (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base)) |sll_circular_insert_#in~head.base|)) (= sll_circular_insert_~snd_to_last~0.offset (select (select (store (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))) (= sll_circular_insert_~snd_to_last~0.base 0) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|)) (or (= 0 sll_circular_insert_~snd_to_last~0.offset) (= sll_circular_insert_~snd_to_last~0.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (not (= |sll_circular_insert_#in~head.offset| 0))))} assume true; {1264#(and (or (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select (store (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base)) |sll_circular_insert_#in~head.base|)) (= sll_circular_insert_~snd_to_last~0.offset (select (select (store (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))) (= sll_circular_insert_~snd_to_last~0.base 0) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|)) (or (= 0 sll_circular_insert_~snd_to_last~0.offset) (= sll_circular_insert_~snd_to_last~0.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (not (= |sll_circular_insert_#in~head.offset| 0))))} is VALID [2018-11-14 19:14:22,645 INFO L273 TraceCheckUtils]: 42: Hoare triple {1264#(and (or (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select (store (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base)) |sll_circular_insert_#in~head.base|)) (= sll_circular_insert_~snd_to_last~0.offset (select (select (store (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))) (= sll_circular_insert_~snd_to_last~0.base 0) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|)) (or (= 0 sll_circular_insert_~snd_to_last~0.offset) (= sll_circular_insert_~snd_to_last~0.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (not (= |sll_circular_insert_#in~head.offset| 0))))} assume !(~index > 0); {1264#(and (or (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select (store (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base)) |sll_circular_insert_#in~head.base|)) (= sll_circular_insert_~snd_to_last~0.offset (select (select (store (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))) (= sll_circular_insert_~snd_to_last~0.base 0) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|)) (or (= 0 sll_circular_insert_~snd_to_last~0.offset) (= sll_circular_insert_~snd_to_last~0.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (not (= |sll_circular_insert_#in~head.offset| 0))))} is VALID [2018-11-14 19:14:22,647 INFO L273 TraceCheckUtils]: 43: Hoare triple {1264#(and (or (and (= (store |old(#memory_int)| (@diff |old(#memory_int)| |#memory_int|) (select |#memory_int| (@diff |old(#memory_int)| |#memory_int|))) |#memory_int|) (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select (store (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.base| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base)) |sll_circular_insert_#in~head.base|)) (= sll_circular_insert_~snd_to_last~0.offset (select (select (store (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base (store (select |#memory_$Pointer$.offset| sll_circular_insert_~snd_to_last~0.base) sll_circular_insert_~snd_to_last~0.offset sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (or (= 0 (select |old(#valid)| (@diff |old(#memory_int)| |#memory_int|))) (= |#memory_int| |old(#memory_int)|))) (= sll_circular_insert_~snd_to_last~0.base 0) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|)) (or (= 0 sll_circular_insert_~snd_to_last~0.offset) (= sll_circular_insert_~snd_to_last~0.offset (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (not (= |sll_circular_insert_#in~head.offset| 0))))} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 0, 4);call write~$Pointer$(~last~1.base, ~last~1.offset, ~new_node~0.base, ~new_node~0.offset + 0, 4); {1265#(or (and (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (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)|)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|) (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))))} is VALID [2018-11-14 19:14:22,647 INFO L273 TraceCheckUtils]: 44: Hoare triple {1265#(or (and (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (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)|)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|) (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))))} assume true; {1265#(or (and (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (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)|)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|) (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))))} is VALID [2018-11-14 19:14:22,650 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1265#(or (and (= (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|)) (= (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)|)) (= 0 (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (not (= |sll_circular_insert_#in~head.offset| 0)) (= (select (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) |sll_circular_insert_#in~head.base|) (not (= 0 (select (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))))} {1257#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (not (= |main_~#s~0.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)) (= 0 |main_~#s~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 1))} #161#return; {1266#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))} is VALID [2018-11-14 19:14:22,652 INFO L273 TraceCheckUtils]: 46: Hoare triple {1266#(and (= 1 main_~data~0) (= main_~data~0 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4)) (= 0 (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|)))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset;~count~0 := 0; {1267#(and (= 1 main_~data~0) (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) (+ main_~ptr~0.offset 4))))} is VALID [2018-11-14 19:14:22,653 INFO L273 TraceCheckUtils]: 47: Hoare triple {1267#(and (= 1 main_~data~0) (= main_~ptr~0.offset 0) (= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) (+ main_~ptr~0.offset 4))))} assume true;call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 4, 4); {1268#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem18|))} is VALID [2018-11-14 19:14:22,653 INFO L273 TraceCheckUtils]: 48: Hoare triple {1268#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem18|))} assume ~data~0 != #t~mem18;havoc #t~mem18; {1244#false} is VALID [2018-11-14 19:14:22,654 INFO L273 TraceCheckUtils]: 49: Hoare triple {1244#false} assume !false; {1244#false} is VALID [2018-11-14 19:14:22,681 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 2 proven. 16 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 19:14:22,681 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-14 19:14:22,681 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-14 19:14:22,699 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 19:14:22,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:22,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 19:14:22,822 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 19:14:22,929 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-14 19:14:22,937 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-14 19:14:22,956 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:14:22,956 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-11-14 19:14:22,976 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 19:14:28,364 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 10 [2018-11-14 19:14:28,376 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 10 treesize of output 9 [2018-11-14 19:14:28,381 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 19:14:28,384 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:14:28,398 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:14:28,399 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:32, output treesize:28 [2018-11-14 19:14:29,054 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:14:29,055 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:14:29,056 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:14:29,060 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 40 [2018-11-14 19:14:29,105 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 34 [2018-11-14 19:14:29,109 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 19:14:29,122 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:14:29,158 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 19:14:29,158 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:58, output treesize:58 [2018-11-14 19:14:29,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 19:14:29,300 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-14 19:14:29,342 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2018-11-14 19:14:29,347 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 19:14:29,350 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:14:29,393 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 8 [2018-11-14 19:14:29,398 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-14 19:14:29,405 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-14 19:14:29,407 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:14:29,449 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 19:14:29,449 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 4 variables, input treesize:77, output treesize:86 [2018-11-14 19:14:29,466 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 19:14:30,637 WARN L179 SmtUtils]: Spent 733.00 ms on a formula simplification that was a NOOP. DAG size: 29 [2018-11-14 19:14:31,511 WARN L179 SmtUtils]: Spent 744.00 ms on a formula simplification that was a NOOP. DAG size: 35 [2018-11-14 19:14:32,503 WARN L179 SmtUtils]: Spent 871.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-14 19:14:33,422 WARN L179 SmtUtils]: Spent 789.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-14 19:15:17,028 WARN L179 SmtUtils]: Spent 2.04 s on a formula simplification that was a NOOP. DAG size: 94 [2018-11-14 19:15:26,480 WARN L179 SmtUtils]: Spent 9.23 s on a formula simplification. DAG size of input: 262 DAG size of output: 74 [2018-11-14 19:15:26,511 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,514 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,517 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,520 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,521 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 37 [2018-11-14 19:15:26,523 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:26,715 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,718 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 221 treesize of output 210 [2018-11-14 19:15:26,730 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 16 [2018-11-14 19:15:26,732 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:26,876 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,927 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,949 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:26,953 INFO L303 Elim1Store]: Index analysis took 117 ms [2018-11-14 19:15:26,957 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 11 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 196 treesize of output 213 [2018-11-14 19:15:26,970 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 40 [2018-11-14 19:15:26,973 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:27,064 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:27,066 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:27,069 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:27,071 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:27,079 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:27,091 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 11 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 155 treesize of output 193 [2018-11-14 19:15:27,174 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 9 case distinctions, treesize of input 30 treesize of output 85 [2018-11-14 19:15:27,175 WARN L138 XnfTransformerHelper]: expecting exponential blowup for input size 6 [2018-11-14 19:15:27,407 INFO L267 ElimStorePlain]: Start of recursive call 8: 56 dim-0 vars, End of recursive call: 56 dim-0 vars, and 44 xjuncts. [2018-11-14 19:15:27,734 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:27,843 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:27,968 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:28,246 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 166 treesize of output 175 [2018-11-14 19:15:28,264 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 20 treesize of output 19 [2018-11-14 19:15:28,289 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,366 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,381 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:28,398 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 162 treesize of output 179 [2018-11-14 19:15:28,415 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 20 treesize of output 19 [2018-11-14 19:15:28,417 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,455 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,621 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 181 treesize of output 161 [2018-11-14 19:15:28,629 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-14 19:15:28,631 INFO L267 ElimStorePlain]: Start of recursive call 14: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,802 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:28,815 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 100 treesize of output 96 [2018-11-14 19:15:28,830 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 16 treesize of output 15 [2018-11-14 19:15:28,832 INFO L267 ElimStorePlain]: Start of recursive call 16: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,913 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:28,925 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 90 [2018-11-14 19:15:28,937 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 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 14 treesize of output 38 [2018-11-14 19:15:28,941 INFO L267 ElimStorePlain]: Start of recursive call 18: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,965 INFO L267 ElimStorePlain]: Start of recursive call 17: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:28,984 INFO L267 ElimStorePlain]: Start of recursive call 15: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:29,019 INFO L267 ElimStorePlain]: Start of recursive call 13: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:29,040 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 177 treesize of output 157 [2018-11-14 19:15:29,048 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-14 19:15:29,049 INFO L267 ElimStorePlain]: Start of recursive call 20: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:29,108 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:29,109 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:29,161 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 100 treesize of output 96 [2018-11-14 19:15:29,168 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 16 treesize of output 15 [2018-11-14 19:15:29,170 INFO L267 ElimStorePlain]: Start of recursive call 22: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:29,201 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:29,202 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:29,213 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 75 treesize of output 90 [2018-11-14 19:15:29,232 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 14 treesize of output 43 [2018-11-14 19:15:29,239 INFO L267 ElimStorePlain]: Start of recursive call 24: End of recursive call: and 2 xjuncts. [2018-11-14 19:15:29,271 INFO L267 ElimStorePlain]: Start of recursive call 23: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:29,313 INFO L267 ElimStorePlain]: Start of recursive call 21: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:29,376 INFO L267 ElimStorePlain]: Start of recursive call 19: 1 dim-1 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:29,506 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 1 dim-1 vars, 3 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-14 19:15:29,506 INFO L202 ElimStorePlain]: Needed 24 recursive calls to eliminate 20 variables, input treesize:769, output treesize:232 [2018-11-14 19:15:29,668 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 19:15:29,995 WARN L179 SmtUtils]: Spent 171.00 ms on a formula simplification. DAG size of input: 43 DAG size of output: 43 [2018-11-14 19:15:30,060 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,062 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,065 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 125 treesize of output 105 [2018-11-14 19:15:30,081 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 65 treesize of output 58 [2018-11-14 19:15:30,088 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 2 xjuncts. [2018-11-14 19:15:30,134 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 64 treesize of output 46 [2018-11-14 19:15:30,140 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,159 INFO L267 ElimStorePlain]: Start of recursive call 2: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,214 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,216 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,218 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,219 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,220 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,222 INFO L700 Elim1Store]: detected not equals via solver [2018-11-14 19:15:30,225 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 8 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 0 case distinctions, treesize of input 112 treesize of output 127 [2018-11-14 19:15:30,260 INFO L477 Elim1Store]: Elim1 applied some preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 56 treesize of output 69 [2018-11-14 19:15:30,295 INFO L267 ElimStorePlain]: Start of recursive call 6: 10 dim-0 vars, End of recursive call: 10 dim-0 vars, and 7 xjuncts. [2018-11-14 19:15:30,364 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 66 treesize of output 42 [2018-11-14 19:15:30,370 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-0 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 19:15:30,401 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 5 treesize of output 1 [2018-11-14 19:15:30,426 INFO L267 ElimStorePlain]: Start of recursive call 8: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,453 INFO L267 ElimStorePlain]: Start of recursive call 5: 3 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-11-14 19:15:30,511 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 54 treesize of output 46 [2018-11-14 19:15:30,516 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 18 treesize of output 9 [2018-11-14 19:15:30,520 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,539 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 5 treesize of output 3 [2018-11-14 19:15:30,544 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,558 INFO L267 ElimStorePlain]: Start of recursive call 9: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,619 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 62 treesize of output 56 [2018-11-14 19:15:30,626 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-14 19:15:30,626 INFO L267 ElimStorePlain]: Start of recursive call 13: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,648 INFO L267 ElimStorePlain]: Start of recursive call 12: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,703 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 4 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,704 INFO L202 ElimStorePlain]: Needed 13 recursive calls to eliminate 6 variables, input treesize:238, output treesize:28 [2018-11-14 19:15:30,709 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 19:15:30,805 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 16 [2018-11-14 19:15:30,812 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 16 treesize of output 7 [2018-11-14 19:15:30,814 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,817 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 19:15:30,827 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-14 19:15:30,827 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:32, output treesize:13 [2018-11-14 19:15:30,830 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-14 19:15:30,868 INFO L256 TraceCheckUtils]: 0: Hoare triple {1243#true} call ULTIMATE.init(); {1243#true} is VALID [2018-11-14 19:15:30,868 INFO L273 TraceCheckUtils]: 1: Hoare triple {1243#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1243#true} is VALID [2018-11-14 19:15:30,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {1243#true} assume true; {1243#true} is VALID [2018-11-14 19:15:30,869 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1243#true} {1243#true} #169#return; {1243#true} is VALID [2018-11-14 19:15:30,869 INFO L256 TraceCheckUtils]: 4: Hoare triple {1243#true} call #t~ret29 := main(); {1243#true} is VALID [2018-11-14 19:15:30,875 INFO L273 TraceCheckUtils]: 5: Hoare triple {1243#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); {1245#(and (<= main_~data~0 1) (= 0 |main_~#s~0.offset|) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-14 19:15:30,876 INFO L256 TraceCheckUtils]: 6: Hoare triple {1245#(and (<= main_~data~0 1) (= 0 |main_~#s~0.offset|) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} call #t~ret15.base, #t~ret15.offset := sll_circular_create(~len~0, ~data~0); {1246#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 19:15:30,877 INFO L273 TraceCheckUtils]: 7: Hoare triple {1246#(= |#valid| |old(#valid)|)} ~len := #in~len;~data := #in~data; {1247#(and (= |#valid| |old(#valid)|) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,878 INFO L256 TraceCheckUtils]: 8: Hoare triple {1247#(and (= |#valid| |old(#valid)|) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} call #t~ret3.base, #t~ret3.offset := node_create(~data); {1246#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 19:15:30,879 INFO L273 TraceCheckUtils]: 9: Hoare triple {1246#(= |#valid| |old(#valid)|)} ~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; {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} is VALID [2018-11-14 19:15:30,879 INFO L273 TraceCheckUtils]: 10: Hoare triple {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} is VALID [2018-11-14 19:15:30,879 INFO L273 TraceCheckUtils]: 11: Hoare triple {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} is VALID [2018-11-14 19:15:30,880 INFO L273 TraceCheckUtils]: 12: Hoare triple {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} assume true; {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} is VALID [2018-11-14 19:15:30,882 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {1299#(exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0)))} {1247#(and (= |#valid| |old(#valid)|) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} #165#return; {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,883 INFO L273 TraceCheckUtils]: 14: Hoare triple {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} ~head~0.base, ~head~0.offset := #t~ret3.base, #t~ret3.offset;havoc #t~ret3.base, #t~ret3.offset;~last~0.base, ~last~0.offset := ~head~0.base, ~head~0.offset; {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,884 INFO L273 TraceCheckUtils]: 15: Hoare triple {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} assume true; {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,884 INFO L273 TraceCheckUtils]: 16: Hoare triple {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} assume !!(~len > 1); {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,885 INFO L256 TraceCheckUtils]: 17: Hoare triple {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} call #t~ret4.base, #t~ret4.offset := node_create(~data); {1246#(= |#valid| |old(#valid)|)} is VALID [2018-11-14 19:15:30,886 INFO L273 TraceCheckUtils]: 18: Hoare triple {1246#(= |#valid| |old(#valid)|)} ~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; {1328#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} is VALID [2018-11-14 19:15:30,887 INFO L273 TraceCheckUtils]: 19: Hoare triple {1328#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)))} assume !(0 == ~temp~0.base && 0 == ~temp~0.offset); {1332#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)) (not (= 0 node_create_~temp~0.base)))} is VALID [2018-11-14 19:15:30,888 INFO L273 TraceCheckUtils]: 20: Hoare triple {1332#(and (= node_create_~data |node_create_#in~data|) (= 0 (select |old(#valid)| node_create_~temp~0.base)) (= node_create_~temp~0.offset 0) (= |#valid| (store |old(#valid)| node_create_~temp~0.base 1)) (not (= 0 node_create_~temp~0.base)))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1336#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (not (= 0 |node_create_#res.base|)))} is VALID [2018-11-14 19:15:30,889 INFO L273 TraceCheckUtils]: 21: Hoare triple {1336#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (not (= 0 |node_create_#res.base|)))} assume true; {1336#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (not (= 0 |node_create_#res.base|)))} is VALID [2018-11-14 19:15:30,891 INFO L268 TraceCheckUtils]: 22: Hoare quadruple {1336#(and (= |#valid| (store |old(#valid)| |node_create_#res.base| 1)) (= 0 (select |old(#valid)| |node_create_#res.base|)) (= (select (select |#memory_int| |node_create_#res.base|) (+ |node_create_#res.offset| 4)) |node_create_#in~data|) (= |node_create_#res.offset| 0) (not (= 0 |node_create_#res.base|)))} {1312#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= (store |old(#valid)| |node_create_#t~malloc2.base| 1) |#valid|) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (<= |sll_circular_create_#in~data| sll_circular_create_~data) (<= sll_circular_create_~data |sll_circular_create_#in~data|))} #167#return; {1343#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#t~ret4.base|)) (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#t~ret4.base| 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (= |sll_circular_create_#t~ret4.offset| 0) (<= (select (select |#memory_int| |sll_circular_create_#t~ret4.base|) (+ |sll_circular_create_#t~ret4.offset| 4)) |sll_circular_create_#in~data|) (<= |sll_circular_create_#in~data| (select (select |#memory_int| |sll_circular_create_#t~ret4.base|) (+ |sll_circular_create_#t~ret4.offset| 4))) (not (= 0 |sll_circular_create_#t~ret4.base|)))} is VALID [2018-11-14 19:15:30,895 INFO L273 TraceCheckUtils]: 23: Hoare triple {1343#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#t~ret4.base|)) (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#t~ret4.base| 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0))) (= |sll_circular_create_#t~ret4.offset| 0) (<= (select (select |#memory_int| |sll_circular_create_#t~ret4.base|) (+ |sll_circular_create_#t~ret4.offset| 4)) |sll_circular_create_#in~data|) (<= |sll_circular_create_#in~data| (select (select |#memory_int| |sll_circular_create_#t~ret4.base|) (+ |sll_circular_create_#t~ret4.offset| 4))) (not (= 0 |sll_circular_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, ~new_head~0.offset + 0, 4);~head~0.base, ~head~0.offset := ~new_head~0.base, ~new_head~0.offset;#t~post5 := ~len;~len := #t~post5 - 1;havoc #t~post5; {1347#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base)))) (= sll_circular_create_~head~0.offset 0) (not (= sll_circular_create_~head~0.base 0)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| sll_circular_create_~head~0.base) 4)) (<= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,895 INFO L273 TraceCheckUtils]: 24: Hoare triple {1347#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base)))) (= sll_circular_create_~head~0.offset 0) (not (= sll_circular_create_~head~0.base 0)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| sll_circular_create_~head~0.base) 4)) (<= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) |sll_circular_create_#in~data|))} assume true; {1347#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base)))) (= sll_circular_create_~head~0.offset 0) (not (= sll_circular_create_~head~0.base 0)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| sll_circular_create_~head~0.base) 4)) (<= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,896 INFO L273 TraceCheckUtils]: 25: Hoare triple {1347#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base)))) (= sll_circular_create_~head~0.offset 0) (not (= sll_circular_create_~head~0.base 0)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| sll_circular_create_~head~0.base) 4)) (<= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) |sll_circular_create_#in~data|))} assume !(~len > 1); {1347#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base)))) (= sll_circular_create_~head~0.offset 0) (not (= sll_circular_create_~head~0.base 0)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| sll_circular_create_~head~0.base) 4)) (<= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) |sll_circular_create_#in~data|))} is VALID [2018-11-14 19:15:30,898 INFO L273 TraceCheckUtils]: 26: Hoare triple {1347#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base 1)) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= 0 (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) sll_circular_create_~head~0.base)))) (= sll_circular_create_~head~0.offset 0) (not (= sll_circular_create_~head~0.base 0)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| sll_circular_create_~head~0.base) 4)) (<= (select (select |#memory_int| sll_circular_create_~head~0.base) 4) |sll_circular_create_#in~data|))} call write~$Pointer$(~head~0.base, ~head~0.offset, ~last~0.base, ~last~0.offset + 0, 4);#res.base, #res.offset := ~head~0.base, ~head~0.offset; {1357#(and (<= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) |sll_circular_create_#in~data|) (exists ((|node_create_#t~malloc2.base| Int)) (and (= (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base| 1)))) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| |sll_circular_create_#res.base|) 4)))} is VALID [2018-11-14 19:15:30,898 INFO L273 TraceCheckUtils]: 27: Hoare triple {1357#(and (<= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) |sll_circular_create_#in~data|) (exists ((|node_create_#t~malloc2.base| Int)) (and (= (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base| 1)))) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| |sll_circular_create_#res.base|) 4)))} assume true; {1357#(and (<= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) |sll_circular_create_#in~data|) (exists ((|node_create_#t~malloc2.base| Int)) (and (= (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base| 1)))) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| |sll_circular_create_#res.base|) 4)))} is VALID [2018-11-14 19:15:30,902 INFO L268 TraceCheckUtils]: 28: Hoare quadruple {1357#(and (<= (select (select |#memory_int| |sll_circular_create_#res.base|) 4) |sll_circular_create_#in~data|) (exists ((|node_create_#t~malloc2.base| Int)) (and (= (select (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base|) 0) (= (select |old(#valid)| |node_create_#t~malloc2.base|) 0) (= |#valid| (store (store |old(#valid)| |node_create_#t~malloc2.base| 1) |sll_circular_create_#res.base| 1)))) (= 0 |sll_circular_create_#res.offset|) (not (= 0 |sll_circular_create_#res.base|)) (<= |sll_circular_create_#in~data| (select (select |#memory_int| |sll_circular_create_#res.base|) 4)))} {1245#(and (<= main_~data~0 1) (= 0 |main_~#s~0.offset|) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} #159#return; {1364#(and (<= (select (select |#memory_int| |main_#t~ret15.base|) 4) main_~data~0) (<= main_~data~0 1) (= |main_#t~ret15.offset| 0) (exists ((|node_create_#t~malloc2.base| Int)) (and (not (= |node_create_#t~malloc2.base| |main_#t~ret15.base|)) (not (= |node_create_#t~malloc2.base| |main_~#s~0.base|)) (= 1 (select |#valid| |node_create_#t~malloc2.base|)))) (<= main_~data~0 (select (select |#memory_int| |main_#t~ret15.base|) 4)) (not (= 0 |main_#t~ret15.base|)) (= 0 |main_~#s~0.offset|) (= 1 (select |#valid| |main_#t~ret15.base|)) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1) (not (= |main_~#s~0.base| |main_#t~ret15.base|)))} is VALID [2018-11-14 19:15:30,904 INFO L273 TraceCheckUtils]: 29: Hoare triple {1364#(and (<= (select (select |#memory_int| |main_#t~ret15.base|) 4) main_~data~0) (<= main_~data~0 1) (= |main_#t~ret15.offset| 0) (exists ((|node_create_#t~malloc2.base| Int)) (and (not (= |node_create_#t~malloc2.base| |main_#t~ret15.base|)) (not (= |node_create_#t~malloc2.base| |main_~#s~0.base|)) (= 1 (select |#valid| |node_create_#t~malloc2.base|)))) (<= main_~data~0 (select (select |#memory_int| |main_#t~ret15.base|) 4)) (not (= 0 |main_#t~ret15.base|)) (= 0 |main_~#s~0.offset|) (= 1 (select |#valid| |main_#t~ret15.base|)) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1) (not (= |main_~#s~0.base| |main_#t~ret15.base|)))} call write~$Pointer$(#t~ret15.base, #t~ret15.offset, ~#s~0.base, ~#s~0.offset, 4);havoc #t~ret15.base, #t~ret15.offset;~uneq~0 := 5;~mid_index~0 := (if ~len~0 < 0 && ~len~0 % 2 != 0 then ~len~0 / 2 + 1 else ~len~0 / 2); {1368#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (not (= |node_create_#t~malloc2.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= |node_create_#t~malloc2.base| |main_~#s~0.base|)) (= 1 (select |#valid| |node_create_#t~malloc2.base|)))) (= 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) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= 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|)) 4)) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} is VALID [2018-11-14 19:15:30,906 INFO L256 TraceCheckUtils]: 30: Hoare triple {1368#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (not (= |node_create_#t~malloc2.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= |node_create_#t~malloc2.base| |main_~#s~0.base|)) (= 1 (select |#valid| |node_create_#t~malloc2.base|)))) (= 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) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= 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|)) 4)) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} call sll_circular_insert(~#s~0.base, ~#s~0.offset, ~uneq~0, ~mid_index~0); {1258#(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-14 19:15:30,907 INFO L273 TraceCheckUtils]: 31: Hoare triple {1258#(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;~index := #in~index; {1375#(and (= |sll_circular_insert_#in~head.base| sll_circular_insert_~head.base) (= |#valid| |old(#valid)|) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 19:15:30,908 INFO L256 TraceCheckUtils]: 32: Hoare triple {1375#(and (= |sll_circular_insert_#in~head.base| sll_circular_insert_~head.base) (= |#valid| |old(#valid)|) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call #t~ret8.base, #t~ret8.offset := node_create(~data); {1258#(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-14 19:15:30,911 INFO L273 TraceCheckUtils]: 33: Hoare triple {1258#(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; {1260#(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-14 19:15:30,912 INFO L273 TraceCheckUtils]: 34: Hoare triple {1260#(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); {1385#(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)|) (not (= 0 node_create_~temp~0.base)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2018-11-14 19:15:30,913 INFO L273 TraceCheckUtils]: 35: Hoare triple {1385#(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)|) (not (= 0 node_create_~temp~0.base)) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} call write~$Pointer$(0, 0, ~temp~0.base, ~temp~0.offset + 0, 4);call write~int(~data, ~temp~0.base, ~temp~0.offset + 4, 4);#res.base, #res.offset := ~temp~0.base, ~temp~0.offset; {1389#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) 4 node_create_~data)))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) 0 0))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) 0 0))) (not (= 0 |node_create_#res.base|)))} is VALID [2018-11-14 19:15:30,914 INFO L273 TraceCheckUtils]: 36: Hoare triple {1389#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) 4 node_create_~data)))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) 0 0))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) 0 0))) (not (= 0 |node_create_#res.base|)))} assume true; {1389#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) 4 node_create_~data)))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) 0 0))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) 0 0))) (not (= 0 |node_create_#res.base|)))} is VALID [2018-11-14 19:15:30,925 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {1389#(and (= 0 (select |old(#valid)| |node_create_#res.base|)) (exists ((node_create_~data Int)) (= |#memory_int| (store |old(#memory_int)| |node_create_#res.base| (store (select |old(#memory_int)| |node_create_#res.base|) 4 node_create_~data)))) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.base)| |node_create_#res.base|) 0 0))) (= |#memory_$Pointer$.offset| (store |old(#memory_$Pointer$.offset)| |node_create_#res.base| (store (select |old(#memory_$Pointer$.offset)| |node_create_#res.base|) 0 0))) (not (= 0 |node_create_#res.base|)))} {1375#(and (= |sll_circular_insert_#in~head.base| sll_circular_insert_~head.base) (= |#valid| |old(#valid)|) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #155#return; {1396#(and (exists ((node_create_~data Int)) (= (store |old(#memory_int)| |sll_circular_insert_#t~ret8.base| (store (select |old(#memory_int)| |sll_circular_insert_#t~ret8.base|) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| |sll_circular_insert_#t~ret8.base| (store (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#t~ret8.base|) 0 0)) |#memory_$Pointer$.offset|) (= |sll_circular_insert_#in~head.base| sll_circular_insert_~head.base) (not (= 0 |sll_circular_insert_#t~ret8.base|)) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= (select |old(#valid)| |sll_circular_insert_#t~ret8.base|) 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |sll_circular_insert_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#t~ret8.base|) 0 0))))} is VALID [2018-11-14 19:15:30,929 INFO L273 TraceCheckUtils]: 38: Hoare triple {1396#(and (exists ((node_create_~data Int)) (= (store |old(#memory_int)| |sll_circular_insert_#t~ret8.base| (store (select |old(#memory_int)| |sll_circular_insert_#t~ret8.base|) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| |sll_circular_insert_#t~ret8.base| (store (select |old(#memory_$Pointer$.offset)| |sll_circular_insert_#t~ret8.base|) 0 0)) |#memory_$Pointer$.offset|) (= |sll_circular_insert_#in~head.base| sll_circular_insert_~head.base) (not (= 0 |sll_circular_insert_#t~ret8.base|)) (= sll_circular_insert_~head.offset |sll_circular_insert_#in~head.offset|) (= (select |old(#valid)| |sll_circular_insert_#t~ret8.base|) 0) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| |sll_circular_insert_#t~ret8.base| (store (select |old(#memory_$Pointer$.base)| |sll_circular_insert_#t~ret8.base|) 0 0))))} ~new_node~0.base, ~new_node~0.offset := #t~ret8.base, #t~ret8.offset;havoc #t~ret8.base, #t~ret8.offset;~snd_to_last~0.base, ~snd_to_last~0.offset := 0, 0;call #t~mem9.base, #t~mem9.offset := read~$Pointer$(~head.base, ~head.offset, 4);~last~1.base, ~last~1.offset := #t~mem9.base, #t~mem9.offset;havoc #t~mem9.base, #t~mem9.offset; {1400#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} is VALID [2018-11-14 19:15:30,938 INFO L273 TraceCheckUtils]: 39: Hoare triple {1400#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} assume true; {1400#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} is VALID [2018-11-14 19:15:30,952 INFO L273 TraceCheckUtils]: 40: Hoare triple {1400#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (= sll_circular_insert_~last~1.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~last~1.base) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} assume !!(~index > 0);~snd_to_last~0.base, ~snd_to_last~0.offset := ~last~1.base, ~last~1.offset;call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~last~1.base, ~last~1.offset + 0, 4);~last~1.base, ~last~1.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;#t~post11 := ~index;~index := #t~post11 - 1;havoc #t~post11; {1407#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= sll_circular_insert_~snd_to_last~0.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= sll_circular_insert_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} is VALID [2018-11-14 19:15:30,953 INFO L273 TraceCheckUtils]: 41: Hoare triple {1407#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= sll_circular_insert_~snd_to_last~0.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= sll_circular_insert_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} assume true; {1407#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= sll_circular_insert_~snd_to_last~0.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= sll_circular_insert_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} is VALID [2018-11-14 19:15:30,956 INFO L273 TraceCheckUtils]: 42: Hoare triple {1407#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= sll_circular_insert_~snd_to_last~0.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= sll_circular_insert_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} assume !(~index > 0); {1407#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= sll_circular_insert_~snd_to_last~0.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= sll_circular_insert_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} is VALID [2018-11-14 19:15:32,968 INFO L273 TraceCheckUtils]: 43: Hoare triple {1407#(and (not (= 0 sll_circular_insert_~new_node~0.base)) (exists ((node_create_~data Int)) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|)) (= (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |#memory_$Pointer$.offset|) (= sll_circular_insert_~snd_to_last~0.offset (select (select |#memory_$Pointer$.offset| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= sll_circular_insert_~snd_to_last~0.base (select (select |#memory_$Pointer$.base| |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (= |#memory_$Pointer$.base| (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0))} assume ~snd_to_last~0.base != 0 || ~snd_to_last~0.offset != 0;call write~$Pointer$(~new_node~0.base, ~new_node~0.offset, ~snd_to_last~0.base, ~snd_to_last~0.offset + 0, 4);call write~$Pointer$(~last~1.base, ~last~1.offset, ~new_node~0.base, ~new_node~0.offset + 0, 4); {1417#(or (exists ((v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (= (select |old(#valid)| v_prenex_1) 0) (not (= 0 v_prenex_1)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1) v_prenex_5 v_prenex_3))) (= (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1) v_prenex_5 v_prenex_2)) |#memory_$Pointer$.offset|) (= |#memory_int| (store |old(#memory_int)| v_prenex_1 (store (select |old(#memory_int)| v_prenex_1) 4 v_prenex_4))))) (exists ((node_create_~data Int) (sll_circular_insert_~new_node~0.base Int) (sll_circular_insert_~last~1.offset Int) (sll_circular_insert_~last~1.base Int) (sll_circular_insert_~new_node~0.offset Int)) (and (not (= 0 sll_circular_insert_~new_node~0.base)) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base))) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0) (not (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) 0)))))} is UNKNOWN [2018-11-14 19:15:32,973 INFO L273 TraceCheckUtils]: 44: Hoare triple {1417#(or (exists ((v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (= (select |old(#valid)| v_prenex_1) 0) (not (= 0 v_prenex_1)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1) v_prenex_5 v_prenex_3))) (= (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1) v_prenex_5 v_prenex_2)) |#memory_$Pointer$.offset|) (= |#memory_int| (store |old(#memory_int)| v_prenex_1 (store (select |old(#memory_int)| v_prenex_1) 4 v_prenex_4))))) (exists ((node_create_~data Int) (sll_circular_insert_~new_node~0.base Int) (sll_circular_insert_~last~1.offset Int) (sll_circular_insert_~last~1.base Int) (sll_circular_insert_~new_node~0.offset Int)) (and (not (= 0 sll_circular_insert_~new_node~0.base)) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base))) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0) (not (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) 0)))))} assume true; {1417#(or (exists ((v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (= (select |old(#valid)| v_prenex_1) 0) (not (= 0 v_prenex_1)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1) v_prenex_5 v_prenex_3))) (= (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1) v_prenex_5 v_prenex_2)) |#memory_$Pointer$.offset|) (= |#memory_int| (store |old(#memory_int)| v_prenex_1 (store (select |old(#memory_int)| v_prenex_1) 4 v_prenex_4))))) (exists ((node_create_~data Int) (sll_circular_insert_~new_node~0.base Int) (sll_circular_insert_~last~1.offset Int) (sll_circular_insert_~last~1.base Int) (sll_circular_insert_~new_node~0.offset Int)) (and (not (= 0 sll_circular_insert_~new_node~0.base)) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base))) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0) (not (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) 0)))))} is VALID [2018-11-14 19:15:32,979 INFO L268 TraceCheckUtils]: 45: Hoare quadruple {1417#(or (exists ((v_prenex_4 Int) (v_prenex_5 Int) (v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (= (select |old(#valid)| v_prenex_1) 0) (not (= 0 v_prenex_1)) (not (= 0 (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|))) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_1)) v_prenex_1) v_prenex_5 v_prenex_3))) (= (store (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1 (store (select (store (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| v_prenex_1 (store (select |old(#memory_$Pointer$.base)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| v_prenex_1 (store (select |old(#memory_$Pointer$.offset)| v_prenex_1) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) v_prenex_5)) v_prenex_1) v_prenex_5 v_prenex_2)) |#memory_$Pointer$.offset|) (= |#memory_int| (store |old(#memory_int)| v_prenex_1 (store (select |old(#memory_int)| v_prenex_1) 4 v_prenex_4))))) (exists ((node_create_~data Int) (sll_circular_insert_~new_node~0.base Int) (sll_circular_insert_~last~1.offset Int) (sll_circular_insert_~last~1.base Int) (sll_circular_insert_~new_node~0.offset Int)) (and (not (= 0 sll_circular_insert_~new_node~0.base)) (= |#memory_$Pointer$.base| (store (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.base)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.base))) (= (store |old(#memory_int)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_int)| sll_circular_insert_~new_node~0.base) 4 node_create_~data)) |#memory_int|) (= |#memory_$Pointer$.offset| (store (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base (store (select (store (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) (store (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|)) (select (select (store |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.offset)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) sll_circular_insert_~new_node~0.offset)) sll_circular_insert_~new_node~0.base) sll_circular_insert_~new_node~0.offset sll_circular_insert_~last~1.offset))) (= (select |old(#valid)| sll_circular_insert_~new_node~0.base) 0) (not (= (select (select (store |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base (store (select |old(#memory_$Pointer$.base)| sll_circular_insert_~new_node~0.base) 0 0)) |sll_circular_insert_#in~head.base|) |sll_circular_insert_#in~head.offset|) 0)))))} {1368#(and (exists ((|node_create_#t~malloc2.base| Int)) (and (not (= |node_create_#t~malloc2.base| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|))) (not (= |node_create_#t~malloc2.base| |main_~#s~0.base|)) (= 1 (select |#valid| |node_create_#t~malloc2.base|)))) (= 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) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) |main_~#s~0.base|)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= 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|)) 4)) (<= 1 main_~data~0) (= (select |#valid| |main_~#s~0.base|) 1))} #161#return; {1424#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (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)) (not (= (select (select |#memory_$Pointer$.base| (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)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (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) 0) (= 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|)) 4)) (<= 1 main_~data~0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (not (= (select (select |#memory_$Pointer$.base| (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)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= 0 (select (select |#memory_$Pointer$.offset| (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|))) (not (= (select (select |#memory_$Pointer$.base| (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|)) (select (select |#memory_$Pointer$.base| |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|)) 4)) (<= 1 main_~data~0) (not (= (select (select |#memory_$Pointer$.base| (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|)) |main_~#s~0.base|))))} is VALID [2018-11-14 19:15:32,981 INFO L273 TraceCheckUtils]: 46: Hoare triple {1424#(or (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| (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)) (not (= (select (select |#memory_$Pointer$.base| (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)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| (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) 0) (= 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|)) 4)) (<= 1 main_~data~0)) (and (= (select (select |#memory_$Pointer$.offset| |main_~#s~0.base|) |main_~#s~0.offset|) 0) (not (= (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|) 0)) (not (= (select (select |#memory_$Pointer$.base| (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)) (<= (select (select |#memory_int| (select (select |#memory_$Pointer$.base| |main_~#s~0.base|) |main_~#s~0.offset|)) 4) main_~data~0) (<= main_~data~0 1) (= 0 (select (select |#memory_$Pointer$.offset| (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|))) (not (= (select (select |#memory_$Pointer$.base| (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|)) (select (select |#memory_$Pointer$.base| |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|)) 4)) (<= 1 main_~data~0) (not (= (select (select |#memory_$Pointer$.base| (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|)) |main_~#s~0.base|))))} call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~#s~0.base, ~#s~0.offset, 4);~ptr~0.base, ~ptr~0.offset := #t~mem16.base, #t~mem16.offset;havoc #t~mem16.base, #t~mem16.offset;~count~0 := 0; {1428#(and (= main_~ptr~0.offset 0) (<= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 4)) (<= main_~data~0 1) (<= (select (select |#memory_int| main_~ptr~0.base) 4) main_~data~0) (<= 1 main_~data~0) (not (= 0 main_~ptr~0.base)))} is VALID [2018-11-14 19:15:32,983 INFO L273 TraceCheckUtils]: 47: Hoare triple {1428#(and (= main_~ptr~0.offset 0) (<= main_~data~0 (select (select |#memory_int| main_~ptr~0.base) 4)) (<= main_~data~0 1) (<= (select (select |#memory_int| main_~ptr~0.base) 4) main_~data~0) (<= 1 main_~data~0) (not (= 0 main_~ptr~0.base)))} assume true;call #t~mem18 := read~int(~ptr~0.base, ~ptr~0.offset + 4, 4); {1268#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem18|))} is VALID [2018-11-14 19:15:32,984 INFO L273 TraceCheckUtils]: 48: Hoare triple {1268#(and (= 1 main_~data~0) (= main_~data~0 |main_#t~mem18|))} assume ~data~0 != #t~mem18;havoc #t~mem18; {1244#false} is VALID [2018-11-14 19:15:32,984 INFO L273 TraceCheckUtils]: 49: Hoare triple {1244#false} assume !false; {1244#false} is VALID [2018-11-14 19:15:33,009 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 11 refuted. 1 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-14 19:15:33,047 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 19:15:33,047 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 27] total 45 [2018-11-14 19:15:33,048 INFO L78 Accepts]: Start accepts. Automaton has 45 states. Word has length 50 [2018-11-14 19:15:33,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 19:15:33,049 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 45 states. [2018-11-14 19:15:37,335 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 86 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2018-11-14 19:15:37,336 INFO L459 AbstractCegarLoop]: Interpolant automaton has 45 states [2018-11-14 19:15:37,336 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2018-11-14 19:15:37,338 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=144, Invalid=1811, Unknown=25, NotChecked=0, Total=1980 [2018-11-14 19:15:37,338 INFO L87 Difference]: Start difference. First operand 52 states and 62 transitions. Second operand 45 states. [2018-11-14 19:15:55,631 WARN L179 SmtUtils]: Spent 1.63 s on a formula simplification. DAG size of input: 50 DAG size of output: 46